想玩转Linux操作系统,熟悉各种操作命令是必不可少的环节,也是必须踏出去的一步。或许学习Linux命令的过程略显枯燥,但是要相信,成功的道路上势必会伴随着许多绊脚石,我们要做的就是一个接一个地迈过去。
1.shutdown
语法格式:
shutdown [选项] [时间/数字/now]
描述:常用于关机重启操作,并且在关机或重启的同时,已登录用户全都可以看到提示信息。需要由超级管理员root或具有管理员权限的用户来执行。
shutdown命令的常用选项见表5-1。
表5-1 shutdown命令的常用选项
案例
让Linux操作系统5分钟后关机,接着再取消5分钟后的关机操作。
2.reboot
语法格式:
reboot [选项]
描述:用来对正在运行的Linux操作系统执行重启操作。一般在企业中执行这条命令不用加任何选项。需要由超级管理员root或具有管理员权限的用户来执行。
reboot命令的常用选项见表5-2。
表5-2 reboot命令的常用选项
3.poweroff
语法格式:
poweroff [选项]
描述:关闭Linux操作系统,关闭记录会被写入/var/log/wtmp日志文件中。使用该命令后会立即关闭系统,不给一点反应时间,因此一般很少用这个命令来进行关机操作。需要由超级管理员root或具有管理员权限的用户来执行。
poweroff命令的常用选项见表5-3。
表5-3 poweroff命令的常用选项
4.logout
语法格式:
logout
描述:退出当前登录的Shell,等效于Windows中的注销命令。
5.exit
语法格式:
exit [状态值]
描述:以指定的状态退出当前Shell或在Shell脚本中终止当前脚本的执行。
6.uname
语法格式:
uname [选项]
描述:打印系统信息。
uname命令的常用选项见表5-4。
表5-4 uname命令的常用选项
案例
使用uname命令。
7.lscpu
语法格式:
lscpu [选项]
描述:显示有关CPU架构的信息。
lscpu命令的常用选项见表5-5。
表5-5 lscpu命令的常用选项
案例
使用lscpu命令。
8.free
语法格式:
free [选项]
描述:显示内存的使用情况。
free命令的常用选项见表5-6。
表5-6 free命令的常用选项
案例
使用free命令。
系统内存信息含义如下:
➢ Mem:内存使用情况;
➢ Swap:交换分区使用情况;
➢ Total:物理内存总大小;
➢ Used:已经使用的内存量;
➢ Free:空闲的内存量;
➢ Shared:多个进程共享的内存总量;
➢ buffers/cached:缓存的内存量;
➢ available:还可以被进程使用的物理内存量。
9.df
语法格式:
df [选项]
描述:显示磁盘空间的使用情况。
df命令的常用选项见表5-7。
表5-7 df命令的常用选项
案例
使用df命令。
10.date
语法格式:
date [选项] [输出形式|日期时间]
描述:用于显示或设置系统时间与日期。
date命令的常用选项见表5-8。
表5-8 date命令的常用选项
date命令用到的时间与日期格式符号见表5-9。
表5-9 时间与日期格式符号表
(续表)
案例
自定义格式输出时间。
显示历史时间。
11.top
语法格式:
top [选项] [PID|time|...]
描述:Linux操作系统性能分析工具,可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
top命令的常用选项见表5-10。
表5-10 top命令的常用选项
工具中常用的交互命令如下:
➢ q:退出程序;
➢ m:切换显示内存信息;
➢ c:切换显示命令名称和完整命令行;
➢ i:忽略闲置和僵尸进程,这是一个开关式命令;
➢ k:终止一个进程;
➢ M:根据驻留内存大小进行排序;
➢ P:根据CPU使用百分比大小进行排序;
➢ T:根据累计时间进行排序。
案例
使用top命令。
(1)第一行是系统运行时间和平均负载。
当前系统时间:23:40:18;系统运行时间:5分32秒;当前登录用户:3个用户;系统负载:0.58,0.58,0.25,这3个数分别是1分钟、5分钟、15分钟的负载情况(当结果大于5的时候表示系统在超负荷运转)。
(2)第二行是进程的相关信息。
总进程数:150;运行:1;休眠:267;停止:0;僵尸进程:0。
(3)第三行CPU状态相关信息。
CPU状态参数见表5-11。
表5-11 CPU状态参数
(续表)
(4)第四行是内存相关信息。
内存信息参数见表5-12。
表5-12 内存信息参数
(5)第五行是交换空间相关信息。
交换空间信息参数见表5-13。
表5-13 交换空间信息参数
(6)第六行是空格。
(7)第七行是各个进程的状态及相关信息。
进程状态信息参数见表5-14。
表5-14 进程状态信息参数
12.ps
语法格式:
ps [选项]
描述:显示当前时间点系统的进程状态。
ps命令的常用选项见表5-15。
表5-15 ps命令的常用选项
案例
显示此刻系统上所有进程的详细信息。
系统进程信息含义如下:
➢ USER:进程所属的用户;
➢ PID:PID是进程的唯一标识符;
➢ %CPU:进程所占用的CPU资源百分比;
➢ %MEM:进程所占用的内存百分比;
➢ VSZ:进程所使用的虚拟内存量(KB);
➢ RSS:进程所使用的固定内存量(KB);
➢ TTY:进程在哪个终端上运行,若与终端无关,则显示“?”;
➢ STAT:进程目前的状态;
➢ START:进程启动的时间;
➢ TIME:进程实际使用CPU的时间;
➢ COMMAND:进程具体的工作指令。
在STAT列中,进程的状态主要有以下几种:
➢ R:运行状态,程序目前正在运作;
➢ S:睡眠状态,可被唤醒;
➢ T:停止状态,已停止工作;
➢ Z:僵尸状态。
13.netstat
语法格式:
netstat [选项]
描述:用来打印网络系统的状态信息。
netstat命令的常用选项见表5-16。
表5-16 netstat命令的常用选项
案例
显示出所有监听的TCP端口相关信息。
TCP端口参数含义如下:
➢ Proto:网络连接的协议,一般就是TCP协议或UDP协议;
➢ Recv-Q:接收到的数据,已经在本地的缓存中,但是还没有被进程取走;
➢ Send-Q:从本机发送,对方还没有收到的数据,依然在本地的缓存中,不具备ACK标志的数据包;
➢ Local Address:本机的IP地址和端口号;
➢ ForeignAddress:远程主机的IP地址和端口号;
➢ State:链路状态。
在State列中,链路状态主要有以下几种:
➢ LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听;
➢ ESTABLISHED:已经建立连接的状态;
➢ SYN_SENT:SYN发起包,就是主动发起连接的数据包;
➢ SYN_RECV:接收到主动连接的数据包;
➢ FIN_WAIT1:正在中断的连接;
➢ FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认;
➢ TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束;
➢ CLOSED:关闭的连接。
14.alias
语法格式:
alias别名='命令'
注
等号两边没有空格。
描述:用于给命令定义别名。若一个命令太长,可以使用alias对这段长命令设置别名,直接输入别名就能执行这段长命令。若直接执行alias命令,则会显示当前所有的别名。切记!设置的别名不要和当前系统中的命令重名。
案例
给date的长命令定义一个别名。
使用unalias命令取消自定义的别名。
15.ls
语法格式:
ls [选项] [参数]
描述:显示目录内容列表。ls是使用最频繁的命令,经常用它来查看目录下有什么文件或目录。若不加文件或目录,则默认显示当前路径。
ls命令的常用选项见表5-17。
表5-17 ls命令的常用选项
案例
显示目录下所有文件和目录的详细信息。
(1)第一列:文件类型与权限(共10个字符)。
第1个字符表示文件类型。-表示普通文件;d表示文件夹/目录;b表示块设备;c表示字符设备;l表示符号链接文件;p表示管道文件pipe;s表示套接字文件sock。
第2~4个字符表示文件拥有者的权限,具体见表5-18。第5~7个字符表示文件的所属组的权限。第8~10个字符表示文件除属主属组之外其他用户的权限。
表5-18 文件拥有者的权限
(2)第二列:硬链接数量。文件默认从1开始,目录默认从2开始,关于硬链接的内容请参见5.3节中的ln命令。
(3)第三列:文件属主。
(4)第四列:文件属组。
(5)第五列:文件大小,加上“-h”选项后以“K”“M”“G”等形式显示,分别表示KB、MB和GB。
(6)第六~八列:创建时间或最后一次修改时间。
(7)第九列:文件或目录名。
16.pwd
语法格式:
pwd [选项]
描述:以绝对路径的方式显示用户当前所在的工作目录。一般在用的时候直接执行此命令,不加选项。
pwd命令的常用选项见表5-19。
表5-19 pwd命令的常用选项
案例
显示当前所在目录。
17.wc
语法格式:
wc [选项] [参数]
描述:统计指定文件中的行数、字数、字节数,并将统计结果显示输出。
wc命令的常用选项见表5-20。
表5-20 wc命令的常用选项
案例
统计/etc/passwd文件的行数、单词数和字节数。
18.whoami和who am i
描述:打印当前有效的用户ID对应的名称。
whoami命令:
who am i命令:
19.who和w
描述:显示当前所有登录用户的信息。
who命令:
w命令:
其中各列含义如下:
➢ USER:登录用户;
➢ TTY:终端;
➢ FROM:远程登录主机;
➢ LOGIN@:登录时间;
➢ IDLE:用户空闲时间;
➢ JCPU:在此终端的所有进程占用时间;
➢ PCPU:当前进程占用时间;
➢ WHAT:当前正在执行的命令。