Linux 常用命令

PS命令 - 显示进程状态

常用参数

-a 显示所有进程信息 -t 显示属于指定终端主机的程序状态
-c 不显示程序路径 -T 显示当前终端主机下的所有程序
-d 不显示阶段作业程序 -u 使用用户为主的格式来显示程序状态
-e 显示环境变量信息 -U 显示属于指定用户的程序状态(小u也可以)
-f 用 ASCII 字符显示树状结构 -v 使用虚拟机内存的格式显示程序状态
-g 显示所有程序及其所属组的程序 -w 使用宽阔的格式显示程序状态
-h 不显示标题列信息 -x 不区分终端主机
-H 使用树状结构展示程序间的相互关系 -X 使用旧式登录格式显示程序状态
-j 使用工作控制格式显示程序状态 --cols 设置没列的最大字符数
-l 使用详细格式显示程序状态 --headers 重复显示标题列
-p 指定程序识别码并显示该程序的状态 --help 显示帮助信息
-r 仅显示终端机正在执行中的程序 --info 显示排错信息
-s 使用程序信号格式显示程序状态 --lines 设置显示画面的列数
-S 显示包括已中断的子程序的状态 --version 显示版本信息

参考示例

  1. 显示系统中全部的进程信息,含详细信息

    bash 复制代码
    [root@localhost ~] # ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          2  0.0  0.0      0     0 ?        S    11月27   0:00 [kthreadd]
    root          4  0.0  0.0      0     0 ?        S<   11月27   0:00 [kworker/0:0H]
    root          6  0.0  0.0      0     0 ?        S    11月27   2:59 [ksoftirqd/0]
    root          7  0.0  0.0      0     0 ?        S    11月27   0:09 [migration/0]
    root          8  0.0  0.0      0     0 ?        S    11月27   0:00 [rcu_bh]
    ---- 省略部分输出信息 ----
    • PID:进程的唯一标识符(Process ID)
    • %CPU:进程使用 CPU 资源的占比
    • %MEM:进程使用内存资源的占比
    • VSZ:进程的虚拟内存大小(Virtual Memory Size),单位 KB
    • RSS:进程占用的实际物理内存大小(Resident Set Size),单位 KB
    • TTY:进程所属的终端设备
    • STAT:进程的状态
    • START:进程启动的时间
    • TIME:进程已经使用的 CPU 时间
    • COMMAND:进程的命令名称
  2. 结合输出重定向, 将当前进程信息保留备份至指定文件

    bash 复制代码
    [root@localhost ~] # ps aux > File.txt
    [root@localhost ~] # ls
    File.txt
  3. 结合管道操作符,将当前系统运行状态中指定的进程信息过滤出来

    bash 复制代码
    [root@localhost ~] # ps -ef | grep ssh
    root       1192      1  0 11月27 ?      00:00:00 /usr/sbin/sshd -D
    root      84757 117451  0 15:48 pts/0    00:00:00 grep --color=auto ssh
    root     117447   1192  1 09:34 ?        00:05:40 sshd: root@pts/0,pts/1
    root     117487 117447  0 09:34 ?        00:00:00 /usr/libexec/openssh/sftp-server
    ---- 省略部分输出信息 ----
  4. 将当前系统运行状态中指定用户的进程信息过滤出来

    bash 复制代码
    [root@localhost ~] # ps -u root
       PID TTY          TIME CMD
         1 ?        00:00:22 systemd
         2 ?        00:00:00 kthreadd
    ---- 省略部分输出信息 ----
  5. 结合管道操作符与 sort 命令,依据处理器使用量(第三列)情况降序排列

    bash 复制代码
    [root@localhost ~] # ps aux | sort -rnk 3
    root     117447  1.5  0.0 161496  6216 ?        Ss   09:34   5:49 sshd: root@pts/0,pts/1
    root       5266  1.4 28.2 10412320 2256664 ?    Sl   11月27 105:08 /usr/local/software/
    root       8452  0.5  0.0  53124  7368 pts/0    Ssl+ 11月30  15:33 redis-sentinel *:26379
    ---- 省略部分输出信息 ----
  6. 结合管道操作符与 sort 命令,依据内存使用量(第四列)情况降序排列

    bash 复制代码
    [root@localhost ~] # ps aux | sort -rnk 4
    polkitd    2651  0.3  5.4 2765992 434920 pts/0  Ssl+ 11月27  28:23 mysqld
    polkitd    3140  0.3  5.3 2348180 425204 pts/0  Ssl+ 11月27  28:25 mysqld
    polkitd    2835  0.3  5.3 2348180 428940 pts/0  Ssl+ 11月27  28:17 mysqld

df命令 - 显示磁盘空间使用量

常用参数

-a 显示所有文件系统 -l 只显示本地文件系统
-h 以更易读的方式显示 -t 只显示指定类型文件系统
-H 以 1KB = 1000B 为换算单位 -T 显示文件系统的类型
-i 显示索引字节信息 --sync 在获取磁盘使用信息前先执行sync同步命令
-k 设置显示时的块大小

参考示例

  1. 显示系统全部磁盘的使用量情况(带容量单位)

    bash 复制代码
    [root@localhost ~] # df -h
    文件系统                 容量  已用  可用 已用% 挂载点
    devtmpfs                 3.8G     0  3.8G    0% /dev
    tmpfs                    3.9G     0  3.9G    0% /dev/shm
    tmpfs                    3.9G   13M  3.8G    1% /run
    tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
    /dev/mapper/centos-root   35G   14G   22G   39% /
    /dev/sda1               1014M  198M  817M   20% /boot
    tmpfs                    781M     0  781M    0% /run/user/0
  2. 显示指定磁盘分区的使用量情况(带容量单位)

    bash 复制代码
    [root@localhost ~] # df -h /root
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   35G   14G   22G   39% /
  3. 显示系统中所有文件系统格式为 XFS 的磁盘分区使用量情况

    bash 复制代码
    [root@localhost ~] # df -t xfs
    文件系统                   1K-块     已用     可用 已用% 挂载点
    /dev/mapper/centos-root 36678148 13969180 22708968   39% /
    /dev/sda1                1038336   202448   835888   20% /boot

top命令 - 实时显示系统运行状态

常用命令

-a 按内存使用情况排序 -n 设置显示的总次数,完成后自动退出
-b 使用批处理模式,不进行交互式显示 -p 仅显示指定进程 ID 的信息
-c 使用显示模式 -s 使用安全模式,不允许交互式指令
-d 设置显示的更新速度 -u 仅显示与指定用户 ID 匹配的进程
-h 显示帮助信息 -v 使用线程模式
-i 不显示任何闲置或僵死的进程 -w 设置显示的宽度
-M 显示内存单位

参考示例

  1. 以默认格式显示系统运行信息

    bash 复制代码
    [root@localhost ~]# top
  2. 结合管道操作符,显示指定进程的运行信息

    bash 复制代码
    [root@localhost ~]# top | grep ssh
    117447 root      20   0  161496   6216   4468 S  12.5  0.1   7:12.31 sshd                
    117447 root      20   0  161496   6216   4468 S   1.0  0.1   7:12.34 sshd
  3. 以默认格式显示系统运行信息,但提供完整的进程路径及名称

    bash 复制代码
    [root@localhost ~]# top -c
  4. 以批处理模式显示程序信息

    bash 复制代码
    [root@localhost ~]# top -b
  5. 设定每隔5秒刷新一次信息

    bash 复制代码
    [root@localhost ~]# top -d 5
  6. 设定总显示次数为3回,随后自动退出命令

    bash 复制代码
    [root@localhost ~]# top -n 3

tail命令 - 查看文件尾部内容

常用参数

-c 设置显示文件尾部的字符数 --pid 当指定 PID 进程结束时,自动退出命令
-f 持续显示文件尾部最新内容 --retry 当文件无权访问时,依然尝试打开
-n 设置显示文件尾部最新内容 --version 显示版本信息
-help 显示帮助信息

参考示例

  1. 默认显示指定文件尾部的后 10 行内容

    bash 复制代码
    [root@localhost ~]# tail File.cfg
  2. 显示文件尾部的后5行内容

    bash 复制代码
    [root@localhost ~]# tail -n 5 File.cfg
  3. 显示指定文件尾部的后30个字节

    bash 复制代码
    [root@localhost ~]# tail -c 30 File.cfg
  4. 持续刷新显示指定文件尾部的后10行内容

    bash 复制代码
    [root@localhost ~]# tail -f File.cfg

cat命令 - 在终端设备上显示文件内容

常用参数

-A 等价于 -vET 参数组合 -t 等价于 -vT参数组合
-b 显示行数 -T 将 TAB 字符显示为 ^| 符号
-e 等价于 -vE 参数组合 -v 使用 ^ 和 M- 引用, LFD和TAB除外
-E 每行结束处显示 $ 符号 --help 显示帮助信息
-n 显示行数(空行也编号) --version 显示版本信息
-s 显示行数(多个空行算一个编号)

参考示例

  1. 查看指定文件的内容

    bash 复制代码
    [root@localhost ~]# cat File.txt
  2. 查看指定文件的内容并显示行号

    bash 复制代码
    [root@localhost ~]# cat -n File.txt
  3. 搭配空设备文件和输出重定向操作符,清空指定文件的内容

    bash 复制代码
    [root@localhost ~]# cat /root/null > File.txt

    名称为null的文件存在,只是里面没有内容。

  4. 持续写入文件,直到碰到 EOF 终止符后结束并保存

    bash 复制代码
    [root@localhost ~]# cat > File.txt << EOF
  5. 搭配输出重定向操作符,将光盘设备制作成镜像文件

    bash 复制代码
    [root@localhost ~]# cat /dev/cdrom > rhel.iso 
    [root@localhost ~]# ls rhel.iso -lh 
    -rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso 
    [root@localhost ~]# file rhel.iso 
    rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectors

head命令 - 显示文件开头的内容

常用参数

-c 设置显示头部内容的字符数 -v 显示文件名的头信息
-n 设置显示行数 --help 显示帮助信息
-q 不显示文件名的头信息 --version 显示版本信息

参考示例

  1. 默认显示文件的前10行内容

    bash 复制代码
    [root@localhost ~]# head File.txt
  2. 显示指定文件的前5行内容

    bash 复制代码
    [root@localhost ~]# head -n 5 File.txt
  3. 显示指定文件的前20个字符

    bash 复制代码
    [root@localhost ~]# head -c 20 File.txt
相关推荐
用户97183563346612 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪13 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理