rm(remove)命令用于删除文件和目录,是 Linux 中非常强大也很危险的命令之一。以下是 rm 命令的使用大全,涵盖常见用法和注意事项。
🔧 基本语法
rm [选项] 文件/目录
📁 常见用法示例
1. 删除文件
rm file.txt
删除当前目录下的 file.txt 文件。
2. 删除多个文件
rm file1.txt file2.txt
同时删除多个指定的文件。
3. 强制删除(跳过确认)
rm -f file.txt
即使文件受保护(只读)也删除,不会提示确认。
4. 交互式删除(每个文件都确认)
rm -i file.txt
系统会询问是否删除每个文件。
5. 删除空目录(不推荐使用 rm,推荐用 rmdir)
rm -d emptydir
删除空目录(等同于 rmdir)。
6. 递归删除目录及其内容(危险操作)
rm -r myfolder/
递归删除 myfolder 目录及其中所有内容。
如果遇到的错误信息:
rm: cannot remove 'go/': Is a directory
说明你尝试使用 rm -i go/ 删除一个目录,但默认的 rm 不能删除目录,除非加上 -r(递归)选项。
✅ 正确做法:
方法一:交互式递归删除目录(推荐)
rm -ri go/
-
-r:递归删除目录及其内容; -
-i:每个文件都要你确认是否删除; -
比较安全,适合初学者。
方法二:直接强制删除目录及其内容(⚠️危险)
rm -rf go/
-
无任何确认,立刻删除,请确保操作正确!
🔒 建议:
如果你只是想查看将被删除的文件列表,可以先运行:
ls -R go/
这会列出 go 目录中的所有内容,让你更安心地确认后再删除。
7. 强制 + 递归删除目录及其所有文件
rm -rf myfolder/
极其危险,无提示地删除整个目录树。使用前请三思。
⚙️ 常用组合选项
| 选项 | 含义说明 |
|---|---|
-f |
强制删除,不提示 |
-i |
交互式确认 |
-I |
若一次删除多个文件时才提示 |
-r |
递归删除目录及其内容 |
-d |
删除空目录 |
-v |
显示正在删除的文件(verbose) |
🧠 安全使用技巧
🔒 防止误删的建议
-
别用
rm -rf /,哪怕是测试也不要尝试。 -
使用
-i或-I增加确认步骤。 -
设置别名增强安全性(建议加到
~/.bashrc或~/.zshrc):alias rm='rm -i' -
使用
trash-cli工具,把文件移动到回收站而不是直接删除。sudo apt install trash-cli trash-put file.txt
🧪 示例练习命令
mkdir testdir
touch testdir/a.txt testdir/b.txt
rm -i testdir/*.txt # 逐个确认删除
rm -rf testdir # 递归强制删除整个目录
❗ 常见误区与坑
-
rm *:删除当前目录所有文件(不包括目录) -
rm -rf .*:危险,可能会删除..和.git目录 -
rm -- --filename:文件名以-开头时需用--区分参数rm -- -filename.txt
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
