刘遄老师用了近一年的时间把最常用的Linux命令进行汇总、归纳、整理、分类后,把这些常用的命令合理安排到了后续章节中,然后采用以练代学的方式来加深读者的理解和掌握。从数年的培训成果反馈来看,这种方式相当有效,因此也相信这种方式肯定适合您的学习。
1.echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
例如,把指定字符串“Linuxprobe.com”输出到终端屏幕的命令为:
该命令会在终端屏幕上显示如下信息:
- Linuxprobe.Com
下面,我们使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上:
- [root@linuxprobe ~]# echo $SHELL
- /bin/bash
2.date命令
date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
只需在强大的date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2017-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。date命令中常见的参数格式及作用如表2-4所示。
表2-4 date命令中的参数以及作用
按照默认格式查看当前系统时间的date命令如下所示:
- [root@linuxprobe ~]# date
- Mon Aug 24 16:11:23 CST 2017
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
- [root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
- 2017-08-24 16:29:12
将系统的当前时间设置为2017年9月1日8点30分的date命令如下所示:
再次使用date命令并按照默认的格式查看当前的系统时间,如下所示:
- [root@linuxprobe ~]# date
- Fri Sep 1 08:30:01 CST 2017
date命令中的参数%j可用来查看今天是当年中的第几天。这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。该参数的使用方式以及显示结果如下所示。
- 244
3.reboot命令
reboot命令用于重启系统,其格式为reboot。
由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:
- [root@linuxprobe ~]# reboot
4.poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
- [root@linuxprobe ~]# poweroff
5.wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
如果您没有Linux系统的管理经验,当前只需了解一下wget命令的参数以及作用,然后看一下下面的演示实验即可,切记不要急于求成。后面章节将逐步讲解Linux系统的配置管理方法,可以等您掌握了网卡的配置方法后再来进行这个实验操作。表2-5所示为wget命令的参数以及参数的作用。
表2-5 wget命令的参数以及作用
尝试使用wget命令从本书的配套站点中下载本书的最新pdf格式电子文档,这个文件的完整路径为,执行该命令后的下载效果如下:
接下来,我们使用wget命令递归下载www.linuxprobe.com网站内的所有页面数据以及文件,下载完后会自动保存到当前路径下一个名为www.linuxprobe.com的目录中。执行该操作的命令为wget -r -p ,该命令的执行结果如下。
- [root@linuxprobe ~]# wget -r -p https://www.linuxprobe.com
- --2017-08-24 19:31:41-- https://www.linuxprobe.com/
- Resolving www.linuxprobe.com... 106.185.25.197
- Connecting to www.linuxprobe.com|106.185.25.197|:80... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: unspecified [text/html]
- ………………省略下载过程………………
6.ps命令
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
估计读者在第一次执行这个命令时都要惊呆一下—怎么会有这么多输出值,这可怎么看得过来?其实,刘遄老师通常会将ps命令与第3章的管道符技术搭配使用,用来抓取与某个指定服务进程相对应的PID号码。ps命令的常见参数以及作用如表2-6所示。
表2-6 ps命令的参数以及作用
Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。
当执行ps aux命令后通常会看到如表2-7所示的进程状态,表2-7中只是列举了部分输出值,而且正常的输出值中不包括中文注释。
表2-7 进程状态
7.top命令
top命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。top命令的运行界面如图2-6所示。
图2-6 top命令的运行界面
在图2-6中,top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下。
8.pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。例如,可以使用如下命令来查询本机上sshd服务程序的PID:
- [root@linuxprobe ~]# pidof sshd
- 2156
9.kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
接下来,我们使用kill命令把上面用pidof命令查询到的PID所代表的进程终止掉,其命令如下所示。这种操作的效果等同于强制停止sshd服务。
- [root@linuxprobe ~]# kill 2156
10.killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用killall命令来批量结束某个服务程序带有的全部进程。下面以httpd服务程序为例,来结束其全部进程。由于RHEL7系统默认没有安装httpd服务程序,因此大家此时只需看操作过程和输出结果即可,等学习了相关内容之后再来实践。
- [root@linuxprobe ~]# pidof httpd
- 13581 13580 13579 13578 13577 13576
- [root@linuxprobe ~]# killall httpd
- [root@linuxprobe ~]# pidof httpd
- [root@linuxprobe ~]#
如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。
很多同学在报名刘遄老师培训课程时会提到自己的英语基础不好,其实大可不必担心,因为咱们的书籍、培训课程甚至红帽考题都是中文的。而接下来您也就会发现,原来一直使用的是Linux命令,而绝不是纯粹的英语单词,即便它们的拼写100%相同,最终用处肯定也是不一样的。因此在学习Linux系统技术的这件事上,您跟英语达人绝对都是站在同一起跑线上的,更何况还正确的选择了一本适合您的Linux教材,放心开始学习吧!