首页 / Linux 命令行入门教程 / 17. rm 与 rmdir:删除

Linux 命令行入门教程

17. rm 与 rmdir:删除

本教程共 90 篇 · 第 17 篇

17. rm 与 rmdir:删除

删东西要小心,Linux 没有回收站。删了就真没了,恢复很麻烦。

rmdir 只能删空的目录。目录里只要有任何文件,它就会拒绝:

mkdir empty
rmdir empty

如果目录不空,会报错提醒你:

mkdir box
touch box/thing.txt
rmdir box
# rmdir: 删除 'box' 失败: 目录非空

想连带里面的内容一起删,得用 rm

rm 删除文件

删单个文件很简单:

rm note.txt

删一批文件,配合通配符(如 §12 所述)更高效:

rm *.tmp

常用选项

-i 会在删除前逐个问你,最安全:

rm -i important.txt
# rm:是否删除普通文件 'important.txt'?

-r 是递归删除,用来删目录及其全部内容。它很危险,务必确认路径再回车。

-f 是强制,不询问也不报错。它和 -r 组合成 rm -rf,是本书最危险的操作之一。

Warning

永远不要执行 rm -rf /rm -rf ~ 它会强制递归删除整个系统或你的家目录,且无法撤销。用 rm -rf 前,先 pwd 看清自己在哪,再确认路径拼写正确。

一个易错细节

注意 rm t*rm t * 的天壤之别:前者删所有 t 开头的文件,后者删文件 t 和当前目录全部文件。空格是分隔符,敲的时候手要稳。

Tip

拿不准时,先用 ls 把要删的文件列出来确认,再换成 rm。或者始终带上 -i

小结:rmdir 删空目录,rm -r 删目录树,-i 保平安。删之前,先看清路径。