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 保平安。删之前,先看清路径。