在 Linux 命令中,- 开头的东西几乎都是“参数/选项“,用来告诉命令“具体怎么做“

本文系统讲解了Linux命令中参数的使用规则:

  1. 核心规律:以"-"或"--"开头的99%是参数,分为短参数(-r)、长参数(--help)和带值参数(-name value)三种类型;
  2. 参数分类:开关型参数(如ls -l)和变量型参数(如find -name *.txt);
  3. 特殊用法:单独"-"表示标准输入或上一个目录;
  4. 记忆技巧:参数多取自完整单词首字母(如-r=recursive);
  5. 提供常见命令参数速查表,帮助快速掌握命令结构。

理解这些规律能有效提升Linux命令使用效率。


在 Linux 命令中,- 开头的东西几乎都是"参数/选项",用来告诉命令"具体怎么做"


下面帮你彻底理清这个概念,因为这对理解所有 Linux 命令都很重要。


一、核心规律

写法 含义 作用
-r 短参数(单个字母) 打开某个开关
-rf 多个短参数合并 同时打开多个开关
--help 长参数(单词) 更容易读懂
-name 带值的参数 后面跟具体值

一句话 :只要以 --- 开头,99% 是参数。


二、find 命令中的参数示例

你提到的 -name-type 就是典型的带值的参数

bash

复制代码
find /home -name "*.txt" -type f
部分 含义 说明
-name 参数:按文件名查找 后面跟匹配模式
"*.txt" -name 的值 要匹配的文件名
-type 参数:按类型查找 后面跟类型代码
f -type 的值 f 表示普通文件

前端类比

javascript

复制代码
// find /home -name "*.txt" 相当于
find({
    path: '/home',
    name: '*.txt',   // -name 是参数名,后面是参数值
    type: 'f'        // -type 是参数名,后面是参数值
})

三、参数分类对比表

3.1 无值的开关参数(开关型)

命令 参数 含义 作用
ls -l long 显示详细信息
ls -a all 显示隐藏文件
rm -r recursive 递归删除
rm -f force 强制删除
grep -v invert 反选(显示不匹配的)
grep -n number 显示行号

bash

bash 复制代码
# 可以组合使用
ls -la      # 显示所有文件 + 详细信息
rm -rf      # 递归 + 强制
grep -vn    # 反选 + 显示行号

3.2 带值的参数(变量型)

命令 参数 含义 后面跟的值
find -name 按名字找 文件名模式
find -type 按类型找 f(文件)、d(目录)
find -mtime 按修改时间 天数(如 +7
tar -f 指定文件名 压缩包名
tar -C 指定目录 目录路径
chmod -R 递归 无值(但通常算开关型)

-mtimemodification time 的组合。

bash

bash 复制代码
# 带值的参数必须跟值
find . -name "*.log"    # -name 的值是 "*.log"
find . -type d          # -type 的值是 d(目录)
tar -zcvf output.tar.gz file1 file2  # -f 的值是 output.tar.gz

四、短参数 vs 长参数

类型 格式 例子 优点
短参数 - + 单个字母 -r-f-a 敲得快,可以合并 -rf
长参数 -- + 单词 --help--recursive 容易读懂,脚本里更清晰

bash

bash 复制代码
# 短参数
ls -la
rm -rf

# 长参数(部分命令支持)
ls --all --long
rm --recursive --force

五、特殊情况:不是参数的 -

5.1 单独一个 -

bash

bash 复制代码
# 单独一个 - 代表"标准输入"或"上一个目录"
cat file.txt | grep "error" | cat -   # - 代表前面的输出
cd -                                    # 回到上一个目录

5.2 文件名以 - 开头

bash

bash 复制代码
# 创建了一个奇怪文件叫 -rf
touch ./-rf

# 正常写法会把它当参数
rm -rf     # ❌ 报错:missing operand

# 正确删除:用 -- 表示"后面不是参数"
rm -- -rf  # ✅ 删文件名叫 -rf

六、记忆技巧

看到 ---,先当成参数。

  • 如果是 - + 单个字母:开关型(无值)或简写

  • 如果是 - + 单词:带值型(后面跟东西)

  • 如果是 -- + 单词:长参数(更易读)

  • 如果是单独的 - 或文件名:特殊情况

前端类比

javascript

复制代码
// Linux 参数 ≈ 函数传参
command -name value -r

// 相当于
command({
    name: value,    // -name value
    recursive: true // -r
})

七、常见命令参数速查

命令 常见参数 含义 类型
ls -l-a-h 详细信息、全部、人类可读 开关型
rm -r-f-i 递归、强制、交互 开关型
cp -r-f-i 递归、强制、交互 开关型
find -name-type-mtime 名字、类型、时间 带值型
tar -c-x-z-v-f 创建、解压、gzip、详细、文件 混合
grep -v-n-r 反选、行号、递归 开关型
chmod -R 递归 开关型

常见命令参数速查(含完整单词)

命令 参数 完整单词 含义
ls -l long 长格式显示(详细信息)
ls -a all 显示所有文件(含隐藏文件)
ls -h human-readable 人类可读(如 1K、2M、3G)
rm -r recursive 递归删除(删目录必用)
rm -f force 强制删除(不询问、不报错)
rm -i interactive 交互式(删除前询问)
cp -r recursive 递归复制(复制目录必用)
cp -f force 强制覆盖(不询问)
cp -i interactive 交互式(覆盖前询问)
find -name name 按文件名查找
find -type type 按类型查找(f=文件,d=目录)
find -mtime m odification time 按修改时间查找
tar -c create 创建压缩包
tar -x extract 解压(提取)
tar -z zip(gzip) 通过 gzip 压缩/解压
tar -v verbose 显示详细信息(啰嗦模式)
tar -f file 指定文件名
grep -v v invert(反转) 反选(显示不匹配的行)
grep -n number 显示匹配行的行号
grep -r recursive 递归搜索目录
chmod -R Recursive 递归修改权限

记忆小贴士

参数 完整单词 一句话记忆
-r recursive r = 递归(钻进去)
-f force f = 强制(别废话)
-i interactive i = 问你一下
-v verbose / invert v = 啰嗦(tar)或 反选(grep)
-h human-readable h = 给人看的
-a all a = 全部
-c create c = 创建
-x extract x = 提取
-z zip z = 压缩
-f(tar) file f = 指定文件
-n number n = 行号

规律总结

绝大多数参数都是取完整单词的首字母

完整单词 参数
recursive → -r
force → -f
interactive → -i
all → -a
human-readable → -h
number → -n
verbose → -v
create → -c
extract → -x

例外(不取首字母):

  • -name-type-mtime 是多字母完整单词

  • -z 取自 zip(不是 z 开头的单词首字母,而是压缩格式名)


八、总结一句话

是的,- 开头的都是参数,用来告诉命令"怎么做"。-r 是开关,-name 是带值的参数,单独一个 - 是特殊情况。

这个规律适用于 99% 的 Linux 命令,掌握了它,你看任何命令都能快速理解结构!

相关推荐
IT大白鼠1 小时前
Linux账号和权限管理
linux·运维·服务器
zzzyyy5381 小时前
Linux 下 从 ELF 可执行文件 到 进程虚拟地址空间的加载、映射与运行底层原理
linux·运维
hweiyu002 小时前
Linux命令:ip6tables
linux·运维·服务器
hweiyu003 小时前
Linux命令:nmtui
linux
MY_TEUCK4 小时前
【2026最新Linux虚拟机安装】Linux 虚拟机安装VMware 17 + CentOS 7
linux·运维·centos
Rust研习社4 小时前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
Shingmc34 小时前
【Linux】传输层协议TCP
linux·网络·tcp/ip
xcLeigh5 小时前
KES大小写混合路径+国产OS/文件系统兼容实战
linux·数据库·文件系统·兼容性·麒麟·欧拉·kes
weixin_417257065 小时前
ubuntu系统-dify-相关文件配置
linux·运维·ubuntu