第五章【Linux 常用命令之系统管理】
一、 系统管理
1、 查看当前日历:cal
cal命令用于查看当前日历,-y显示整年日历:
master@master-server:~/MasterData/HarmonyOSSharedDir$ cal
十一月 2021
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
master@master-server:~/MasterData/HarmonyOSSharedDir$
2、 显示或设置时间:date
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]] +format
CC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。
显示时间格式(date '+%y,%m,%d,%H,%M,%S'):
| format格式 |
含义 |
| %Y,%y |
年 |
| %m |
月 |
| %d |
日 |
| %H |
时 |
| %M |
分 |
| %S |
秒 |

3、 查看进程信息:ps
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
| 选项 |
含义 |
| -a |
显示终端上的所有进程,包括其他用户的进程 |
| -u |
显示进程的详细状态 |
| -x |
显示没有控制终端的进程 |
| -w |
显示加宽,以便显示更多的信息 |
| -r |
只显示正在运行的进程 |
[master2@master2-server ~]$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 183860 11468 ? Ss Nov09 1:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0.0 0.0 0 0 ? S Nov09 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< Nov09 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< Nov09 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< Nov09 0:00 [kworker/0:0H-events_highpri]
root 9 0.0 0.0 0 0 ? I< Nov09 0:00 [mm_percpu_wq]
root 10 0.0 0.0 0 0 ? S Nov09 0:56 [ksoftirqd/0]
root 11 0.0 0.0 0 0 ? R Nov09 0:12 [rcu_sched]
root 12 0.0 0.0 0 0 ? S Nov09 0:00 [migration/0]
root 13 0.0 0.0 0 0 ? S Nov09 0:00 [watchdog/0]
root 14 0.0 0.0 0 0 ? S Nov09 0:00 [cpuhp/0]
root 16 0.0 0.0 0 0 ? S Nov09 0:00 [kdevtmpfs]
root 17 0.0 0.0 0 0 ? I< Nov09 0:00 [netns]
root 18 0.0 0.0 0 0 ? S Nov09 0:00 [kauditd]
root 19 0.0 0.0 0 0 ? S Nov09 0:00 [khungtaskd]
root 20 0.0 0.0 0 0 ? S Nov09 0:00 [oom_reaper]
root 21 0.0 0.0 0 0 ? I< Nov09 0:00 [writeback]
root 22 0.0 0.0 0 0 ? S Nov09 0:00 [kcompactd0]
root 23 0.0 0.0 0 0 ? SN Nov09 0:00 [ksmd]
root 24 0.0 0.0 0 0 ? SN Nov09 0:05 [khugepaged]
4、 动态显示进程:top
top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d <interval>来指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
| 按键 |
含义 |
| M |
根据内存使用量来排序 |
| P |
根据CPU占有率来排序 |
| T |
根据进程运行时间的长短来排序 |
| U |
可以根据后面输入的用户名来筛选进程 |
| K |
可以根据后面输入的PID来杀死进程。 |
| q |
退出 |
| h |
获得帮助 |

5、 终止进程:kill
kill命令指定进程号的进程,需要配合 ps 使用。
使用格式:
kill [-signal] pid
信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
kill 9133 :9133 为应用程序所对应的进程号

有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束:

6、 后台程序:&、jobs、fg
- 用户可以将一个前台执行的程序调入后台执行,方法为:命令 &
- 如果程序已经在执行,ctrl+z可以将程序调入后台
- jobs查看后台运行程序
- fg编号(编号为通过jobs查看的编号),将后台运行程序调出到前台
7、 关机重启:reboot、shutdown、init
| 命令 |
含义 |
| reboot |
重新启动操作系统 |
| shutdown –r now |
重新启动操作系统,shutdown会给别的用户提示 |
| shutdown -h now |
立刻关机,其中now相当于时间为0的状态 |
| shutdown -h 20:25 |
系统在今天的20:25 会关机 |
| shutdown -h +10 |
系统再过十分钟后自动关机 |
| init 0 |
关机 |
| init 6 |
重启 |
8、 字符界面和图形界面切换
在redhat平台下,可通过命令进行切换:
| init 3 |
切换到字符界面 |
| init 5 |
切换到图形界面 |
通过快捷键切换(适用大部分平台):
| Ctrl + Alt + F2 |
切换到字符界面 |
| Ctrl + Alt + F7 |
切换到图形界面 |
9、 检测磁盘空间:df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
| 选项 |
含义 |
| -a |
显示所有文件系统的磁盘使用情况 |
| -m |
以1024字节为单位显示 |
| -t <fs> |
显示各指定文件系统的磁盘空间使用情况 |
| -T |
显示文件系统 |
[master2@master2-server ~]$ sudo df -m
[sudo] password for master2:
Filesystem 1M-blocks Used Available Use% Mounted on
devtmpfs 894 0 894 0% /dev
tmpfs 909 1 909 1% /dev/shm
tmpfs 909 1 909 1% /run
tmpfs 909 0 909 0% /sys/fs/cgroup
/dev/vda1 120887 3430 112445 3% /
tmpfs 182 0 182 0% /run/user/1000
[master2@master2-server ~]$
10、 检测目录所占磁盘空间:du
du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
du命令的使用格式如下:
du [选项] 目录或文件名
| 选项 |
含义 |
| -a |
递归显示指定目录中各文件和子目录中文件占用的数据块 |
| -s |
显示指定文件或目录占用的数据块 |
| -b |
以字节为单位显示磁盘占用情况 |
| -l |
计算所有文件大小,对硬链接文件计算多次 |
[master2@master2-server ~]$ sudo du -s /home/
172 /home/
[master2@master2-server ~]$ sudo du
4 ./bin
4 ./.config/procps
8 ./.config
4 ./InstallPackgeData
8 ./ProjectShellData
84 ./ProjectData
4 ./MasterData
168 .
[master2@master2-server ~]$
11、 格式化:mkfs
mkfs命令相当于DOS/Windows系统中的格式化命令,用于创建指定的文件系统。
使用格式如下:
mkfs [选项] 设备文件名 [blocks]
| 选项 |
含义 |
| -V |
详细显示模式 |
| -t <.fs> |
指定文件系统类型,默认值为 ext2 |
| -c |
在创建文件系统的同时,进行磁盘坏块检查 |
| blocks |
文件系统块的大小 |
12、 应用软件安装和卸载
在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat公司提出的,用于管理Linux下软件包的软件。它是一种软件打包发行并且实现自动安装的程序,需要用rpm程序安装的软件包,其后缀是.rpm,并可以对这种程序包进行安装、卸装和维护。
rpm命令的使用格式如下:
rpm [选项] [软件包名]
| 选项 |
含义 |
| -i |
指定安装的软件包 |
| -h |
使用“#”显示详细的安装过程及进度 |
| -v |
显示安装的详细信息 |
| -q |
查询系统是否已安装指定的软件包 |
| -a |
查看系统已安装的所有软件包 |
| -e |
卸载软件包 |
| --nodeps |
配合-e参数使用,强制卸载不检查依赖项 |
| --force |
强制操作 如强制安装删除等 |

如果是在ubuntu平台,软件的安装可以通过互联网在线安装,更加方便快捷:
| 命令 |
含义 |
| sudo apt-get update |
获得最新的软件包的列表 |
| sudo apt-get install xxx |
从源中安装xxx软件 |
| sudo apt-get remove xxx |
删除xxx软件 |

13、 查看或配置网卡信息:ifconfig
如果,我们只是敲:ifconfig,它会显示所有网卡的信息:
[master2@master2-server ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.15 netmask 255.255.240.0 broadcast 172.16.15.255
inet6 fe80::5054:ff:fe19:3938 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:19:39:38 txqueuelen 1000 (Ethernet)
RX packets 5052098 bytes 698770077 (666.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4660520 bytes 679516405 (648.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 922 bytes 113625 (110.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 922 bytes 113625 (110.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[master2@master2-server ~]$
| 显示字段 |
说明 |
| eth0 |
网络接口名称 |
| Link encap |
链路封装协议 |
| Hwaddr |
网络接口的MAC地址 |
| Inet addr |
IP地址 |
| Bcast |
广播地址 |
| Mask |
子网掩码 |
| UP |
网络接口状态标识,UP已经启用,DOWN已经停用 |
| BROADCAST |
广播标识,标识网络接口是否支持广播 |
| RUNNING |
传输标识,标识网络接口是否已经开始传输分组数据 |
| MULTICAST |
多播标识,标识网络接口是否支持多播 |
| MTU,Metric |
MTU:最大传输单位,单位:字节。Metric:度量值,用于RIP建立网络路由用 |
| RX bytes |
接收数据字节统计 |
| TX bytes |
发送数据字节统计 |
我们可以通过ifconfig配置网络参数:
- 只有root才能用ifconfig配置参数,其他用户只能查看网络配置
- ifconfig 网络接口名称 [地址协议类型] [address] [参数]
- 地址协议类型如:inet(IPv4),inet6(IPv6)等
- 如:ifconfig eth0 inet 192.168.10.254 netmask 255.255.255.0 up
常用参数:
| 参数 |
功能 |
| -a |
显示所有网络接口状态 |
| inet [IP地址] |
设置IP地址 |
| netmask [子网掩码] |
设置子网掩码 |
| up |
启用网络接口 |
| down |
关闭网络接口 |
ifconfig配置的网络参数在内存中,计算机重新启动之后就失效了,如果需要持久有效就需要修改网络接口的配置文件:
- redhat修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
IPADDR=IP地址
GATEWAY=默认网关
- ubuntu修改/etc/NetworkManager/system-connections/Wired connection 1文件

14、 测试远程主机连通性:ping
- ping通过ICMP协议向远程主机发送ECHO_REQUEST请求,期望主机回复ECHO_REPLY消息
- 通过ping命令可以检查是否与远程主机建立了TCP/IP连接
使用方法:ping [参数] 远程主机IP地址
| 参数 |
功能 |
| -a |
每次相应时都发出声音警示 |
| -A |
表示以实际往返相应时间为间隔,连续发送消息 |
| -f |
连续不断发送消息,不管是否收到相应 |
| -n |
只显示主机IP,不需要把IP解释成主机名 |
| -c |
发送指定次数数据报信息后停止,ping -c 5 192.168.10.254 |
| -i |
每次发送消息时间间隔,默认一秒,ping -i 2 192.168.10.254 |
| -s |
分组数据大小,默认56字节 |
| -w |
以秒为单位的超时值,一旦超时,就立即停止 |

15、 网络路由设置:route
route可以增加,修改,显示路由信息,使用格式如下:
route [-v] [-A family] add default [gw 默认网关地址] [[dev interface]]
| 参数 |
功能 |
| add |
增加路由信息 |
| del |
删除路由信息 |
| -v |
显示路由信息 |
| -A |
指定网络协议inet(IPv4),inet6(IPv6) |
| gw |
指定默认网关地址 |
| dev |
指定网络接口 |
示例:route add default gw 192.168.1.1 dev eth0
16、 监控网络状态:netstat
netstat命令监控网络状态,包括接口设置,IP路由,各种网络协议的统计,netstat输出信息说明如下:
| 字段 |
说明 |
| Proto |
协议,如:tcp,udp |
| Recv-Q |
尚未读取的数据字节数 |
| Send-Q |
尚未发送的数据字节数 |
| Local_address |
本地主机地址与端口号 |
| Foreign_address |
远程主机与端口号 |
| State |
网络连接状态 |
| RefCnt |
引用计数,表示加接到相应套接字的进程数量 |
| Flags |
标志字段 |
| Type |
套接字类型,如:(SOCK_DGRAM, SOCK_STREAM,SOCK_RAW) |
| State |
套接字状态 |
| Path |
套接字路径名 |
netstat常用命令参数:
| 参数 |
功能 |
| -a |
列出所有端口 |
| -i |
显示网络接口列表 |
| -at |
所有tcp端口 |
| -au |
所有udp端口 |
| -l |
所有监听端口 |
| -lt |
tcp监听端口 |
| -lu |
指定网络接口 |
| -s |
显示所有协议统计信息 |
| -r |
当前路由状态 |
| -p |
输出中显示 PID 和进程名称,可以与其它开关一起使用,如:-pt |
- 点赞
- 收藏
- 关注作者
评论(0)