rm ¶
rm 命令翻译与常用案例 ¶
命令简介 ¶
rm 用于删除文件或目录。
选项说明 ¶
| 选项 | 说明 |
|---|---|
-f, --force |
忽略不存在的文件,从不提示确认 |
-i |
每次删除前都提示确认 |
-I |
删除超过3个文件或递归删除时提示一次;比 -i 干扰少,但仍有保护作用 |
--interactive[=WHEN] |
根据 WHEN 参数决定提示时机:never(从不)、once(同 -I)、always(同 -i);不指定 WHEN 则始终提示 |
--one-file-system |
递归删除时,跳过与命令行参数所在文件系统不同的目录 |
--no-preserve-root |
不对 '/' 做特殊保护 |
--preserve-root[=all] |
不删除 '/'(默认);使用 all 时拒绝删除与父目录在不同设备上的参数 |
-r, -R, --recursive |
递归删除目录及其内容 |
-d, --dir |
删除空目录 |
-v, --verbose |
显示正在执行的操作 |
--help |
显示帮助信息 |
--version |
显示版本信息 |
默认行为 ¶
默认情况下,rm 不删除目录。需要使用 -r 或 -R 选项才能删除目录及其所有内容。
删除以 '-' 开头的文件 ¶
如果文件名以 - 开头(如 -foo),可使用以下方式:
rm -- -foo
# 或
rm ./-foo
注意事项 ¶
用 rm 删除文件后,理论上仍有可能通过专业技术恢复部分内容。若需彻底不可恢复,建议使用 shred 命令。
常用案例 ¶
1. 删除单个文件 ¶
rm file.txt
2. 删除多个文件 ¶
rm file1.txt file2.txt file3.txt
3. 强制删除文件(不提示) ¶
rm -f file.txt
4. 递归删除目录及其所有内容 ¶
rm -r /path/to/directory
或
rm -rf /path/to/directory # 强制递归删除(常用,但需谨慎!)
5. 删除空目录 ¶
rm -d empty_dir
或使用 rmdir 命令。
6. 删除前逐个确认 ¶
rm -i file1.txt file2.txt
7. 删除多个文件时只提示一次 ¶
rm -I file1.txt file2.txt file3.txt
8. 显示删除过程 ¶
rm -v file.txt
# 输出:removed 'file.txt'
9. 删除以 '-' 开头的文件 ¶
rm -- -foo
# 或
rm ./-foo
10. 递归删除但保留根目录(安全保护) ¶
rm -rf / # 默认有 --preserve-root 保护,不会执行
# 除非使用 --no-preserve-root 才会真的删除系统
11. 递归删除时跳过其他文件系统 ¶
rm -rf --one-file-system /path/to/dir
# 如果 /path/to/dir 下有挂载点,这些挂载点内的内容不会被删除