Linux常用指令

222 阅读7分钟

Linux常用指令

​ 总结了常用的Unix/Linux命令,包括ps、top、netstat、free、df、grep、sort、awk、ip。查看右侧👉目录可快速导航

1 ps

基本格式

ps [options]

常见参数和选项

  • -e-A:显示所有进程。
  • -f:全格式显示,提供更多详细信息。
  • -u username:显示指定用户的进程。
  • -U:指定的用户 ID 列出进程。
  • -p PID:显示指定进程的详细信息。
  • -C command:通过命令名来选择进程。
  • -o format:自定义输出格式。可以选择显示特定的列。
  • -aux:显示所有用户的进程,通常与 grep 一起使用来查找特定进程。
  • -ef:全格式显示所有进程。
  • --sort:对输出结果进行排序。可以按照多种字段排序,如 pid%cpu%mem 等。

2 top

基本格式

top [options]

常见参数和选项

  • -d seconds:指定刷新间隔,单位为秒。默认是 3 秒。
  • -n iterations:指定刷新次数后退出 top
  • -p PID:只监控指定的进程。
  • -u username:只显示指定用户的进程。
  • -b:以批处理模式运行,适合将输出重定向到文件中。
  • -c:显示完整的命令行,而不是命令名。
  • -H:显示每个进程的线程。

常用的交互命令

top 在运行时支持多种交互式命令,可以对显示内容进行实时调整和操作:

  • h:显示帮助信息,列出所有可用命令。
  • k:终止指定的进程,需要输入进程的 PID。
  • q:退出 top 程序。
  • s:改变刷新间隔时间,需要输入秒数。
  • fF:切换排序字段选择界面,可以选择用哪个字段进行排序。
  • oO:改变排序字段。按下 o 后,可以输入字段字母来切换排序,如 P 表示按 CPU 使用率排序,M 表示按内存使用率排序。
  • u:只显示特定用户的进程,需要输入用户名。
  • c:切换显示完整的命令行或仅显示命令名。
  • r:调整指定进程的优先级(需要输入进程的 PID 和优先级)。
  • x:高亮显示当前排序的列。
  • z:切换彩色显示模式。

3 netstat

常用格式

netstat [options]

常见参数和选项

  • -a:显示所有连接,包括正在进行的和等待的连接,以及监听状态的连接。
  • -n:显示数字格式的地址和端口号,不进行主机名或服务名的反向解析。
  • -l:显示所有监听状态的连接。
  • -p:显示与每个网络连接关联的程序名和进程标识符(PID)。
  • -r:显示系统的路由表信息。
  • -i:显示详细的网络接口信息。
  • -t:仅显示 TCP 协议的连接信息。
  • -u:仅显示 UDP 协议的连接信息。
  • -x:显示 UNIX 域套接字连接信息。

4 free

常用格式

free [options]

常见参数和选项

  • -h:以人类可读的方式显示输出(例如,使用 MB、GB 等单位)。
  • -b:以字节为单位显示内存使用情况。
  • -k:以 KB 为单位显示内存使用情况(默认单位)。
  • -m:以 MB 为单位显示内存使用情况。
  • -g:以 GB 为单位显示内存使用情况。
  • -t:显示总计行。
  • -s N:每隔 N 秒更新一次显示,连续显示。
  • -c N:显示 N 次输出,然后退出。

5 df

常用格式

df [options] [filesystem]

常见参数和选项

  • -h:以人类可读的方式显示输出(例如,使用 GB、MB 等单位)。
  • -T:显示文件系统类型。
  • -t type:仅显示指定类型的文件系统(例如,-t ext4 只显示 ext4 文件系统)。
  • -a:显示所有文件系统,包括虚拟文件系统。
  • -i:显示 inode 使用情况而不是块使用情况。
  • --total:显示所有列的总计。
  • --block-size=SIZE:使用指定的块大小来显示块数(例如,--block-size=1M)。

6 grep

基本格式

grep [options] pattern [file...]
  • pattern:要搜索的模式或正则表达式。
  • file:要搜索的文件。如果未指定文件,则从标准输入读取数据。

常见参数和选项

-i:忽略大小写。

-v:反转匹配,即显示不匹配的行。

-n:显示匹配行的行号。

-l:仅显示包含匹配模式的文件名。

-r-R:递归搜索目录中的文件。

-w:仅匹配整个单词。

-c:仅显示匹配行的计数。

--color=auto:高亮显示匹配的部分,默认开启颜色显示。

-E:使用扩展的正则表达式语法(支持 +?| 等)。

-f file:从指定文件中读取模式(每行一个),进行搜索。

7 sort

基本格式

sort [options] [file]
  • file:要排序的文件。如果未指定文件,则从标准输入读取数据。

常见参数和选项

  • -b:忽略每行开头的空白字符。
  • -f:忽略大小写。
  • -n:按照数值大小排序。
  • -r:逆序排序。
  • -u:去重,仅显示唯一的行。
  • -k key1,key2:按照指定列(字段)排序。例如,-k 2,2 表示按照第二列排序。
  • -t:指定字段分隔符,默认是空白字符。
  • -c:检查文件是否已经排序,如果已排序则无输出,否则输出未排序的信息。

8 awk

基本格式

awk 'pattern { action }' [file]
  • pattern:用于匹配行的模式。如果省略,默认匹配所有行。
  • action:对匹配行进行的操作。如果省略,默认打印匹配行。

常见参数和选项

  • -F fs:指定字段分隔符 fs,默认为空白字符(空格或制表符)。

    awk -F, '{ print $1 }' file.txt
    
  • -v var=value:定义 awk 内部使用的变量。

    awk -v max=10 '$1 > max { print $1 }' file.txt
    
  • -f program-file:从文件中读取 awk 脚本。

    awk -f script.awk file.txt
    
  • -e script:指定内联脚本,可以用来将多个脚本合并在一个命令行中。

    awk -e 'BEGIN { print "Start" }' -e '{ print $1 }' -e 'END { print "End" }' file.txt
    

常用模式和动作

  • $0:表示当前行。

    awk '{ print $0 }' file.txt
    
  • $1, $2, ... :表示当前行的第一个、第二个字段,依此类推。

    awk '{ print $1, $2 }' file.txt
    
  • NR:当前行号。

    awk '{ print NR, $0 }' file.txt
    
  • NF:当前行的字段数量。

    awk '{ print NF, $0 }' file.txt
    
  • BEGIN:在开始处理所有行之前执行的操作。

    awk 'BEGIN { print "Start" }' file.txt
    
  • END:在处理完所有行之后执行的操作。

    awk 'END { print "End" }' file.txt
    
  • 模式匹配:可以使用正则表达式进行模式匹配。

    awk '/pattern/ { print $0 }' file.txt
    

9 ip

基本格式

ip [ OPTIONS ] OBJECT { COMMAND | help }
  • OPTIONS:全局选项,用于修改命令行为。
  • OBJECT:网络对象,如 addresslinkroute 等。
  • COMMAND:对网络对象执行的操作,如 showadddel 等。
  • help:显示命令帮助信息。

常见参数和选项

全局选项

  • -V:显示 ip 命令的版本信息。

    ip -V
    
  • -s:输出更详细的信息。

    ip -s address
    
  • -4:只显示 IPv4 信息。

    ip -4 address
    
  • -6:只显示 IPv6 信息。

    ip -6 address
    
  • -br:简洁格式输出。

    ip -br address
    

常用对象和命令

ip address

用于查看和配置 IP 地址。

  • 查看所有 IP 地址:

    ip address show
    
  • 为接口添加 IP 地址:

    ip address add 192.168.1.100/24 dev eth0
    
  • 删除接口上的 IP 地址:

    ip address del 192.168.1.100/24 dev eth0
    

ip link

用于查看和管理网络接口。

  • 显示所有网络接口:

    ip link show
    
  • 启用网络接口:

    ip link set dev eth0 up
    
  • 禁用网络接口:

    ip link set dev eth0 down
    
  • 修改网络接口的 MTU 值:

    ip link set dev eth0 mtu 1400
    
  • 修改网络接口名称:

    ip link set dev eth0 name eth1
    

ip route

用于查看和管理路由表。

  • 查看路由表:

    ip route show
    
  • 添加默认路由:

    ip route add default via 192.168.1.1
    
  • 删除默认路由:

    ip route del default
    
  • 添加静态路由:

    ip route add 10.0.0.0/8 via 192.168.1.1
    

ip neigh

用于查看和管理邻居表(ARP 表)。

  • 查看邻居表:

    ip neigh show
    
  • 添加静态 ARP 条目:

    ip neigh add 192.168.1.2 lladdr 00:11:22:33:44:55 dev eth0
    
  • 删除 ARP 条目:

    ip neigh del 192.168.1.2 dev eth0
    

ip tunnel

用于查看和管理隧道接口。

  • 查看所有隧道:

    ip tunnel show
    
  • 添加隧道接口:

    ip tunnel add tun0 mode gre remote 192.168.1.2 local 192.168.1.1 ttl 255
    
  • 删除隧道接口:

    ip tunnel del tun0