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。