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
相关推荐
心灵彼岸-诗和远方35 分钟前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘40 分钟前
NFS服务器
运维·服务器
苹果醋31 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰2 小时前
[linux]docker基础
linux·运维·docker
Jason-河山2 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
饮浊酒2 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu2 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
哲讯智能科技2 小时前
SAP Business One市场价格解析
运维·sap·erp
矛取矛求3 小时前
Linux系统性能调优技巧
linux
山东布谷科技官方3 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发