rm命令

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选项结合使用时。