05 Linux常用命令
一、系统基本管理
1.1 关机重启退出操作
关机重启操作 shutdown
语法格式:
shutdown [选项] [时间/数字/now]
描述:常用于关机重启操作,并且在关机或重启的同时,已登录用户全都可以看到提示信息。需要由超级管理员root或具有管理员权限的用户来执行。
shutdown命令的常用选项:

示例:
# 立即关机 $ sudo shutdown -h now # 计划在晚上11点关机 $ sudo shutdown -h 23:00 # 10分钟后重启 $ sudo shutdown -r +10 # 取消已计划的关机或重启操作 $ sudo shutdown -c
重启操作 reboot
语法格式:
reboot [选项]
描述:用来对正在运行的Linux操作系统执行重启操作。一般在企业中执行这条命令不用加任何选项。需要由超级管理员root或具有管理员权限的用户来执行。
reboot命令的常用选项:

示例:
# 正常重启系统 $ sudo reboot # 强制重启系统 (谨慎使用) $ sudo reboot -f # 执行一次模拟重启,测试日志记录是否正常 $ sudo reboot -w # 重启前先关闭所有网络接口 $ sudo reboot -i
关机操作 poweroff
语法格式:
poweroff [选项]
描述:关闭Linux操作系统,关闭记录会被写入/var/log/wtmp日志文件中。使用该命令后会立即关闭系统,不给一点反应时间,因此一般很少用这个命令来进行关机操作。需要由超级管理员root或具有管理员权限的用户来执行。
poweroff命令的常用选项:

注销操作 logout
语法格式:
logout
描述:退出当前登录的Shell,等效于Windows中的注销命令。
退出操作 exit
语法格式:
exit [状态值]
描述:以指定的状态退出当前Shell或在Shell脚本中终止当前脚本的执行。
1.2 显示系统信息
打印系统信息uname
语法格式:
uname [选项]
描述:打印系统信息。
uname命令的常用选项:

示例:
# 显示全部信息 $ uname -a # 输出示例:Linux myserver 5.4.0-91-generic #102-Ubuntu SMP x86_64 GNU/Linux # 显示处理器架构 $ uname -m # 输出示例:x86_64 # 显示主机名称 $ uname -n # 输出示例:myserver # 显示操作系统发行编号 $ uname -r # 输出示例:5.4.0-91-generic
打印cpu信息 lscpu
语法格式:
lscpu [选项]
描述:显示有关CPU架构的信息。
lscpu命令的常用选项:

示例:
# 打印在线和离线 CPU 的详细信息 $ lscpu -a # 输出示例: # Architecture: x86_64 # CPU op-mode(s): 32-bit, 64-bit # Byte Order: Little Endian # CPU(s): 8 # On-line CPU(s) list: 0-7 # Off-line CPU(s) list: - # ... # 以人类易读的方式显示 CPU 信息 $ lscpu -c # 输出示例: # 架构: x86_64 # CPU 运行模式: 32-bit, 64-bit # 字节序: Little Endian # CPU: 8 # 在线 CPU 列表: 0-7 # 离线 CPU 列表: 无 # ...
打印内存信息 free
语法格式:
free [选项]
描述:显示内存的使用情况。
free命令的常用选项:

示例:
# 以 MB 为单位显示内存使用情况(最常用) $ free -m # 输出示例: # total used free shared buff/cache available # Mem: 8000 3000 2000 100 3000 4800 # Swap: 2000 0 2000
系统内存信息含义如下:
- Mem:内存使用情况;
- Swap:交换分区使用情况;
- Total:物理内存总大小;
- Used:已经使用的内存量;
- Free:空闲的内存量;
- Shared:多个进程共享的内存总量;
- buffers/cached:缓存的内存量;
- available:还可以被进程使用的物理内存量。
打印磁盘信息 df
语法格式:
df [选项]
描述:显示磁盘空间的使用情况。
df命令的常用选项:

示例:
# 以人类易读的单位显示(推荐使用) $ df -h # 输出示例: # Filesystem Size Used Avail Use% Mounted on # /dev/sda1 20G 7.9G 11G 43% / # tmpfs 797M 4.0K 797M 1% /dev/shm # /dev/sdb1 9.8G 2.3G 7.0G 25% /data
打印时间 date
语法格式:
date [选项] [输出形式|日期时间]
描述:用于显示或设置系统时间与日期。
date命令的常用选项:

时间与日期格式符号表:
| 符号 | 说明 | 符号 | 说明 |
|---|---|---|---|
| %S | 秒(00~60) | %r | 显示时间(12小时制,格式为 hh:mm:ss [AP]M) |
| %M | 分钟(00~59) | %s | 从1970年1月1日00:00:00 UTC到目前为止的秒数 |
| %H | 小时(以00~23格式表示) | %T | 显示时间(24小时制) |
| %I | 小时(以01~12格式表示) | %X | 显示时间格式为 %H:%M:%S |
| %k | 小时(以0~23格式表示) | %Z | 显示时区 |
| %l | 小时(以1~12格式表示) | %c | 显示日期与时间 |
| %d | 日期(01~31) | %D | 显示日期(mm/dd/yy) |
| %m | 月份(01~12) | %j | 一年中的第几天(001~366) |
| %b | 月份(Jan~Dec)缩写 | %U | 一年中的第几周(00~53,以星期日为一周的第一天) |
| 符号 | 说明 | 符号 | 说明 |
|---|---|---|---|
| %B | 月份(January~December) | %w | 一周中的第几天(0~6) |
| %y | 年份的最后两位数字(00~99) | %W | 一年中第几周(00~53,以星期一为一周的第一天) |
| %Y | 完整年份(0000~9999) | %x | 显示日期格式为 mm/dd/yy |
| %a | 星期几(Sun~Sat)缩写 | %n | 下一行 |
| %A | 星期几(Sunday~Saturday) | %t | 跳格 |
示例:
# 显示自定义格式的日期 $ date "+%Y-%m-%d %H:%M:%S" # 输出示例:2024-12-19 10:30:45
显示运行情况 top
语法格式:
top [选项] [PID|time|...]
描述:Linux操作系统性能分析工具,可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
top命令的常用选项:

在top交互界面中的常用操作:
- q:退出程序;
- m:切换显示内存信息;
- c:切换显示命令名称和完整命令行;
- i:忽略闲置和僵尸进程,这是一个开关式命令;
- k:终止一个进程;
- M:根据驻留内存大小进行排序;
- P:根据CPU使用百分比大小进行排序;
- T:根据累计时间进行排序。
示例:
# 监控进程 $ top top - 10:30:45 up 15 days, 2:15, 3 users, load average: 0.25, 0.31, 0.28 Tasks: 256 total, 1 running, 255 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.5 us, 1.2 sy, 0.0 ni, 96.1 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 15982.8 total, 2156.2 free, 5821.4 used, 8005.2 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 9512.8 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 mysql 20 0 3845.2m 892.4m 45.2m S 5.6 5.5 85:30.12 mysqld 5678 nginx 20 0 156.8m 45.2m 12.3m S 2.3 0.3 12:45.23 nginx 9012 user1 20 0 245.6m 56.8m 23.1m S 1.5 0.4 3:20.45 python -----省略部分内容-----
显示内容说明:
(1)第一行是系统运行时间和平均负载。
当前系统时间 10:30:45;系统运行时间:15天2分15秒;当前登录用户数为3;系统负载:0.25,0.31,0.28,这3个数分别是1分钟、 5分钟、15分钟的负载情况(当结果大于5的时候表示系统在超负荷运转)。
(2)第二行是进程的相关信息。 总进程数:256;运行:1;休眠:255;停止:0;僵尸进程:0。
(3)第三行CPU状态相关信息。

(4)第四行是内存相关信息。
(5)第五行是交换空间相关信息。

(6)第六行是空格。
(7)第七行是各个进程的状态及相关信息。

打印进程信息 ps
语法格式:
ps [选项]
描述:显示当前时间点系统的进程状态。
ps命令的常用选项

示例:显示此刻系统上所有进程的详细信息。
# 显示所有进程的详细信息(最常用) $ ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 169284 9384 ? Rs 10:30 0:03 /sbin/systemd root 2 0.0 0.0 0 0 ? S 10:30 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 10:30 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 10:30 0:00 [rcu_par_gp] mysql 123 0.5 5.5 3845232 892456 ? Ssl 10:30 0:15 /usr/sbin/mysqld nginx 456 0.2 0.3 160576 45200 ? S 10:30 0:08 nginx: master process www-data 789 0.1 0.2 160632 23456 ? S 10:31 0:03 nginx: worker process
系统进程信息含义如下:
- USER:进程所属的用户;
- PID:PID是进程的唯一标识符;
- %CPU:进程所占用的CPU资源百分比;
- %MEM:进程所占用的内存百分比;
- VSZ:进程所使用的虚拟内存量(KB);
- RSS:进程所使用的固定内存量(KB);
- TTY:进程在哪个终端上运行,若与终端无关,则显示“?”;
- STAT:进程目前的状态;进程的状态主要有以下几种:
- R:运行状态,程序目前正在运作;
- S:睡眠状态,可被唤醒;
- T:停止状态,已停止工作;
- Z:僵尸状态。
- START:进程启动的时间;
- TIME:进程实际使用CPU的时间;
- COMMAND:进程具体的工作指令。
打印网络信息netstat
语法格式:
netstat [选项]
描述:用来打印网络系统的状态信息。
netstat命令的常用选项:

示例:显示出所有监听的TCP端口相关信息。
# 显示所有TCP连接,以数字格式显示,并包含进程信息 $ netstat -anpt Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd: tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5678/nginx: -----省略部分内容-----
TCP端口参数含义如下:
- Proto:网络连接的协议,一般就是TCP协议或UDP协议;
- Recv-Q:接收到的数据,已经在本地的缓存中,但是还没有被进程取走;
- Send-Q:从本机发送,对方还没有收到的数据,依然在本地的缓存中,不具备ACK标志的数据包;
- Local Address:本机的IP地址和端口号;
- ForeignAddress:远程主机的IP地址和端口号;
- State:链路状态。 链路状态主要有以下几种:
- LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听;
- ESTABLISHED:已经建立连接的状态;
- SYN_SENT:SYN发起包,就是主动发起连接的数据包;
- SYN_RECV:接收到主动连接的数据包;
- FIN_WAIT1:正在中断的连接;
- FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认;
- TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束;
- CLOSED:关闭的连接。


浙公网安备 33010602011771号