目录

Linux常用命令--系统篇

介绍Linux常用系统状况相关的命令


top​:Linux的任务管理器

  1. -d delay​:设置更新频率,即指定刷新间隔的秒数。
  • 例如:top -d 5​ 每隔 5 秒刷新一次。
  1. -n iterations​:设置更新次数,即指定 top​ 命令将更新的次数后退出。
  • 例如:top -n 3​ 更新 3 次后退出。
  1. -b​:以批处理模式运行 top​,适用于输出到文件或管道中。
  • 例如:top -b -n 1 > top_output.txt​ 将输出一次 top​ 结果到文件中。
  1. -u username​:只显示指定用户名的进程。
  • 例如:top -u root​ 只显示 root​ 用户的进程。
  1. -p pid[,pid...]​:只显示指定进程 ID 的进程。
  • 例如:top -p 1234,5678​ 只显示进程 ID 为 1234​ 和 5678​ 的进程。
  1. -o field1,field2,...​:设置默认排序字段,用逗号分隔。
  • 例如:top -o %CPU​ 按 CPU 使用率排序。
  1. -s​:累计模式,显示所有的重要信息并累计此后的信息。
  • 例如:top -s​ 显示累计信息。
  1. -h​:显示帮助信息,列出 top​ 命令的所有选项。
  • 例如:top -h​ 显示帮助信息。
  1. 打开后,输入M:按使用内存排序

  2. 打开后,输入P:按使用CPU​排序

  3. 打开后,输入Q:退出

htop​:top的升级版

  1. -d seconds​:设置刷新频率,即指定更新间隔的秒数。
  2. -C​:启用彩色输出,以区分不同的进程状态和资源使用情况。
  3. -u username​:只显示指定用户名的进程。
  4. -p pid[,pid...]​:只显示指定进程 ID 的进程。
  5. -s​:安静模式,关闭实时更新,只显示当前快照的信息。
  6. -t​:启用树状结构显示进程,显示进程及其子进程的关系。
  7. -m​:显示内存信息。
  8. -M​:按内存使用量进行排序。
  9. -n​:启用数字输出模式,关闭彩色输出。
  10. -H​:显示线程信息。
  11. -i​:显示空闲进程。
  12. -F​:强制使用 ASCII 字符输出。
  13. -h​:显示帮助信息,列出 htop​ 命令的所有选项。

ps​:查看进程信息

  1. -e 显示所有进程。这包括与当前终端无关的进程。

  2. -f 显示全格式输出。以完整的格式显示进程信息,包括进程的 UID、PID、PPID、C、STIME、TTY、TIME 等。

  3. -u username 仅显示指定用户的进程。用于过滤出特定用户的进程信息。

  4. -p pid[,pid...] 仅显示指定 PID 的进程。可以指定一个或多个 PID,用逗号分隔。

  5. -aux 显示所有进程的详细信息。此参数结合了 -a​(显示所有用户的进程)、-u​(显示用户相关的详细信息)和 -x​(显示没有控制终端的进程)。

    1. 按 CPU 使用率排序:

      1
      
      ps aux --sort=-%cpu
      

      这将按照 CPU 使用率降序排序,即最高 CPU 使用率的进程排在前面。

    2. 按内存使用率排序:

      1
      
      ps aux --sort=-%mem
      

      这将按照内存使用率降序排序,即最高内存使用率的进程排在前面。

    3. 按进程 ID 排序:

      1
      
      ps aux --sort=-pid
      

      这将按照进程 ID 降序排序,即最大的进程 ID 的进程排在前面。

    4. 按启动时间排序:

      1
      
      ps aux --sort=start_time
      

      这将按照启动时间升序排序,即最早启动的进程排在前面。

    5. 按进程名排序:

      1
      
      ps aux --sort=comm
      

      这将按照进程名的字母顺序排序。

    6. 按命令行参数排序:

      1
      
      ps aux --sort=cmd
      

      这将按照进程的完整命令行参数进行排序。

    7. 其中STAT状态位常见的状态字符有:

      • D:无法中断的休眠状态(通常 IO 的进程);
      • R:正在运行可中在队列中可过行的;
      • S:处于休眠状态;
      • T:停止或被追踪;
      • W:进入内存交换 (从内核2.6开始无效);
      • X:死掉的进程 (基本很少见);
      • Z:僵尸进程;
      • <:优先级高的进程
      • N:优先级较低的进程
      • L:有些页被锁进内存;
      • s:进程的领导者(在它之下有子进程);
      • l:多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
      • +:位于后台的进程组;
  6. -ww 不截断输出。在输出中不限制宽度,这样可以显示完整的命令行。

  7. -o format 自定义输出格式。可以指定要显示的字段,如 pid,user,%cpu,%mem,command​。

  8. -N 显示不匹配指定条件的进程。例如,ps -N java​ 将显示不包含 java​ 进程的所有进程。

  9. -L 显示线程信息。显示线程相关的信息。

  10. -C command 根据指定命令名过滤进程。例如,ps -C java​ 将显示所有名为 java​ 的进程。

  11. -k pid 显示指定 PID 的进程以及其子进程。通常与 -L​ 参数一起使用,用于显示指定进程的所有线程。

  12. -h 显示帮助信息。列出 ps​ 命令的所有选项。

df​:查看磁盘使用信息

  1. -h 以人类可读的格式显示磁盘空间信息,将字节、块等单位转换为 KB、MB、GB 等更易读的单位。
  2. -T 显示文件系统的类型。
  3. -t type 仅显示指定类型的文件系统,可以使用逗号分隔多个类型。
  4. -x type 排除指定类型的文件系统。
  5. -i 显示 inode 使用情况。
  6. --output 自定义输出格式,可以指定要显示的字段。
  7. --total 显示所有列的总和。
  8. -hT 结合使用 -h​ 和 -T​ 参数,以人类可读的格式显示文件系统类型。
  9. --help 显示帮助信息,列出 df​ 命令的所有选项。

du​:查看目录占用磁盘信息

  1. -h​:以人类可读的格式显示磁盘使用情况。
  2. -s​:显示每个指定文件夹的总磁盘使用情况,而不显示其子文件夹的使用情况。
  3. -a​:显示每个文件和目录的磁盘使用情况。
  4. -c​:显示总磁盘使用情况,即所有文件和目录的总和。
  5. -h --max-depth=N​:限制显示的目录层级,只显示指定深度的目录。
  6. --exclude=PATTERN​:排除符合指定模式的文件或目录。
  7. --max-depth=0​:只显示指定目录的总磁盘使用情况,不显示子目录的使用情况。
  8. -b​:以字节为单位显示磁盘使用情况。
  9. --help​:显示帮助信息,列出 du​ 命令的所有选项。

free​:查看内存使用情况

  1. -h​:以人类可读的格式显示内存使用情况,将字节、块等单位转换为 KB、MB、GB 等更易读的单位。
  2. -b​:以字节为单位显示内存使用情况。
  3. -m​:以 MB 为单位显示内存使用情况。
  4. -g​:以 GB 为单位显示内存使用情况。
  5. -t​:显示总内存使用情况,包括物理内存和交换空间。
  6. -s INTERVAL​:连续显示内存使用情况,每隔指定的时间间隔刷新一次。
  7. --help​:显示帮助信息,列出 free​ 命令的所有选项。

netstat​:查看网络连接

  1. -a​:显示所有连接和监听端口。
  2. -t​:显示 TCP 协议的连接信息。
  3. -u​:显示 UDP 协议的连接信息。
  4. -n​:以数字格式显示 IP 地址和端口号,而不进行域名解析。
  5. -p​:显示建立连接或监听的进程的 PID 和进程名称。
  6. -l​:仅显示监听状态的连接。
  7. -r​:显示路由表信息。
  8. -s​:显示统计信息,包括各种协议的统计数据。
  9. -c​:持续显示网络状态信息,类似于 top​ 命令的实时更新。
  10. --help​:显示帮助信息,列出 netstat​ 命令的所有选项。

uptime​:查看系统运行时间与负载情况

1
2
➜  ~ uptime
 13:44:01 up  8:22,  0 users,  load average: 0.12, 0.05, 0.01

ifconfig​:显示网络接口配置信息

ifconfig​ 命令用于配置和显示网络接口的信息。以下是一些常用的 ifconfig​ 命令参数:

  1. 无参数: 显示所有网络接口的信息。

    1
    
    ifconfig
    
  2. interface: 仅显示指定网络接口的信息。

    1
    
    ifconfig eth0
    
  3. -a 显示所有网络接口的信息,包括未激活的接口。

    1
    
    ifconfig -a
    
  4. up 激活指定的网络接口。

    1
    
    ifconfig eth0 up
    
  5. ​ ​down: 禁用指定的网络接口。

    1
    
    ifconfig eth0 down
    
  6. netmask MASK: 设置指定网络接口的子网掩码。

    1
    
    ifconfig eth0 netmask 255.255.255.0
    
  7. promisc 将指定网络接口设置为混杂模式,用于监听所有网络流量。

    1
    
    ifconfig eth0 promisc
    
  8. -s 显示摘要信息,列出每个网络接口的统计数据。

    1
    
    ifconfig -s
    
  9. -v 显示详细信息,包括版本信息。

    1
    
    ifconfig -v
    
  10. -help--help 显示帮助信息,列出 ifconfig​ 命令的所有选项。

    1
    
    ifconfig --help