Linux-创建目录(mkdir)

Linux mkdir 命令用来创建指定名称的目录,要求创建目录在当前目录中具有写权限,并且指定的目录名不能是当前目前中已有的目录.

命令格式 : mkdir [option] …directory

 

命令功能 : 通过mkdir命令可以实现在指定位置创建以DirName(指定文件名)命名的目录.要创建目录的用户必须对所创建的目录的父目录具有写权限.并且,所创建的目录不能与其父目录中的文件名重名,即同一目录下不能有同名的(区分大小写).

 

参数:

-m/–mode=模式   设定权限<模式>(类似chmod),而不是rwxrwxrwx 减少 umask;

-p/–parents       可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立哪些尚不存在的目录;

-v/–verbose       每次创建新目录都显示信息;

–help            显示此帮助信息并退出;

–version          输出版本信息并退出;

 

常见实例:

<1>创建一个空目录

命令 : mkdir test1

eg:

[root@sqj home]# mkdir test1

[root@sqj home]# ls -ld test1/

drwxr-xr-x. 2 root root 4096 Jul  8 06:01 test1/

 

<2>递归创建多个目录

eg:

[root@sqj home]# mkdir -p test2/test22/test222

[root@sqj home]# ls -R test2

test2:

test22

 

test2/test22:

test222

 

test2/test22/test222:

 

<3>目录间用空格分隔

[root@sqj home]# mkdir test1/ test3 test4/test44

mkdir: cannot create directory `test1/’: File exists

mkdir: cannot create directory `test4/test44′: No such file or directory

注: 能成功创建test3,test1已经存在,故不再重复创建;空格表示不延续,所以test3不会创建在test1里面; test4/test44是递归,这样不能创建.

 

<4>创建指定权限目录

命令: mkdir -m 777 test4

eg:

[root@sqj home]# mkdir -m 777 test4

[root@sqj home]# ll -d test4

drwxrwxrwx. 2 root root 4096 Jul  8 06:18 test4

 

<5>显示创建目录过程信息

命令 : mkdir -v directory

eg:

[root@sqj home]# mkdir -vp test5/test55

mkdir: created directory `test5′

mkdir: created directory `test5/test55′

 

<6>一个命令创建项目的目录结构

[root@sqj home]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}

mkdir: created directory `scf’

mkdir: created directory `scf/lib/’

mkdir: created directory `scf/bin/’

mkdir: created directory `scf/doc’

mkdir: created directory `scf/doc/info’

mkdir: created directory `scf/doc/product’

mkdir: created directory `scf/logs’

mkdir: created directory `scf/logs/info’

mkdir: created directory `scf/logs/product’

mkdir: created directory `scf/service’

mkdir: created directory `scf/service/deploy’

mkdir: created directory `scf/service/deploy/info’

mkdir: created directory `scf/service/deploy/product’