购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 Linux系统的常用命令

Linux系统的命令格式为:

其中,命令名称、命令参数、命令对象之间用空格分隔。命令对象通常是要处理的文件、目录、用户等资源。命令参数分为长格式(完整的选项名称)和短格式(单个字母的缩写)。例如,长格式“man --help”和短格式“man -h”。

Linux系统的命令有很多,但常用的命令比较少。根据本书后续的内容,本节将Linux系统中的常用命令分为四类:系统命令、文本文件编辑命令、工作目录命令、打包压缩与搜索命令,并分别介绍每类的常用命令。

1.4.1 系统命令

系统命令主要包括进程控制命令和系统配置命令等。

1.echo命令

通过echo命令可以在终端输出字符串或变量的值,其格式为:

例如,把字符串“I love China”输出到终端的命令为:

执行上面的命令后,会在终端屏幕上显示:

echo命令还可以使用“$”提取变量的值,并将其显示在终端屏幕上。例如,提取SHELL变量的值,命令如下:

2.ps命令

ps命令用于查看系统中的进程状态,其格式为:

ps命令的常用参数及其作用如表1.3所示。

表1.3 ps命令的常用参数及其作用

使用ps命令可以得到如下结果:

其中sshd进程的PID编号为21567。

3.kill命令

kill命令用于终止指定PID的服务进程,其格式为:

接下来我们使用kill命令来终止sshd进程(PID编号为21567),命令如下:

4.ifconfig命令

ifconfig命令用于获取网卡配置与网络状态等信息,其格式为:

例如,通过命令:

可以得到虚拟机的网卡设备是ens33,IP地址是192.168.12.131,具体信息如下:

5.apt命令和apt-get命令

apt命令和apt-get命令是一个功能强大的命令行工具,这两个命令的用法类似,它们不仅可以更新软件包列表索引、执行安装新软件包、升级现有软件包,还可以升级整个Ubuntu系统。apt命令的格式为:

最常用的命令是update(更新)和install(安装)。

apt与apt-get的用法类似。apt是新的命令,是随着Ubuntu 16.04一起发布的,不支持某些操作;apt-get是老命令,可以支持更多的操作。常用apt命令和apt-get命令的对应关系及功能如表1.4所示。

表1.4 常用apt命令和apt-get命令的对应关系及功能

6.shutdown命令

shutdown命令用于关机,并且可以在关机之前向所有的使用者发送信息。另外,该命令也可以用来重新开机。该命令的使用权限是系统管理者,其格式为:

该命令的参数说明如下:

● -t seconds:设定在几秒后关机。

● -k:并不会真的关机,只是将警告信息发送给所有的使用者。

● -r:关机后重新开机。

● -h:关机后不重新开机。

● -n:不采用正常的流程来关机,用强制的方式终止所有正在执行的程序后自动关机。

● -c:取消目前正在进行的关机动作。

● message:向所有使用者发送的信息。

例如,通过下面的命令可以立即关机:

通过下面的命令可以在10 min后关机:

通过下面的命令可以重新开机:

7.reboot命令

reboot命令用于重新开机,其格式为:

该命令的参数如下:

● -n:在重新开机前不会将存储器中的内容保存到硬盘中。

● -w:并非真的重新开机,只是把存储器中的内容保存到“/var/log/wtmp”中。

● -d:不会把存储器中的内容保存到“/var/log/wtmp”中(参数-n的功能可包含参数-d的功能)。

● -f:不使用shutdown命令来强制重新开机。

● -i:在重新开机之前先停止所有与网络相关的设备。

1.4.2 文本文件编辑命令

文本编辑器是非常重要的工具,无论修改简单的文本文件,还是修改某些系统配置文件,都会用到文本编辑器。在Linux系统中,用于文件显示及编辑的命令很多,本节仅介绍一些常用的显示和编辑命令。

1.cat命令

cat命令用于查看内容较少的纯文本文件,其格式为:

如果想要在查看的内容前面显示行号,则可以在命令后面添加参数-n,例如:

2.stat命令

stat命令用于查看文件的详细信息(如存储时间),其格式为:

例如,通过下面的命令:

可以显示文件的三种时间状态:Access、Modify和Change。

3.touch命令

touch命令用于创建空白文件或设置文件的时间,其格式为:

例如,通过下面的命令:

可以创建出一个名为JIT的空白文件。

4.wc命令

利用wc命令可以计算文件的字节数、字数或列数。若不指定文件名称,文件的名称为“-”,则该命令会从标准输入(stdin)读取数据。wc命令的格式为:

wc命令的参数及其作用如表1.5所示。

表1.5 wc命令的参数及其作用

例如,通过下面的命令:

可以查看testfile文件的内容,得到的结果为:

使用wc命令进行统计,其结果为:

其中,结果中的3个数字分别表示testfile文件的行数、单词和字节数。

1.4.3 工作目录命令

当前工作目录(Present Working Directory)是文件系统当前所在的目录。如果没有指定目录,则将文件系统当前所在的目录默认为当前工作目录。例如,在使用ls命令时,如果没有指定目录,则会显示出当前工作目录中的文件。

在Linux中,目录可以用绝对目录或相对目录来表示,相对目录就是指相对于当前工作目录的目录。

1.pwd命令

pwd命令用于显示用户所处的当前工作目录,其格式为:

2.cd命令

cd命令用于当前切换工作目录,其格式为:

例如,通过下面的命令可以从当前工作目录切换到“/etc”目录中:

可以使用“cd -”命令返回到上一次所处的目录,使用“cd ..”命令进入上级目录,使用“cd ~”命令切换到当前用户的home目录。

3.ls命令

ls命令用于显示目录中的文件信息,其格式为:

使用ls命令的参数-a可以显示全部文件(包括隐藏文件),使用参数-l参数可以显示文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令可显示当前工作目录中的所有文件,并输出这些文件的属性、大小等详细信息。例如:

4.mkdir命令

mkdir命令用于创建空目录,其格式为:

在Linux系统中,文件夹是最常见的文件类型之一。mkdir命令除了能创建单个空目录,还可以通过参数-p来递归创建出具有嵌套关系的文件目录。例如:

5.cp命令

cp命令用于复制文件或目录,其格式为:

cp命令的参数及其作用如表1.6所示。

表1.6 cp命令的参数及其作用

使用touch命令创建一个名为a.log的普通空白文件,然后在当前工作目录下将其复制为一个名为b.log的备份文件,最后使用ls命令查看目录中的文件。具体命令如下:

6.mv命令

mv命令用于剪切文件或将文件重命名,其格式为:

在进行剪切时,默认的情况是删除原文件,只保留剪切后的文件。在同一个目录中对一个文件进行剪切操作,可以看成对该文件进行重命名操作。例如:

7.rm命令

rm命令用于删除文件或目录,其格式为:

例如,通过下面的命令可以删除a.log文件:

在Linux系统中删除文件时,有时候会询问是否要执行删除操作。如果不想看到这种询问,则可在rm命令添加参数-f来强制删除文件。如果要删除一个目录,则需要在rm命令中添加参数-r,否则无法删除目录。

8.file命令

file命令用于查看文件的类型,其格式为:

在Linux系统中,由于文本、目录、设备等均当成文件来处理,仅仅依靠后缀名无法判断具体的文件类型,这时就需要使用file命令来查看文件类型。例如:

1.4.4 打包压缩与搜索命令

1.tar命令

tar命令用于对文件进行打包压缩或解压操作,其格式为:

在Linux系统中,压缩文件的格式比较多,常用的是.tar、.tar.gz或.tar.bz2格式。tar命令的参数及其作用如表1.7所示。

表1.7 tar命令的参数及其作用

例如,使用tar命令把“/home/dxxy/test1”目录打包压缩为gzip格式,并命名为test1.tar.gz:

将打包后的压缩包文件解压到指定的“/home/dxxy/test2”目录中:

2.grep命令

grep命令用于在文本中搜索关键词,并显示匹配的结果,其格式为:

grep命令的参数及其作用如表1.8所示。

表1.8 grep命令的参数及其作用

在Linux系统中,文件“/etc/passwd”保存着所有的用户信息,而一旦用户的登录终端被设置成“/sbin/nologin”,则不允许登录系统,因此可以使用grep命令来查找出当前系统中不允许登录系统的用户信息。例如:

3.find命令

find命令用于按照指定条件来查找文件,其格式为:

find命令可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等),一旦匹配成功则默认将信息显示在屏幕上。find命令的参数及其作用如表1.9所示。

表1.9 find命令的参数及其作用

续表

根据文件系统层次标准(Filesystem Hierarchy Standard,FHS),Linux系统中的配置文件会保存到目录“/etc”中。如果要获取该目录中所有以host开头的文件,可以执行如下命令:

1.4.5 命令在Linux系统中的执行

用户在执行一条命令时,Linux系统中到底发生了什么事情呢?简单来说,命令在Linux中的执行可分为以下4个步骤:

第1步:判断用户是不是以绝对目录或相对目录的方式输入命令的(如“/bin/ls”),如果是则直接执行输入的命令。

第2步:Linux系统检查用户输入的命令是不是“别名命令”,即用一个自定义的命令名称来替换原来的命令名称。

第3步:通过Bash解释器判断用户输入的命令是内部命令还是外部命令。内部命令是Bash解释器内部的命令,可以被直接执行。而用户输入的命令大部分是外部命令,这些命令继续由第4步进行处理。可以使用“type命令”来判断用户输入的命令是内部命令还是外部命令。

第4步:Linux系统在多个目录中查找用户输入的命令文件,而定义这些目录的变量称为PATH,可以简单地把它理解成“Bash解释器的小助手”,其作用是告诉Bash解释器待执行的命令可能存放的位置,然后由Bash解释器在这些位置中逐个查找命令。PATH是由多个目录组成的变量,每个目录之间用冒号间隔,对这些目录的增加和删除操作将影响Bash解释器对命令的查找。 vE9CvQO3l7AzdcQqOwPNwFO6C1Hz53P6Gjwz90y0gXBO3Dn5/7RVTR41CCfYaB/T

点击中间区域
呼出菜单
上一章
目录
下一章
×