linux 100 commands & parameter


Linux 常用 100 命令速查表


一、文件与目录管理

  1. ls – list
    显示目录内容

    ls -l       # 详细列表
    ls -a       # 包括隐藏文件
  2. cd – change directory
    切换目录

    cd /etc
    cd ..       # 返回上一级
  3. pwd – print working directory
    显示当前目录

    pwd
  4. mkdir – make directory
    创建目录

    mkdir test
    mkdir -p a/b/c   # 递归创建
  5. rmdir – remove directory
    删除空目录

    rmdir test
  6. tree – (无缩写)
    以树形结构显示目录

    tree
  7. lsblk – list block devices
    查看磁盘挂载情况

    lsblk

二、文件操作

  1. touch – (无缩写)
    创建空文件/更新时间戳

    touch a.txt
  2. cp – copy
    复制文件

    cp a.txt b.txt
    cp -r dir1 dir2
    cp ../b/a.txt .
  3. mv – move
    移动/重命名/如有同名会覆盖已有文件

    mv a.txt b.txt
    mv old new
  4. rm – remove
    删除文件/目录

    rm a.txt
    rm -rf dir
  5. cat – concatenate

    /kɒnˈkætɪneɪt/
    adj.连锁状的
    v.使(成串地)连结衔接起来
    web.连接;串联;多联体

    查看文件内容

    cat file.txt
  6. more – (无缩写)
    分页查看文件

    more file.txt
  7. less – (无缩写)
    更强大的分页工具

    less file.txt
  8. head – (无缩写)
    查看文件前几行

    head -n 10 file.txt
  9. tail – (无缩写)
    查看文件末尾内容

    tail -f log.txt   # 实时跟踪
  10. wc – word count
    统计文件行数、字数、字节数

    wc -l file.txt
  11. stat – status
    查看文件属性

    stat file.txt
  12. file – (无缩写)
    查看文件类型

    file file.txt

三、搜索与查找

  1. find – (无缩写)
    按条件查找文件

    find . -name "*.txt"
  2. locate – (无缩写)
    /ˈloʊkeɪt/
    v. 找出…的准确位置;确定…的准确地点;把…安置在(或建造于)
    web. 定位;位于;使坐落于

    快速查找文件(依赖索引)

    locate passwd
  3. which – (无缩写)
    查找命令路径

    which ls
  4. whereis – (无缩写)
    查找命令及帮助文档位置

    whereis ls
  5. type – (无缩写)
    判断命令类型(内建/外部)

    type cd
  6. grep – global regular expression print
    文本搜索(详见文档末尾)


四、压缩与归档

  1. tar – tape archive
    打包/解包

    tar -cvf a.tar dir
    tar -xvf a.tar
  2. gzip – GNU zip
    压缩文件

    gzip file.txt
  3. gunzip – GNU unzip
    解压文件

    gunzip file.txt.gz
  4. zip – (无缩写)
    压缩文件

    zip a.zip file1 file2
  5. unzip – (无缩写)
    解压文件

    unzip a.zip

五、用户与权限

  1. whoami – (无缩写)
    显示当前用户

    whoami
  2. id – (无缩写)
    显示用户 UID、组信息

    id
  3. who – (无缩写)
    显示登录用户

    who
  4. w – (无缩写)
    显示当前活动用户及负载

    w
  5. su – substitute user

    /ˈsʌbstɪtuːt/
    v.取代;(以…)代替
    n.代用品;代替物;代替者
    web.替身;替换;替代

    切换用户

    su root
  6. sudo – super user do
    临时以 root 身份执行

    sudo ls /root
  7. passwd – (无缩写)
    修改密码

    passwd
  8. chmod – change mode
    修改权限

    chmod 755 file.sh
  9. chown – change owner
    修改所有者

    chown user:user file.txt
  10. groups – (无缩写)
    查看用户所属组

    groups

六、进程与系统监控

  1. ps – process status
    查看进程

    ps aux
  2. top – (无缩写)
    动态显示进程

    top
  3. htop – (无缩写)
    更友好的进程管理工具

    htop
  4. kill – (无缩写)
    结束进程
    (数字为对应的PID值)

    kill 1234
    # 使用信号9进行强制结束进程
    kill -9 1234
  5. killall – (kill all)
    按服务名结束相关进程

    killall nginx
  6. jobs – (无缩写)
    查看后台任务,它会列出所有作业的编号、状态和命令

    jobs
  7. fg – foreground
    例子的意思是将后台编号1的任务切换到前台运行任务
    %1 是作业号(job number)
    比如执行 %1 任务时,使用 Ctrl+Z 暂停,或者在命令末尾加上 &,任务会被暂停
    此时终端可以用来做别的事,当别的事情完成后,就可以用 fg %1 将暂停的作业重新开始

    fg %1
  8. bg – background
    将后台暂停的作业 %N 变为后台运行
    接上例,如果 %1 被 Ctrl+Z 暂停了,可以用 bg %1 让它在后台继续运行,而不是回到前台

    bg %1
  9. uptime – (无缩写)
    查看系统运行时间和负载

    uptime
  10. dmesg – diagnostic message
    /ˌdaɪ.əɡˈnɑː.stɪk/
    adj.诊断的;用于诊断的(对于疾病)
    判断的;用于判断的(对于问题)
    查看内核日志

    dmesg | tail

七、磁盘与文件系统

  1. df – disk free
    查看磁盘空间

    df -h
  2. du – disk usage
    查看目录大小

    du -sh *
  3. mount – (无缩写)
    挂载文件系统

    mount /dev/sdb1 /mnt
  4. umount – (无缩写)
    卸载文件系统

    umount /mnt
  5. lsblk – list block devices
    查看磁盘分区

    lsblk
  6. blkid – block id
    查看磁盘 UUID

    blkid
  7. fsck – file system check
    检查文件系统错误

    fsck /dev/sdb1
  8. mkfs – make filesystem
    格式化磁盘

    mkfs.ext4 /dev/sdb1

八、网络管理

  1. ping – (无缩写)
    测试网络连通

    ping google.com
  2. curl – (无缩写)
    网络请求工具

    curl http://example.com
  3. wget – (无缩写)
    下载文件

    wget http://example.com/file.zip
  4. ifconfig – interface config
    显示或配置网卡(旧命令)

    ifconfig
  5. ip – (无缩写)
    新的网络配置命令

    ip addr show
  6. netstat – network statistics
    网络连接情况(旧)

    netstat -tulnp
  7. ss – socket statistics
    查看网络连接(推荐)

    ss -tulnp
  8. traceroute – (无缩写)
    路由跟踪

    traceroute google.com
  9. dig – domain information groper
    DNS 查询

    dig google.com
  10. nslookup – (无缩写)
    另一种 DNS 查询

    nslookup google.com
  11. scp – secure copy
    远程文件拷贝

    scp file.txt user@host:/tmp
  12. rsync – remote sync
    高效同步文件

    rsync -avz src/ user@host:/dst
  13. ssh – secure shell
    远程登录

    ssh user@host

九、软件包管理(以 Debian/Ubuntu 为例)

  1. apt-get – advanced package tool
    安装/卸载软件

    sudo apt-get install nginx
  2. apt – (简化版)

    sudo apt update
    sudo apt upgrade
  3. dpkg – Debian package
    管理 .deb

    dpkg -i pkg.deb
  4. snap – (无缩写)
    新的软件包格式

    snap install code             # - 安装 vscode
    snap remove                   # - 移除 snap 包
    snap refresh                  # - 更新 snap 包
    snap list                     # - 列出已安装的 snap 包
    snap find                     # - 搜索可用的 snap 包
    snap info                     # - 显示 snap 包信息
    snap revert                   # - 回滚到之前版本
    snap disable/enable           # - 禁用/启用 snap 包
    snap services                 # - 管理 snap 服务    

十、系统信息

  1. uname – unix name
    查看系统信息

    uname -a
  2. hostname – (无缩写)
    查看主机名

    hostname
  3. date – (无缩写)
    显示/设置日期

    date
  4. cal – calendar
    显示日历

    cal
  5. uptime – (无缩写)
    系统运行时长

    uptime
  6. free – (无缩写)
    显示内存

    free -h
  7. vmstat – virtual memory statistics
    内存/CPU统计

    vmstat 1
  8. iostat – I/O statistics
    磁盘 I/O 监控

    iostat
  9. lscpu – list CPU
    CPU 信息

    lscpu
  10. lsusb – list USB
    USB 设备信息

    lsusb
  11. lspci – list PCI
    PCI 设备信息

    lspci

十一、Shell 常用

  1. echo – (无缩写)
    输出字符串

    echo hello
  2. history – (无缩写)
    查看历史命令

    history | grep ssh
  3. alias – (无缩写)
    设置命令别名

    alias ll='ls -alF'
  4. unalias – (无缩写)
    删除别名

    unalias ll
  5. clear – (无缩写)
    清屏

    clear
  6. exit – (无缩写)
    退出 shell

    exit
  7. logout – (无缩写)
    注销会话

    logout
  8. env – environment
    查看环境变量

    env
  9. export – (无缩写)
    设置环境变量

    export PATH=$PATH:/opt/bin
  10. printenv – (无缩写)
    打印环境变量

    printenv PATH
  11. set – (无缩写)
    显示所有变量

    set
  12. unset – (无缩写)
    删除变量

    unset VAR
  13. source – (无缩写)
    执行脚本

    source ~/.bashrc
  14. man – manual
    查看帮助文档

    man ls

  15. uniq – unique(独特的、唯一的)
    去除文件中的重复内容行。uniq命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用sort命令进行排序后再去重,这样保留下来的内容就都是唯一的了

    uniq file.txt

🔎 附录:grep 速查表

grep 语法

grep [options] pattern [files]grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
  • pattern - 表示要查找的字符串或正则表达式。
  • files - 表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据。

常用参数:

  • -i:忽略大小写进行匹配。
  • -v:反向查找,只打印不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -l:只打印匹配的文件名。
  • -c:只打印匹配的行数。

更多参数说明

  • -a 或 –text : 不要忽略二进制的数据。
  • -A<显示行数> 或 –after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -b 或 –byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
  • -B<显示行数> 或 –before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -c 或 –count : 计算符合样式的列数。
  • -C<显示行数> 或 –context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -d <动作> 或 –directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e<范本样式> 或 –regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
  • -E 或 –extended-regexp : 将样式为延伸的正则表达式来使用。
  • -f<规则文件> 或 –file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
  • -F 或 –fixed-regexp : 将样式视为固定字符串的列表。
  • -G 或 –basic-regexp : 将样式视为普通的表示法来使用。
  • -h 或 –no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
  • -H 或 –with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
  • -i 或 –ignore-case : 忽略字符大小写的差别。
  • -l 或 –file-with-matches : 列出文件内容符合指定的样式的文件名称。
  • -L 或 –files-without-match : 列出文件内容不符合指定的样式的文件名称。
  • -n 或 –line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • -o 或 –only-matching : 只显示匹配PATTERN 部分。
  • -q 或 –quiet或–silent : 不显示任何信息。
  • -r 或 –recursive : 此参数的效果和指定”-d recurse”参数相同。
  • -s 或 –no-messages : 不显示错误信息。
  • -v 或 –invert-match : 显示不包含匹配文本的所有行。
  • -V 或 –version : 显示版本信息。
  • -w 或 –word-regexp : 只显示全字符合的列。
  • -x –line-regexp : 只显示全列符合的列。
  • **-y **: 此参数的效果和指定”-i”参数相同。

基本用法

grep 'root' /etc/passwd     # 搜索包含 root 的行
grep -i 'error' log.txt     # 忽略大小写
grep -n 'main' file.c       # 显示行号
grep -v 'test' file.txt     # 反向匹配
grep -r 'TODO' ./src        # 递归搜索目录
grep --color=auto root /etc/passwd   # 高亮

常用正则

grep '^root' /etc/passwd    # 以 root 开头
grep 'bash$' /etc/passwd    # 以 bash 结尾
grep 'r..t' file.txt        # r+任意两字符+t
grep 'lo*ng' file.txt       # lng, long, loong
grep '[ch]at' file.txt      # cat 或 hat
grep '[^0-9]' file.txt      # 含非数字
grep -E '(foo|bar)' file.txt # foo 或 bar

组合用法

ps aux | grep nginx         # 查找进程
dmesg | grep -i usb         # 内核日志里找 USB
history | grep ssh          # 历史命令中找 ssh

Linux 常用命令参数速查表(A-Z)


🅰 A

  • -a → all
    显示所有内容(包括隐藏文件)。
    示例:ls -a 显示所有文件。

  • -A → almost all
    类似 -a,但不显示 ...
    示例:ls -A


🅱 B

  • (常见命令里较少单独使用 -b
    示例:ls -b 以转义方式显示不可打印字符。

🅲 C

  • -c → count / change time
    统计、显示更改时间。
    示例:grep -c pattern file 统计匹配行数。

🅳 D

  • -d → directory
    针对目录本身,而不是目录里的内容。
    示例:ls -d */ 只显示目录。

🅴 E

  • -e → expression
    指定表达式/模式。
    示例:grep -e pattern1 -e pattern2 file

🅵 F

  • -f → force / file
    强制执行或指定文件。
    示例:rm -f file.txt 强制删除。

🅶 G

  • (常用场景较少单独出现)
    示例:ls -g 类似 -l 但不显示所有者。

🅷 H

  • -h → human readable / help
    人类可读输出;或帮助。
    示例:ls -lh 显示 KB/MB 单位文件大小。
    示例:command -h 查看帮助。

🅸 I

  • -i → interactive / ignore case / inode
    示例:

    • rm -i file.txt 删除前确认。
    • grep -i pattern file 忽略大小写。
    • ls -i 显示 inode 号。

🅹 J

  • (很少用到)

🅺 K

  • (无通用缩写)

🅻 L

  • -l → long
    长列表格式。
    示例:ls -l 显示详细信息。

🅼 M

  • -m → multiple / merge
    示例:ls -m 用逗号分隔文件名。

🅽 N

  • -n → number
    显示行号或数字形式。
    示例:grep -n pattern file 显示行号。

🅾 O

  • -o → only / owner
    示例:

    • grep -o pattern file 只输出匹配部分。
    • ls -o 类似 -l 但不显示组。

🅿 P

  • -p → preserve / parents
    示例:

    • mkdir -p a/b/c 自动创建父目录。
    • cp -p 保留时间戳。

🆀 Q

  • -q → quiet
    静默模式,不输出内容。
    示例:grep -q pattern file && echo "found"

🆁 R

  • -r → recursive / reverse
    示例:

    • grep -r pattern ./ 递归搜索。
    • ls -r 倒序输出。

🆂 S

  • -s → silent / size / sort
    示例:

    • rm -s 静默模式。
    • du -s 仅显示总大小。

🆃 T

  • -t → time
    按时间排序。
    示例:ls -lt 按修改时间排序。

🆄 U

  • -u → user / access time
    示例:

    • ls -lu 按访问时间显示。
    • chown -u user file 指定用户。

🆅 V

  • -v → invert match / verbose
    示例:

    • grep -v pattern file 显示不匹配的行。
    • cp -v 显示详细过程。

🆆 W

  • -w → word
    精确匹配整个单词。
    示例:grep -w root /etc/passwd

🆇 X

  • -x → exact match / extract
    示例:grep -x 'pattern' file 匹配整行。

🆈 Y

  • (较少见)

🆉 Z

  • -z → zero terminated / compress
    示例:grep -z 用 NULL 分隔输入。
    示例:gzip -z 压缩。

常见大小写参数对照表

小写参数 大写参数 关系
-a (所有文件) -A (几乎所有,排除...) 功能细分
-f (强制/文件) -F (固定字符串/完整格式) 功能不同
-l (长格式/列出匹配文件) -L (跟随符号链接) 功能不同
-n (行号) -N (禁止转义/字面值) 功能不同
-r (递归/反序) -R (递归并跟随符号链接) 扩展功能
-v (反选/详细) -V (版本信息) 功能不同
-x (精确匹配整行) -X (排除文件/扩展功能) 功能不同

常见元字符表(Linux Metacharacter)

元字符(Metacharacter) 名称 介绍 示例
(空格) 空格 分隔命令、参数和选项。 ls -l
| 管道符 将前一个命令的标准输出作为后一个命令的标准输入。 ls -l | grep ".txt"
> 重定向输出(覆盖) 将命令的标准输出重定向到文件,会覆盖文件原有内容。 echo "Hello" > file.txt
>> 重定向输出(追加) 将命令的标准输出追加到文件末尾。 echo "World" >> file.txt
< 重定向输入 将文件内容作为命令的标准输入。 wc < file.txt
$ 变量引用 引用变量的值。 echo $HOME
# 注释 在脚本或命令中用于添加注释,该行 # 之后的内容会被忽略。 # This is a comment
* 通配符(Wildcard) 匹配任何零个或多个字符。 ls *.txt
? 通配符(Wildcard) 匹配任何单个字符。 ls file?.txt
[] 通配符(Wildcard) 匹配括号内列出的任何单个字符。 ls [abc].txt
& 后台执行 在后台运行命令,使终端立即返回。 sleep 60 &
() 子 Shell 在一个子 Shell 中执行命令列表。 (cd /tmp && ls)
; 顺序执行 按顺序执行多个命令,不关心前一个命令的成功与否。 cmd1 ; cmd2
&& 逻辑 AND 只有前一个命令成功(返回 0)时,才执行下一个命令。 cmd1 && cmd2
|| 逻辑 OR 只有前一个命令失败(返回非 0)时,才执行下一个命令 `command1
' 单引号(Single Quotes) 强引用,引号内的所有字符都按字面值处理,不进行任何转义或变量替换。 echo '$HOME'
" 双引号(Double Quotes) 弱引用,引号内的字符按字面值处理,但会进行变量替换和命令替换。 echo "$HOME"
` 反引号(Backticks) 执行命令,并将其标准输出作为另一个命令的参数。 echo "The current date is `date`"
\ 转义符(Escape) 用于取消元字符的特殊含义,使其按字面值处理。 echo "The path is C:\\Users"

“-”连字符的用法和意义

  1. 命令参数前缀
  2. 在 cd 命令里,- 代表“上一次所在的工作目录”。 cd -则会回到上次工作的目录
  3. 正则里表示范围 grep '[a-z]' file # 匹配任意小写字母
  4. 代表标准输入/输出(stdin/stdout)
    很多命令把单独的 - 当作“标准输入”或“标准输出”的占位符。
    cat - file.txt      # 先从标准输入读数据,再读 file.txt
    grep "abc" -        # 从标准输入中搜索 "abc"
    tar -czf - dir/ > archive.tar.gz   # 将 tar 输出写到 stdout,再重定向到文件
    tar -xzf archive.tar.gz -C -       # 从 stdin 读取压缩包并解压

更多信息:
菜鸟教程
linuxcool


文章作者: Alan Work
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alan Work !
  目录