天天看点

自学Linux Shell3.5-目录处理命令mkdir rmdir

3.5-目录处理命令mkdir rmdir

1. mkdir命令

创建一个或多个新的目录。

mkdir 命令创建由 Directory 参数指定的一个或多个新的目录。每个新目录包含标准项 .(点)和 ..(点-点)。您可以使用 -m Mode 标志为新的目录指定许可权。

将新目录的拥有者标识和组标识分别设置为进程的有效用户标识和组标识。setgid 位是从父目录中继承下来的。要更改 setgid 位,可以指定 -m Mode 标志或者在目录创建后发出 chmod 命令。

注:要创建新目录,必须在父目录中具有写权限。
  • -m,-mode=模式,设定权限<模式>(类似chmod),而不是rwxrwxrwx或umask
  • -p,--parents,可以是一个路径名称。若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
  • -v,--verbose,每次创建新目录都显示信息。
  • --help,显示帮助信息并退出。
  • --version,输出版本信息并退出。
-m Mode

设置新创建的目录的许可位,其值由变量 Mode 指定。Mode 变量的值与 chmod 命令的 Mode 参数的值一样,或者以符号形式,或者以数字形式。

当使用符号格式指定 -m 标志时,操作符号 +(加)和 -(减)都是相对于假设的许可权设置 a=rwx 来进行解释的。+ 向默认方式添加许可权,并且 - 从默认方式删除许可权。请参阅 chmod 命令以获取许可权的位和格式的完整描述。

-p

创建丢失中间路径名称目录。如果没有指定 -p 标志,则每个新创建的目录的父目录必须已经存在。

中间目录是通过自动调用以下的 mkdir 命令来创建的:

mkdir -p -m $(umask -S),u+wx $(dirname Directory) &&
mkdir [-m Mode] Directory      

其中,[-m Mode] 表示随您的 mkdir 命令的原始调用所提供的任何选项。

mkdir 命令忽略任何命名现有的目录的 Directory 参数。不发出错误。

举例1 mkdir 目录    创建一个新的空目录

自学Linux Shell3.5-目录处理命令mkdir rmdir

举例2 mkdir -p  目录     递归创建多个目录

自学Linux Shell3.5-目录处理命令mkdir rmdir

举例3 mkdir -m  权限值  目录           创建指定权限的目录

自学Linux Shell3.5-目录处理命令mkdir rmdir

2. rmdir命令

 rmdir命令用于删除目录,可以用来删除一个或多个指定名字的空目录,如果目录名前面没有任何的路径名,则删除当前目录下的该目录名的目录,否则删除指定路径下的该目录名的目录。

 rmdir [选项]  目录

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

举例1  rmdir 默认只能删除空目录,若目录下有文件rmdir默认拒绝删除

自学Linux Shell3.5-目录处理命令mkdir rmdir

继续阅读