rmdir
rmdir(remove directory)用于删除空目录。目录里只要还有东西就拒绝执行 —— 这正是它相对 rm -r 的价值:命令写错了最多失败一次,不会连内容一起删掉。
rmdir [选项] 目录...只能删目录,删文件用
rm目录非空、目录不存在、参数是文件,三种情况都会报错并返回非零
| 选项 | 说明 |
|---|---|
-p |
删完之后继续往上删变空的父目录(parents) |
-v |
打印每一个被删掉的目录(verbose) |
--ignore-fail-on-non-empty |
目录非空时静默跳过,不当作错误 |
1. 删空目录
rmdir emptyrmdir notempty输出:
rmdir: failed to remove 'notempty': Directory not empty2. 逐层往上删
mkdir -p a/b/crmdir -p a/b/c
c、b、a依次删掉,某一层不空就停在那里 和mkdir -p正好是一对
3. 批量清理,非空的留着
rmdir --ignore-fail-on-non-empty */少了这个选项,非空目录会刷一屏报错,整条命令还会返回失败
4. 看起来空的目录删不掉
ls dir # 什么都没有ls -A dir # .gitkeeprmdir dir # Directory not empty隐藏文件也算内容,
ls默认看不见它们,用ls -A确认,见 ls
man rmdir- GNU Coreutils – rmdir