rm 命令 #
rm
命令(remove)用于删除文件和目录。它是一个功能强大但需要谨慎使用的命令,因为在默认情况下,删除的文件无法恢复。
语法 #
rm [选项] 文件...
常用选项 #
选项 | 描述 |
---|---|
-f, --force |
忽略不存在的文件,不提示确认 |
-i, --interactive |
每次删除前提示确认 |
-I |
删除超过三个文件或递归删除前提示一次 |
-r, -R, --recursive |
递归删除目录及其内容 |
-d, --dir |
删除空目录 |
-v, --verbose |
显示详细操作信息 |
常见用法 #
1. 删除单个文件 #
rm file.txt
2. 删除多个文件 #
rm file1.txt file2.txt file3.txt
3. 强制删除文件(不提示) #
rm -f file.txt
4. 交互式删除(每个文件都提示确认) #
rm -i file.txt
输出示例:
rm: remove regular file 'file.txt'? y
5. 删除目录及其所有内容 #
rm -r directory
6. 强制递归删除目录及其内容(危险操作) #
rm -rf directory
7. 删除空目录 #
rm -d empty_directory
8. 显示删除操作的详细信息 #
rm -v file.txt
输出示例:
removed 'file.txt'
9. 删除以连字符开头的文件 #
rm -- -filename
或
rm ./-filename
10. 使用通配符删除多个文件 #
rm *.txt
这将删除当前目录中所有扩展名为.txt 的文件。
11. 删除前进行一次性确认 #
rm -I file1.txt file2.txt file3.txt file4.txt
输出示例:
rm: remove 4 arguments? y
安全提示 #
- 永远不要执行
rm -rf /
或rm -rf /*
,这将尝试删除整个系统 - 使用
rm -rf
时要格外小心,确保指定了正确的目录 - 考虑为
rm
创建一个别名,使用-i
选项以增加安全性:alias rm='rm -i'
- 在删除大量文件或重要数据前,先使用
ls
命令确认要删除的内容 - 对于重要文件,考虑先移动到临时目录而不是直接删除
- 在某些系统上,可以使用
trash-cli
等工具替代rm
,将文件移动到回收站而不是直接删除
替代方案 #
- 使用
rmdir
删除空目录 - 使用
trash-cli
将文件移动到回收站 - 创建一个脚本,将文件移动到备份目录而不是直接删除
警告 #
rm
命令删除的文件通常无法通过普通方法恢复。在 Linux 系统中,没有"回收站"概念(除非特别配置)。使用rm
命令时应格外小心,特别是与-rf
选项结合使用时。