• 每天一个Linux命令(6)rmdir命令


         rmdir命令用来删除空目录。

        利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。

        注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部删除,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。 虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。

        (1)用法:

        用法:rmdir [选项]... 目录...

        (2)功能:

        功能:删除指定的空目录

       

        (3)选项参数:

          1) -p或--parents                                                     删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

          2) --ignore-fail-on-non-empty                                 此选项使rmdir命令忽略由于删除非空目录时导致的错误信息  

          3) -v或-verboes                                                      显示命令的详细执行过程

          4) --help                                                                显示命令的帮助信息

          5) --version                                                            显示命令的版本信息。

        (4)实例:

          1)[root@localhost sunjimeng]# rmdir --ignore-fail-on-non-empty Documents与[root@localhost sunjimeng]# rmdir --ignore有一样的功能,  目录不为空时,既不提醒也不删除

    [root@localhost sunjimeng]# ls -l /home/sunjimeng/Documents
    总用量 0
    drwxrwxr-x. 2 sunjimeng sunjimeng  6 5月   1 02:49 mainDir
    drwxrwxr-x. 2 sunjimeng sunjimeng  6 5月   1 02:52 secondDir
    drwxrwxr-x. 8 sunjimeng sunjimeng 78 5月   1 03:01 thirdDir
    [root@localhost sunjimeng]# rmdir Documents
    rmdir: 删除 "Documents" 失败: 目录非空
    [root@localhost sunjimeng]# rmdir --ignore-fail-on-non-empty Documents
    [root@localhost sunjimeng]# 

         2)[root@localhost sunjimeng]# rmdir ./Documents/thirdDir/te*   用rmdir删除指定路径的目录

    [root@localhost sunjimeng]# ls -l ./Documents/thirdDir
    总用量 0
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 02:57 test1
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 02:57 test2
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 02:57 test3
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 03:01 test4
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 03:01 test5
    drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月   1 03:01 test6
    [root@localhost sunjimeng]# rmdir ./Documents/thirdDir/te*   //用通配符将所有te开头的全部删除
    [root@localhost sunjimeng]# ls -l ./Documents/thirdDir
    总用量 0

         3)[root@localhost sunjimeng]# rmdir -p ./Documents/{mainDir,secondDir,thirdDir}  删除全部的3个子目录,若删除后父目录也为空则一并删除

    [root@localhost sunjimeng]# rmdir -p ./Documents/{mainDir,secondDir,thirdDir}
    rmdir: 删除目录 "./Documents" 失败: 目录非空                                //这里虽然出现提醒但依然被删除了
    rmdir: 删除目录 "./Documents" 失败: 目录非空
    rmdir: 删除目录 "." 失败: 无效的参数
    [root@localhost sunjimeng]# ll
    总用量 0
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Desktop
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Downloads
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Music
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Pictures
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Public
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Templates
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Videos
    [root@localhost sunjimeng]# cd Documents                                 //这里可以验证
    bash: cd: Documents: 没有那个文件或目录

        4)[root@localhost sunjimeng]# rmdir --verbose -p ./Documents/firstDir/test1   递归的删除目录,并输出过程信息(--verbose这里注意是两个-)

    [root@localhost sunjimeng]# ls -l ./Documents
    总用量 0
    drwxr-xr-x. 3 root root 18 5月   2 22:26 firstDir
    [root@localhost sunjimeng]# ls -l ./Documents/firstDir
    总用量 0
    drwxr-xr-x. 2 root root 6 5月   2 22:26 test1
    [root@localhost sunjimeng]# rmdir --verbose -p ./Documents/firstDir/test1
    rmdir: 正在删除目录 "./Documents/firstDir/test1"
    rmdir: 正在删除目录 "./Documents/firstDir"
    rmdir: 正在删除目录 "./Documents"
    rmdir: 正在删除目录 "."
    rmdir: 删除目录 "." 失败: 无效的参数
    [root@localhost sunjimeng]# ll
    总用量 0
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Desktop
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Downloads
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Music
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Pictures
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Public
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Templates
    drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月   1 01:23 Videos
    [root@localhost sunjimeng]# 

        5)[root@localhost sunjimeng]# rmdir --help

    [root@localhost sunjimeng]# rmdir --help
    用法:rmdir [选项]... 目录...
    删除指定的空目录。
    
          --ignore-fail-on-non-empty
                忽略仅由目录非空产生的所有错误
      -p, --parents   remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is
                        similar to 'rmdir a/b/c a/b a'
      -v, --verbose   output a diagnostic for every directory processed
          --help        显示此帮助信息并退出
          --version        显示版本信息并退出
    
    GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
    请向<http://translationproject.org/team/zh_CN.html> 报告rmdir 的翻译错误
    要获取完整文档,请运行:info coreutils 'rmdir invocation'

        6)[root@localhost sunjimeng]# rmdir --version

    [root@localhost sunjimeng]# rmdir --version
    rmdir (GNU coreutils) 8.22
    Copyright (C) 2013 Free Software Foundation, Inc.
    许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
    本软件是自由软件:您可以自由修改和重新发布它。
    在法律范围内没有其他保证。
    
    由David MacKenzie 编写。
  • 相关阅读:
    [计算机网络-传输层] 无连接传输:UDP
    [BinaryTree] 最大堆的类实现
    [OS] 生产者-消费者问题(有限缓冲问题)
    [剑指Offer] 64.滑动窗口的最大值
    [剑指Offer] 63.数据流中的中位数
    [剑指Offer] 62.二叉搜索树的第k个结点
    [OS] CPU调度
    [剑指Offer] 60.把二叉树打印成多行
    MySQL数据库实验二:单表查询
    数据库实验:基本表的定义与修改
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5454677.html
Copyright © 2020-2023  润新知