rm(remove) 是 Linux 系统中用于删除文件和目录的基本命令之一。它是 Unix/Linux 系统管理员和用户日常操作中最常用的命令之一。
基本语法
rm [选项] 文件名/目录名
常用选项
-i(交互模式)- 在删除每个文件前提示用户确认
- 示例:
rm -i file.txt会询问"remove file.txt?"
-f(强制删除)- 忽略不存在的文件和参数,不显示警告信息
- 示例:
rm -f *.log强制删除所有.log文件
-r或-R(递归删除)- 递归删除目录及其内容
- 示例:
rm -r my_directory/删除整个目录
-v(详细模式)- 显示删除过程的详细信息
- 示例:
rm -v old_file.txt会显示"removed ‘old_file.txt’"
--(选项结束符)- 表示选项结束,后面跟着的是文件名
- 示例:
rm -- -filename删除以"-"开头的文件
重要注意事项
删除不可恢复:Linux 中的 rm 命令删除的文件通常无法恢复,不像 Windows 会先放入回收站
危险操作:
rm -rf /或rm -rf *可能造成灾难性后果- 在脚本中使用 rm 时要特别小心
替代方案:
- 考虑使用
trash-cli等工具将文件移至"回收站" - 对于重要文件,可以先使用
mv命令移动到临时目录
- 考虑使用
权限要求:
- 需要具有对目标文件/目录的写权限
- 删除目录需要对该目录的父目录有写权限
实用示例
删除单个文件:
rmdocument.pdf删除多个文件:
rmfile1.txt file2.txt file3.txt使用通配符删除:
rm*.tmp交互式删除目录:
rm-rimy_folder/强制删除所有匹配文件:
rm-fbackup_*.tar.gz
高级技巧
删除前备份:
cp-adirectory_to_delete/ backup/&&rm-rdirectory_to_delete/查找并删除:
find.-name"*.log"-execrm{}\;安全删除(覆盖文件内容后删除):
shred-usensitive_file.txt
请谨慎使用rm命令,特别是在使用 root 权限时,错误的删除操作可能导致系统损坏或数据永久丢失。