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 filename
find
选择性删除:bash
find /path -name "*.tmp" -delete
防止误删
alias rm='rm -i' # 加入~/.bashrc(需谨慎使用)
关键检查
rm -rf
前用 echo
预览:bash
echo rm -rf /path/* # 确认输出无误后去掉echo
extundelete
(仅限ext3/4文件系统):bash
extundelete /dev/sdX --restore-file /path/to/file
注意:rm -rf /
或 rm -rf /*
会摧毁系统!务必检查命令路径后再执行。生产环境建议限制权限或使用备份策略。