每天一个Linux命令5(rmdir命令)

rmdir命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。

最近一个很火的事件是GitLab是在太平洋时间周二晚上发出一系列紧急通知,称一位身处荷兰的疲惫系统管理员在进行数据库复制过程中不小心在一台错误的服务器上删除了一个目录,他删除了一个包含 300GB 实时产品数据的文件夹,在取消 rm -rf 删除命令后该文件夹只剩下 4.5GB 数据。

命令格式:

rmdir [选项]... 目录...

命令功能:

该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。 

命令参数:

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 

- v, --verbose  显示指令执行过程 

命令实例:

实例1:rmdir 不能删除非空目录

命令: rmdir scf

lenovo@zyh:~/test1$ tree scf
scf
├── bin
├── doc
│   ├── info
│   └── product
├── lib
├── logs
│   ├── info
│   └── product
└── service
    └── deploy
        ├── info
        └── product

12 directories, 0 files
lenovo@zyh:~/test1$ rmdir scf
rmdir: 删除 'scf' 失败: 目录非空
lenovo@zyh:~/test1$ 

说明:

rmdir 目录名 命令不能直接删除非空目录

实例2:rmdir -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除

命令:

rmdir -p logs

输出:

lenovo@zyh:~/test1$ tree scf
scf
├── bin
├── doc
│   ├── info
│   └── product
├── lib
├── logs
│   ├── info
│   └── product
└── service
    └── deploy
        ├── info
        └── product

12 directories, 0 files
lenovo@zyh:~/test1$ rmdir -p scf/logs
rmdir: 删除 'scf/logs' 失败: 目录非空
lenovo@zyh:~/test1$ cd scf
lenovo@zyh:~/test1/scf$ rmdir -p logs/product
rmdir: 删除目录 'logs' 失败: 目录非空

lenovo@zyh:~/test1/scf/logs$ ls
info
lenovo@zyh:~/test1/scf/logs$ cd ..
lenovo@zyh:~/test1/scf$ rmdir -p logs/info

0 directories, 0 files
lenovo@zyh:~/test1/scf$ cd ..
lenovo@zyh:~/test1$ tree scf
scf
├── bin
├── doc
│   ├── info
│   └── product
├── lib
└── service
    └── deploy
        ├── info
        └── product

9 directories, 0 files
lenovo@zyh:~/test1$ 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值