约 5809 字

约 29 分钟

#Bash 的 rm 命令

rm [OPTION]... [FILE]...

功能

删除文件或目录。

类型

可执行文件(/usr/bin/rm),属于 coreutils。

参数

  • OPTION 选项:
    • -f, --force - 强制删除,不询问,忽略不存在的文件
    • -i - 删除每个文件前进行询问;同 --interactive=always
    • -I - 删除三个以上文件或递归删除前进行询问;同 --interactive=once
    • --interactive[=WHEN] - 何时进行询问;有效值:never, once, always
    • --one-file-system - 递归删除时跳过不同文件系统的目录
    • --no-preserve-root - 不保护 / 目录
    • --preserve-root[=all] - 保护 / 目录,并拒绝删除与其父目录不在同一设备的文件
    • -r, -R, --recursive - 递归删除目录
    • -d, --dir - 删除空目录
    • -v, --verbose - 打印详细信息
    • --help - 显示帮助
    • --version - 显示版本
  • - - 在所有选项之后,同 -i 选项
  • NAME=VALUE - 要设置的环境变量
  • COMMAND - 要执行的命令,如果为空则打印所有环境变量
  • ARG - 命令 COMMAND 的参数,在 shebang 行中需要使用 -S 选项

#示例

删除文件

$ rm file.txt                       # 删除单个文件
$ rm file1.txt file2.log file3.tmp  # 删除多个文件
$ rm *.tmp                          # 使用通配符

删除目录

$ rm -d dir1                        # 删除空目录
$ rm -r dir2                        # 递归删除目录
$ rm -rf dir3                       # 强制递归删除目录

删除根目录(危险!)

$ rm -rf --no-preserve-root /       # 危险!千万不要执行此命令!

#相关命令

命令说明
rmdir删除目录
shred粉碎文件(避免恢复)
unlink删除文件

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/10/27