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

来源:互联网 发布:淘宝类目搜索 编辑:程序博客网 时间:2024/05/16 14:29

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

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

命令格式:

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

命令功能:

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

命令参数:

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

命令实例:

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

命令: rmdir scf

lenovo@zyh:~/test1$ tree scfscf├── bin├── doc│   ├── info│   └── product├── lib├── logs│   ├── info│   └── product└── service    └── deploy        ├── info        └── product12 directories, 0 fileslenovo@zyh:~/test1$ rmdir scfrmdir: 删除 'scf' 失败: 目录非空lenovo@zyh:~/test1$ 

说明:

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

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

命令:

rmdir -p logs

输出:

lenovo@zyh:~/test1$ tree scfscf├── bin├── doc│   ├── info│   └── product├── lib├── logs│   ├── info│   └── product└── service    └── deploy        ├── info        └── product12 directories, 0 fileslenovo@zyh:~/test1$ rmdir -p scf/logsrmdir: 删除 'scf/logs' 失败: 目录非空lenovo@zyh:~/test1$ cd scflenovo@zyh:~/test1/scf$ rmdir -p logs/productrmdir: 删除目录 'logs' 失败: 目录非空lenovo@zyh:~/test1/scf/logs$ lsinfolenovo@zyh:~/test1/scf/logs$ cd ..lenovo@zyh:~/test1/scf$ rmdir -p logs/info0 directories, 0 fileslenovo@zyh:~/test1/scf$ cd ..lenovo@zyh:~/test1$ tree scfscf├── bin├── doc│   ├── info│   └── product├── lib└── service    └── deploy        ├── info        └── product9 directories, 0 fileslenovo@zyh:~/test1$ 
0 0
原创粉丝点击