Linux常用命令--系统篇

介绍Linux常用系统状况相关的命令
top
:Linux的任务管理器
-
-d delay
:设置更新频率,即指定刷新间隔的秒数。
- 例如:
top -d 5
每隔 5 秒刷新一次。
-
-n iterations
:设置更新次数,即指定top
命令将更新的次数后退出。
- 例如:
top -n 3
更新 3 次后退出。
-
-b
:以批处理模式运行top
,适用于输出到文件或管道中。
- 例如:
top -b -n 1 > top_output.txt
将输出一次top
结果到文件中。
-
-u username
:只显示指定用户名的进程。
- 例如:
top -u root
只显示root
用户的进程。
-
-p pid[,pid...]
:只显示指定进程 ID 的进程。
- 例如:
top -p 1234,5678
只显示进程 ID 为1234
和5678
的进程。
-
-o field1,field2,...
:设置默认排序字段,用逗号分隔。
- 例如:
top -o %CPU
按 CPU 使用率排序。
-
-s
:累计模式,显示所有的重要信息并累计此后的信息。
- 例如:
top -s
显示累计信息。
-
-h
:显示帮助信息,列出top
命令的所有选项。
- 例如:
top -h
显示帮助信息。
打开后,输入M:按使用内存排序
打开后,输入P:按使用
CPU
排序打开后,输入Q:退出
htop
:top的升级版
-
-d seconds
:设置刷新频率,即指定更新间隔的秒数。 -
-C
:启用彩色输出,以区分不同的进程状态和资源使用情况。 -
-u username
:只显示指定用户名的进程。 -
-p pid[,pid...]
:只显示指定进程 ID 的进程。 -
-s
:安静模式,关闭实时更新,只显示当前快照的信息。 -
-t
:启用树状结构显示进程,显示进程及其子进程的关系。 -
-m
:显示内存信息。 -
-M
:按内存使用量进行排序。 -
-n
:启用数字输出模式,关闭彩色输出。 -
-H
:显示线程信息。 -
-i
:显示空闲进程。 -
-F
:强制使用 ASCII 字符输出。 -
-h
:显示帮助信息,列出htop
命令的所有选项。
ps
:查看进程信息
-e
: 显示所有进程。这包括与当前终端无关的进程。
-f
: 显示全格式输出。以完整的格式显示进程信息,包括进程的 UID、PID、PPID、C、STIME、TTY、TIME 等。
-u username
: 仅显示指定用户的进程。用于过滤出特定用户的进程信息。
-p pid[,pid...]
: 仅显示指定 PID 的进程。可以指定一个或多个 PID,用逗号分隔。
-aux
: 显示所有进程的详细信息。此参数结合了-a
(显示所有用户的进程)、-u
(显示用户相关的详细信息)和-x
(显示没有控制终端的进程)。按 CPU 使用率排序:
1
ps aux --sort=-%cpu
这将按照 CPU 使用率降序排序,即最高 CPU 使用率的进程排在前面。
按内存使用率排序:
1
ps aux --sort=-%mem
这将按照内存使用率降序排序,即最高内存使用率的进程排在前面。
按进程 ID 排序:
1
ps aux --sort=-pid
这将按照进程 ID 降序排序,即最大的进程 ID 的进程排在前面。
按启动时间排序:
1
ps aux --sort=start_time
这将按照启动时间升序排序,即最早启动的进程排在前面。
按进程名排序:
1
ps aux --sort=comm
这将按照进程名的字母顺序排序。
按命令行参数排序:
1
ps aux --sort=cmd
这将按照进程的完整命令行参数进行排序。
其中STAT状态位常见的状态字符有:
D
:无法中断的休眠状态(通常 IO 的进程);R
:正在运行可中在队列中可过行的;S
:处于休眠状态;T
:停止或被追踪;W
:进入内存交换 (从内核2.6开始无效);X
:死掉的进程 (基本很少见);Z
:僵尸进程;<
:优先级高的进程N
:优先级较低的进程L
:有些页被锁进内存;s
:进程的领导者(在它之下有子进程);l
:多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);+
:位于后台的进程组;
-ww
: 不截断输出。在输出中不限制宽度,这样可以显示完整的命令行。
-o format
: 自定义输出格式。可以指定要显示的字段,如pid,user,%cpu,%mem,command
。
-N
: 显示不匹配指定条件的进程。例如,ps -N java
将显示不包含java
进程的所有进程。
-L
: 显示线程信息。显示线程相关的信息。
-C command
: 根据指定命令名过滤进程。例如,ps -C java
将显示所有名为java
的进程。
-k pid
: 显示指定 PID 的进程以及其子进程。通常与-L
参数一起使用,用于显示指定进程的所有线程。
-h
: 显示帮助信息。列出ps
命令的所有选项。
df
:查看磁盘使用信息
-
-h
: 以人类可读的格式显示磁盘空间信息,将字节、块等单位转换为 KB、MB、GB 等更易读的单位。 -
-T
: 显示文件系统的类型。 -
-t type
: 仅显示指定类型的文件系统,可以使用逗号分隔多个类型。 -
-x type
: 排除指定类型的文件系统。 -
-i
: 显示 inode 使用情况。 -
--output
: 自定义输出格式,可以指定要显示的字段。 -
--total
: 显示所有列的总和。 -
-hT
: 结合使用-h
和-T
参数,以人类可读的格式显示文件系统类型。 -
--help
: 显示帮助信息,列出df
命令的所有选项。
du
:查看目录占用磁盘信息
-
-h
:以人类可读的格式显示磁盘使用情况。 -
-s
:显示每个指定文件夹的总磁盘使用情况,而不显示其子文件夹的使用情况。 -
-a
:显示每个文件和目录的磁盘使用情况。 -
-c
:显示总磁盘使用情况,即所有文件和目录的总和。 -
-h --max-depth=N
:限制显示的目录层级,只显示指定深度的目录。 -
--exclude=PATTERN
:排除符合指定模式的文件或目录。 -
--max-depth=0
:只显示指定目录的总磁盘使用情况,不显示子目录的使用情况。 -
-b
:以字节为单位显示磁盘使用情况。 -
--help
:显示帮助信息,列出du
命令的所有选项。
free
:查看内存使用情况
-
-h
:以人类可读的格式显示内存使用情况,将字节、块等单位转换为 KB、MB、GB 等更易读的单位。 -
-b
:以字节为单位显示内存使用情况。 -
-m
:以 MB 为单位显示内存使用情况。 -
-g
:以 GB 为单位显示内存使用情况。 -
-t
:显示总内存使用情况,包括物理内存和交换空间。 -
-s INTERVAL
:连续显示内存使用情况,每隔指定的时间间隔刷新一次。 -
--help
:显示帮助信息,列出free
命令的所有选项。
netstat
:查看网络连接
-
-a
:显示所有连接和监听端口。 -
-t
:显示 TCP 协议的连接信息。 -
-u
:显示 UDP 协议的连接信息。 -
-n
:以数字格式显示 IP 地址和端口号,而不进行域名解析。 -
-p
:显示建立连接或监听的进程的 PID 和进程名称。 -
-l
:仅显示监听状态的连接。 -
-r
:显示路由表信息。 -
-s
:显示统计信息,包括各种协议的统计数据。 -
-c
:持续显示网络状态信息,类似于top
命令的实时更新。 -
--help
:显示帮助信息,列出netstat
命令的所有选项。
uptime
:查看系统运行时间与负载情况
|
|
ifconfig
:显示网络接口配置信息
ifconfig
命令用于配置和显示网络接口的信息。以下是一些常用的 ifconfig
命令参数:
无参数: 显示所有网络接口的信息。
1
ifconfig
interface
: 仅显示指定网络接口的信息。1
ifconfig eth0
-a
: 显示所有网络接口的信息,包括未激活的接口。1
ifconfig -a
up
: 激活指定的网络接口。1
ifconfig eth0 up
down
: 禁用指定的网络接口。1
ifconfig eth0 down
netmask MASK
: 设置指定网络接口的子网掩码。1
ifconfig eth0 netmask 255.255.255.0
promisc
: 将指定网络接口设置为混杂模式,用于监听所有网络流量。1
ifconfig eth0 promisc
-s
: 显示摘要信息,列出每个网络接口的统计数据。1
ifconfig -s
-v
: 显示详细信息,包括版本信息。1
ifconfig -v
-help
或--help
: 显示帮助信息,列出ifconfig
命令的所有选项。1
ifconfig --help