Linux 常见命令参数「简写速查总结」
按高频 + 通用性整理,重点记住这些,日常/面试基本够用 ✅
一、最常见、跨命令通用的参数
⚠️ 注意:并不是所有命令都支持,但大多数 GNU/Linux 命令含义一致
| 参数 | 全称 | 含义 |
|---|---|---|
-h |
human-readable / help | 人类可读(或帮助,需看上下文) |
-a |
all | 显示所有(含隐藏文件) |
-l |
long | 长格式显示 |
-r |
recursive / reverse | 递归(或反向) |
-R |
recursive | 递归(更常见) |
-f |
force | 强制 |
-i |
interactive | 交互确认 |
-v |
verbose | 显示详细过程 |
-q |
quiet | 安静模式 |
-n |
number / no | 数量 / 禁止某功能 |
-d |
directory | 操作目录本身 |
-c |
command / count | 执行命令 / 计数 |
-t |
time / type | 时间 / 类型 |
二、文件 / 目录相关(ls / cp / mv / rm)
✅ ls
| 参数 | 含义 |
|---|---|
-a |
显示隐藏文件 |
-l |
详细信息 |
-h |
人类可读大小 |
-R |
递归显示子目录 |
-t |
按时间排序 |
-S |
按大小排序 |
-d |
显示目录本身 |
✅ 常用组合:
ls -lah
✅ cp
| 参数 | 含义 |
|---|---|
-r / -R |
递归复制目录 |
-a |
归档(保留属性)⭐ |
-f |
强制覆盖 |
-i |
覆盖前询问 |
-v |
显示过程 |
-p |
保留时间/权限 |
✅ 推荐:
cp -av src/ dest/
✅ rm
| 参数 | 含义 |
|---|---|
-r |
递归删除目录 |
-f |
强制删除 |
-i |
逐个确认 |
-v |
显示过程 |
⚠️ 高危命令:
rm -rf /
三、权限 / 用户相关
✅ chmod
| 参数 | 含义 |
|---|---|
-R |
递归修改权限 |
u |
用户(user) |
g |
组(group) |
o |
其他(other) |
a |
所有 |
示例:
chmod -R u+rwx,go+rx dir/
✅ chown
| 参数 | 含义 |
|---|---|
-R |
递归修改属主 |
: |
user:group |
chown -R nginx:nginx /var/www
四、搜索 / 文本处理(grep / find)
✅ grep
| 参数 | 含义 |
|---|---|
-r |
递归搜索 |
-i |
忽略大小写 |
-n |
显示行号 |
-v |
反向匹配 |
-E |
扩展正则 |
-w |
整词匹配 |
-c |
统计次数 |
✅ 示例:
grep -rin "error" /var/log
✅ find
| 参数 | 含义 |
|---|---|
-name |
按名称 |
-type |
类型(f/d) |
-size |
文件大小 |
-mtime |
修改时间 |
-user |
属主 |
-exec |
执行命令 |
find /tmp -type f -size +10M
五、压缩 / 解压(tar)
| 参数 | 含义 |
|---|---|
-c |
创建 |
-x |
解压 |
-t |
查看 |
-f |
指定文件 |
-z |
gzip |
-j |
bzip2 |
-J |
xz |
-v |
详细 |
✅ 记忆口诀:
cxvf 创建,xvf 解压,z 是 gzip
tar -czvf a.tar.gz dir/
六、进程 / 系统(ps / top / df)
✅ ps
| 参数 | 含义 |
|---|---|
-e |
所有进程 |
-f |
完整格式 |
-u |
指定用户 |
-aux |
BSD 风格 |
ps -ef | grep nginx
✅ df / du
| 参数 | 含义 |
|---|---|
-h |
人类可读 |
-a |
所有 |
-s |
汇总 |
-c |
合计 |
七、网络相关(curl / wget / ss)
| 参数 | 含义 |
|---|---|
-I |
只看头 |
-L |
跟随跳转 |
-O |
保存文件 |
-p |
端口 |
-t |
TCP |
-u |
UDP |
八、速记口诀(非常好记)
a= allr / R= recursivef= forcei= interactivev= verboseh= humann= numbert= timec x t= create / extract / test
✅ 总结一句话
Linux 参数简写:本质是英文首字母,多命令含义一致,但一定要结合具体命令看
man
这是个非常好的 Linux 细节问题,很多人会用,但说不清 👍
下面我用结论 + 原因 + 各命令差异给你讲清楚。
一、先给结论(核心)
-r和-R的区别不是“技术上必须”,而是“历史 + 规范不统一”造成的
✅ 总结一句话:
-R= Recursive(递归)是更“正统 / 标准”的写法-r= 为了兼容早期 Unix / BSD / 用户习惯- 具体行为完全取决于命令本身
二、历史原因(最关键)
1️⃣ 早期 Unix 没统一规范
- 最早的 Unix 工具各自设计参数
- 大小写被当成不同选项
- 没有 POSIX 强约束
2️⃣ BSD vs GNU 分裂
- BSD 系:更早使用
-r - GNU 工具:更倾向用
-R表示递归 - Linux 为了兼容两边 → 同时支持
三、POSIX 标准态度
📜 POSIX 标准明确推荐:
✅
-R表示递归
但:
- 不强制禁止
-r - 是否支持由实现决定
✅ 所以:
- 写脚本时优先用
-R - 兼容性更好
四、不同命令中的真实区别(重点)
✅ 1. ls(最典型)
ls -R
✅ 递归列出子目录 ✅
ls -r
❌ 不是递归!
| 参数 | 含义 |
|---|---|
-R |
递归 |
-r |
反向排序(reverse) |
👉 ls 是最容易误用的命令
✅ 2. cp
cp -r dir1 dir2
cp -R dir1 dir2
✅ 两者效果一样(递归复制目录)
👉 GNU cp 明确支持 -r 和 -R 等价
✅ 3. rm
rm -r dir
rm -R dir
✅ 等价
但:
-r用得更多-R更符合 POSIX
✅ 4. grep
grep -r keyword .
grep -R keyword .
| 参数 | 区别 |
|---|---|
-r |
不跟随符号链接 |
-R |
跟随符号链接 |
✅ 这是少数真正有区别的命令
五、为什么不统一成一个?
原因很现实:
- 不能破坏旧脚本
- 数以亿计的脚本用
-r
- 数以亿计的脚本用
- 大小写参数本来就不同
- Unix 的哲学:兼容比优雅重要
👉 这就是 Linux 世界的“历史包袱”
六、什么时候该用哪个?(实战建议)
✅ 写脚本 / 自动化(推荐)
-R
原因:
- 更符合 POSIX
- 可读性强(Recursive)
✅ 日常手敲命令
-r
原因:
- 快
- 肌肉记忆
- rm / cp / grep 更常见
七、面试级总结(一句话)
-R是标准递归参数,-r多为历史兼容;是否等价完全取决于命令,ls和grep是典型例外
八、终极记忆法 ✅
❗ 看到
-r,一定先想一句:
“这个命令里,r是 recursive,还是 reverse?”