Aaron Kili 发布的文章

在本篇中,我们会向你解释 shutdownpoweroffhalt 以及 reboot 命令。我们会解释清楚当你用那些可用的选项执行的时候它们实际做了什么。

如果你想深入 Linux 服务器管理,那么为了有效和可靠的服务器管理,这些重要的 Linux 命令你需要完全理解。

通常上,当你想要关闭或者重启你的机器时,你会运行下面之一的命令:

shutdown 命令

shutdown 会给系统计划一个时间关机。它可以被用于停止、关机、重启机器。

你可以指定一个时间字符串(通常是 now 或者用 hh:mm 指定小时/分钟)作为第一个参数。额外地,你也可以设置一个广播信息在系统关闭前发送给所有已登录的用户。

重要:如果使用了时间参数,系统关机前 5 分钟,会创建 /run/nologin 文件。以确保没有人可以再登录。

shutdown 命令示例:

# shutdown
# shutdown now
# shutdown 13:20  
# shutdown -p now  ### 关闭机器
# shutdown -H now  ### 停止机器      
# shutdown -r09:35 ### 在 09:35am 重启机器

要取消即将进行的关机,只要输入下面的命令:

# shutdown -c

halt 命令

halt 通知硬件来停止所有的 CPU 功能,但是仍然保持通电。你可以用它使系统处于低层维护状态。

注意在有些情况会它会完全关闭系统。下面是 halt 命令示例:

# halt             ### 停止机器
# halt -p          ### 关闭机器
# halt --reboot    ### 重启机器

poweroff 命令

poweroff 会发送一个 ACPI 信号来通知系统关机。

下面是 poweroff 命令示例:

# poweroff           ### 关闭机器
# poweroff --halt    ### 停止机器
# poweroff --reboot  ### 重启机器

reboot 命令

reboot 通知系统重启。

# reboot           ### 重启机器
# reboot --halt    ### 停止机器
# reboot -p        ### 关闭机器

就是这样了!如先前提到的,理解这些命令能够有效并可靠地在多用户环境下管理 Linux 服务器。你有一些额外的想法么?在评论区留言与我们分享。


作者简介:

Aaron Kili是一名 Linux 和 F.O.S.S 的爱好者,未来的 Linux 系统管理员、网站开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并乐于分享知识。


via: https://www.tecmint.com/shutdown-poweroff-halt-and-reboot-commands-in-linux/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

MyCLI 是一个易于使用的命令行客户端,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全连接到 MySQL 服务器。

MyCLI 的特性

  • 当你第一次使用它的时候,将会自动创建一个文件 ~/.myclirc
  • 当输入 SQL 的关键词和数据库中的表、视图和列时,支持自动补全。
  • 默认情况下也支持智能补全,能根据上下文的相关性提供补全建议。

比如:

SELECT * FROM <Tab> - 这将显示出数据库中的表名。
SELECT * FROM users WHERE <Tab> - 这将简单的显示出列名称。
  • 通过使用 Pygents 支持语法高亮
  • 支持 SSL 连接
  • 提供多行查询支持
  • 它可以将每一个查询和输出记录到一个文件中(默认情况下禁用)。
  • 允许保存收藏一个查询(使用 \fs 别名 保存一个查询,并可使用 \f 别名 运行它)。
  • 支持 SQL 语句执行和表查询计时
  • 以更吸引人的方式打印表格数据

如何在 Linux 上为 MySQL 和 MariaDB 安装 MyCLI

在 Debian/Ubuntu 发行版上,你可以很容易的像下面这样使用 apt 命令 来安装 MyCLI 包:

$ sudo apt-get update
$ sudo apt-get install mycli

同样,在 Fedora 22+ 上也有 MyCLI 的可用包,你可以像下面这样使用 dnf 命令 来安装它:

$ sudo dnf install mycli

对于其他 Linux 发行版,比如 RHEL/CentOS,你需要使用 Python 的 pip 工具来安装 MyCLI。首先,使用下面的命令来安装 pip:

$ sudo yum install pip  

安装好 pip 以后,你可以像下面这样安装 MyCLI:

$ sudo pip install mycli

在 Linux 中如何使用 MyCLI 连接 MySQL 和 MariaDB

安装好 MyCLI 以后,你可以像下面这样使用它:

$ mycli -u root -h localhost 

自动补全

对于关键词和 SQL 函数可以进行简单的自动补全:

MySQL Auto Completion

MySQL 自动补全

智能补全

当输入 FROM 关键词以后会进行表名称的补全:

MySQL Smart Completion

MySQL 智能补全

别名支持

当表的名称设置别名以后,也支持列名称的补全:

MySQL Alias Support

MySQL 别名支持

语法高亮

支持 MySQL 语法高亮:

MySQL Syntax Highlighting

MySQL 语法高亮

格式化 SQL 的输出

MySQL 的输出会通过 less 命令 进行格式化输出:

MySQL Formatted Output

MySQL 格式化输出

要登录 MySQL 并同时选择数据库,你可以使用和下面类似的命令:

$ mycli local_database
$ mycli -h localhost -u root app_db
$ mycli mysql://amjith@localhost:3306/django_poll

更多使用选项,请输入:

$ mycli --help

MyCLI 主页: http://mycli.net/index

记得阅读一些关于 MySQL 管理的有用文章:

  1. 在 Linux 中用于数据库管理的 20 个 MySQL(Mysqladmin)命令
  2. 如何在 Linux 中更改默认的 MySQL/MariaDB 数据目录
  3. 在 Linux 中监测 MySQL 性能的 4 个实用命令行工具
  4. 如何在 Linux 中更改 MySQL 或 MariaDB 的 Root 密码
  5. MySQL 备份和恢复数据库管理命令

MyCLI 作者写的两篇如何创建具有可发现性的交互式命令行客户端的文章:

  1. 4 个拥有绝佳命令行界面的终端程序
  2. 4 个用于构建优秀的命令行用户界面的 Python 库

这就是本文的全部内容了。在这篇指南中,我们展示了如何通过一些简单的命令在 Linux 中安装和使用 MyCLI。记得通过下面的反馈表向我们分享你关于这篇文章的想法。


作者简介:

Aaron Kili是一名 Linux 和 F.O.S.S 的爱好者,未来的 Linux 系统管理员、网站开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并乐于分享知识。


via: https://www.tecmint.com/mycli-mysql-client-with-auto-completion-syntax-highlighting/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在之前的一篇文章里,我们回顾了 Linux 下 9 个最好的文件比较工具,本篇文章中,我们将会描述在 Linux 下怎样找到两个目录之间的不同。

一般情况下,要在 Linux 下比较两个文件,我们会使用 diff (一个简单的源自 Unix 的命令行工具)来显示两个计算机文件的不同;它一行一行的去比较文件,而且很方便使用,在几乎全部的 Linux 发行版都预装了。

问题是在 Linux 下我们怎么才能比较两个目录?现在,我们想知道两个目录中哪些文件/子目录是共有的,哪些只存在一个于目录。

运行 diff 常规的语法如下:

$ diff [OPTION]… FILES
$ diff options dir1 dir2 

默认情况下,输出是按文件/子文件夹的文件名的字母排序的,如下面截图所示,在命令中, -q 开关是告诉 diif 只有在文件有差异时报告。

$ diff -q directory-1/ directory-2/

Difference Between Two Directories

两个文件夹之间的差异

再次运行 diff 并不能进入子文件夹,但是我们可以使用 -r 开关来读子文件夹,如下所示。

$ diff -qr directory-1/ directory-2/ 

使用 Meld 可视化比较和合并工具

meld 是一个很酷的图形化工具(一个 GNOME 桌面下的可视化的比较和合并工具),可供那些喜欢使用鼠标的人使用,可按如下来安装。

$ sudo apt install meld  [Debian/Ubuntu systems]
$ sudo yum install meld  [RHEL/CentOS systems]
$ sudo dnf install meld  [Fedora 22+]

一旦你安装了它之后,在 Ubuntu Dash 或者 Linux Mint 菜单搜索 “meld” ,或者 Fedora 或 CentOS 桌面的 Activities Overview,然后启动它。

你可以看到如下的 Meld 界面,可以选择文件或者文件夹来比较,此外还有版本控制视图。点击目录比较并移动到下个界面。 Meld Comparison Tool

Meld 比较工具

选择你想要比较的文件夹,注意你可以勾选 “3-way Comparison” 选项,添加第三个文件夹。

Select Comparison Directories

选择比较的文件夹

选择好要比较的文件夹后,点击 “Compare”。

Listing Difference Between +

文件夹不同列表

在这篇文章中,我们描述了怎么在 Linux 下找到两个文件夹的不同。如果你知道其他的命令或者图形界面工具,不要忘记在下方评论分享你们的想法。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者,即将成为 Linux 系统管理员,Web 开发者,目前是 TecMint 的内容创建者,他喜欢使用电脑工作,并且非常相信分享知识。


via: http://www.tecmint.com/compare-find-difference-between-two-directories-in-linux/

作者:Aaron Kili 译者:hkurj 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

有时候,通过命令来在 Linux 文件系统导航是一件非常痛苦的事情,特别是对于一些新手。通常情况下,我们主要使用 cd(改变目录)命令在 Linux 文件系统之间移动。

在之前的文章中,我们回顾了一个非常简单但很有用的 Linux 上的 CLI 工具,文章叫做 bd:快速返回某级父目录而不用冗余地输入 “cd ../../..”

在这个教程中,我们将讨论两个相关的命令:pushdpopd ,使用它们可以高效的浏览 Linux 目录结构。这两个命令在大多数 shell ,比如 bash、tcsh 中都存在。

推荐阅读:Autojump:快速浏览 Linux 文件系统的一个高级 cd 命令

pushd 和 popd 命令在 Linux 系统中如何工作

pushdpopd 命令根据 ‘LIFO’(后进先出)原则工作。在这个原则之下,只有两个操作是允许的:把一个目录压入栈,以及把一个目录弹出栈。

pushd 命令会增加一个目录到栈顶,而 popd 命令会从栈顶移除一个目录。

为了显示目录栈中(或历史)的目录,我们可以使用下面展示的 dirs 命令:

$ dirs
或
$ dirs -v

Dirs - Display Directories in Directory

dirs - 显示位于目录栈中的目录

pushd 命令:将一个目录路径添加到/放入目录栈(历史)中,之后,你可以浏览位于目录栈(历史)中的任意目录。当把一个新的目录入栈时,会打印出当前位于栈中的所有目录。

下面这些命令会展示这个命令是如何工作的:

$ pushd  /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/

pushd - Add Directories to Stack

pushd - 添加新目录入栈

根据上面输出的目录栈可知(目录索引按倒序排列):

  • /var/log 是目录栈中的第五个目录,索引为 0
  • ~/Desktop/ 是第四个,索引为 1
  • ~/Document/ 是第三个,索引为 2
  • /var/www/html 是第二个,索引为 3
  • ~ 是第一个,索引为 4

另外,我们也可以使用目录索引的形式 pushd +#pushd -# 来添加目录入栈。为了进入目录 ~/Documents ,我们可以输入:

$ pushd +2

pushd - Directory Navigation with Number

pushd -通过数字浏览目录

注意,经过上一步操作以后,栈的内容便发生了改变。所以,要从上面的例子中进入目录 /var/www/html ,我们应该使用下面的命令:

$ pushd +1

pushd - Navigate Directory with Number

pushd -通过数字浏览目录

popd 命令-从栈顶或历史中移除一个目录。为了列出目录栈中的所有目录,只需输入:

$ popd

为了从目录栈中移除一个目录,我们可以使用 popd +#popd -# 命令,在这时,我们需要输入下面的命令来移除目录 ~/Documents

$ popd +1

popd - Remove Directory from Stack

popd-从栈中以移除目录

在这篇文章中,我们阐述了 pushdpopd 命令,使用它们可以高效的访问目录结构。你可以通过下面的反馈表和我们分享你关于这篇文章的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: https://www.tecmint.com/pushd-and-popd-linux-filesystem-navigation/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

ttyload 是一个轻量级的实用程序,它为 Linux 和其他类 Unix 系统上提供随着时间变化的彩色平均负载。它实现了在终端中(“tty”)图形化跟踪系统的平均负载。

它已知可以在诸如 Linux、IRIX、Solaris、FreeBSD、MacOS X (Darwin) 和 Isilon OneFS 等系统上运行。它被设计为可以容易地移植到其他平台,但这也带来了一些艰苦的工作。

它的一些值得注意功能是:它使用标准的硬编码 ANSI 转义序列进行屏幕显示和着色。如果你想要在一个没有什么负载压力的系统中查看工作的情况,它甚至还自带了一个相对独立(默认不会安装,甚至不会构建)的负载炸弹。

建议阅读:GoTTY:把你的 Linux 终端放到浏览器里面

在本篇中,我们会向你展示如何在 Linux 安装及使用 ttyload,以在终端中用彩色图形查看系统的平均负载。

如何在 Linux 中安装 ttyload

在基于 Debian/Ubuntu 的发行版中,你可以输入下面的 apt 命令来从默认的系统仓库中安装 ttyload。

$ sudo apt-get install ttyload

在其他发行版中,你可以如下从 ttyload 的源码安装。

$ git clone https://github.com/lindes/ttyload.git
$ cd ttyload
$ make
$ ./ttyload
$ sudo make install

安装完成后,你可以输入下面的命令启动。

$ ttyload

ttyload - Graphical View of Linux Load Average

ttyload - 图形浏览 Linux 的平均负载

注意:要关闭程序,只需按下 Ctrl+C 键。

你也可以定义两次刷新之间间隔的秒数。默认是 4 秒,最小是 1 秒。

$ ttyload -i 5
$ ttyload -i 1

要以单色模式运行,即它会关闭 ANSI 转义,如下使用 -m

$ ttyload -m

ttyload - Monochrome Mode

ttyload – 单色模式

要获取 ttyload 的使用信息以及帮助,输入:

$ ttyload -h 

下面是一些尚不支持的重要功能:

  • 支持任意大小调整。
  • 使用相同的基本引擎制作 X 前端,“3xload”。
  • 面向日志的模式。

要获得更多信息,访问 ttyload 的主页:http://www.daveltd.com/src/util/ttyload/

就是这样了!在本文中,我们向你展示了如何在 Linux 中安装及使用 ttyload。通过下面的评论栏给我们回馈。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 的爱好者,即将推出的 Linux SysAdmin 网络开发人员,目前也是 TecMint 的内容创作者,他喜欢和电脑一起工作,并且坚信共享知识。


via: https://www.tecmint.com/ttyload-shows-color-coded-graph-of-linux-load-average/

作者:Aaron Kili 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在先前的文章中,我们解释了 Linux 中 shutdown、poweroff、halt、reboot 命令的不同之处,并揭示了在用不同的选项执行这些命令时它们实际做了什么。

本篇将会向你展示如何在系统关机时向所有的系统用户发送一条自定义的消息。

建议阅读:tuptime - 显示 Linux 系统的历史和统计运行时间

作为一名系统管理员,在你关闭服务器之前,你也许想要发送一条消息来警告他们系统将要关闭。默认上,shutdown 命令会如下所示给其他系统用户广播这条信息:

# shutdown 13:25

Linux 关机操作广播消息

Shutdown scheduled for Fri 2017-05-12 13:25:00 EAT, use 'shutdown -c' to cancel.
Broadcast message for root@tecmint (Fri 2017-05-12 13:23:34 EAT):
The system is going down for power-off at Fri 2017-05-12 13:25:00 EAT!

要在 shutdown 那行发送一条自定义的消息给其他系统用户,运行下面的命令。在本例中,关闭会在命令执行后的两分钟之后发生。

# shutdown 2 The system is going down for required maintenance. Please save any important work you are doing now!

Linux System Shutdown Message

Linux 系统关闭消息

假设你有一些关键的系统操作,如计划系统备份或更新会在系统关闭的时候进行,如下所示,你可以使用 -c 选项取消关机,并在执行玩这些操作后继续执行:

# shutdown -c

Linux 关机操作取消消息:

Shutdown scheduled for Fri 2017-05-12 14:10:22 EAT, use 'shutdown -c' to cancel.
Broadcast message for root@tecmint (Fri 2017-05-14 :10:27 EAT):
The system shutdown has been cancelled at Fri 2017-05-12 14:11:27 EAT!

另外,学习如何在 Linux 中使用简单和传统的方法在重启或者开机时自动执行命令/脚本

不要错过:

  1. 管理系统启动进程和服务(SysVinit、Systemd 和 Upstart)
  2. 11 个 Linux 中 cron 计划任务示例

现在你知道了如何在系统关闭前向其他系统用户发送自定义消息了。你有其他关于这个主题想要分享的想法么?何不使用下面的评论栏?


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,他喜欢和电脑一起工作,坚信共享知识。


via: https://www.tecmint.com/show-linux-server-shutdown-message/

作者:Aaron Kili 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出