rm 是 Linux 中用于删除文件或目录的核心命令,功能强大但需谨慎使用(尤其是 -r 和 -f 组合)。以下是详细使用方法及注意事项:
删除单个文件
rm filename.txt
删除多个文件
rm file1.txt file2.jpg file3.log
删除前确认(交互模式)
rm -i *.txt # 删除所有.txt文件前逐个确认
删除空目录
rmdir dirname # 仅对空目录有效
递归删除非空目录
rm -r dirname # 递归删除目录及其内容
| 选项 | 作用 | 示例 |
|---|---|---|
-f |
强制删除(忽略错误) | rm -f *.log |
-v |
显示删除过程 | rm -v old_* |
-- |
终止选项解析(处理特殊文件名) | rm -- -filename |
强制递归删除目录(无警告)
rm -rf /path/to/dir # 极端危险!确保路径正确
删除隐藏文件
rm -r .* # 危险!可能误删父目录(..)
rm -r .[^.]* # 更安全的隐藏文件删除
替代方案
trash-cli 或 gvfs-trash 移动到回收站:bash
trash-put filenamefind 选择性删除:bash
find /path -name "*.tmp" -delete防止误删
alias rm='rm -i' # 加入~/.bashrc(需谨慎使用)
关键检查
rm -rf 前用 echo 预览:bash
echo rm -rf /path/* # 确认输出无误后去掉echoextundelete(仅限ext3/4文件系统):bash
extundelete /dev/sdX --restore-file /path/to/file注意:rm -rf / 或 rm -rf /* 会摧毁系统!务必检查命令路径后再执行。生产环境建议限制权限或使用备份策略。