012 rm命令
命令说明
rm(remove)用于删除文件或目录。它是 Linux 中最危险的命令之一,删除后不进入回收站、几乎不可恢复,使用前务必确认路径。
语法
rm [选项]... 文件/目录...
常用参数
| 参数 | 说明 |
|---|---|
| -f | 强制删除,不提示确认,忽略不存在的文件 |
| -i | 每次删除前都提示确认 |
| -I | 一次删除超过 3 个文件或删除目录时才提示一次 |
| -r / -R | 递归删除目录及其内容(删除目录必加) |
| -d | 删除空目录(等价于 rmdir) |
| -v | 显示删除过程 |
使用示例
$ rm a.txt
删除文件 a.txt
$ rm -f a.txt
强制删除,不存在也不报错
$ rm -i *.log
逐个确认删除当前目录下所有 .log 文件
$ rm -r /opt/app
递归删除 app 目录(会提示确认)
$ rm -rf /opt/app
强制递归删除目录,不提示(危险)
$ rm -rf ./build/
删除相对路径下的 build 目录(务必确认当前目录)
$ find . -name "*.pyc" -delete
删除所有 .pyc 文件(比 rm 更安全可控)
实用技巧
- rm -rf / 会删除整个系统,现代 rm 默认拒绝并提示 --no-preserve-root;切勿对根目录或关键系统目录使用 -rf。
- 执行 rm -rf 前先 pwd 确认所在目录,并用 ls 确认目标;不要使用通配符删除不确定的路径。
- 被进程占用的文件删除后磁盘空间不会立即释放,用 lsof | grep deleted 查看并重启占用进程。
- 想“可恢复删除”可安装 trash-cli,用 trash-put 代替 rm。