创建目录 mkdir

一、命令详解


1.命令说明

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

注意
要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限
如果要创建的目录已经存在,则会提示此文件已经存在,不会继续创建目录。


2.语法格式

  mkdir      [option]       [directory]
  mkdir      [选项]         [目录]

3.选项描述

DESCRIPTION
andatory arguments to long options are mandatory for short options too. 
#长选项的强制参数也是短选项的强制参数。
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
                    #设置权限模式(类似chmod),而不是rwxrwxrwx -umask
  -p, --parents     no error if existing, make parent directories as needed
                   #递归创建目录,递归的意思是父目录及其子目录的子目录 
                   #即使要创建的目录实现已存在也不会报错提示目录已经存在
  -v, --verbose     print a message for each created directory
                   #创建目录的时候显示过程
  -Z                   set SELinux security context of each created directory
                         to the default type
      --context[=CTX]  like -Z, or if CTX is specified then set the SELinux  
                         or SMACK security context to CTX
                    #将每个创建的目录的SELinux 安全环境设置为CTX
      --help     display this help and exit #帮助
      --version  output version information and exit #版本

二、命令示例


案例1:创建空目录 #mkdir

[root@centos7 app]#mkdir fff
[root@centos7 app]#ll -d fff
drwxr-xr-x. 2 root root 6 Dec 13 16:53 fff

案例2:创建权限为755的目录 #mkdir -m

[root@centos7 app]#mkdir -m 755 ddd
[root@centos7 app]#ll
total 32
drwxr-xr-x. 2 root root    6 Dec 13 16:57 ddd

案例3:递归创建多级目录#mkdir -p

[root@centos7 app]#mkdir -p a/b/c/d/e/f/g
[root@centos7 app]#tree a
a
└── b
    └── c
        └── d
            └── e
                └── f
                    └── g

6 directories, 0 files

案例4:创建目录显示过程信息#mkdir -v -p

[root@centos7 app]#mkdir -v -p aa/bb/cc/dd
mkdir: created directory ‘aa’
mkdir: created directory ‘aa/bb’
mkdir: created directory ‘aa/bb/cc’
mkdir: created directory ‘aa/bb/cc/dd’
[root@centos7 app]#tree aa
aa
└── bb
    └── cc
        └── dd
3 directories, 0 files

案例5:复杂操作,创建目录结构

[root@centos7 app]#mkdir -v -p program/project/{a,b,c/{chm,pdf,word},doc/{1,2,3}}
mkdir: created directory ‘program’
mkdir: created directory ‘program/project’
mkdir: created directory ‘program/project/a’
mkdir: created directory ‘program/project/b’
mkdir: created directory ‘program/project/c’
mkdir: created directory ‘program/project/c/chm’
mkdir: created directory ‘program/project/c/pdf’
mkdir: created directory ‘program/project/c/word’
mkdir: created directory ‘program/project/doc’
mkdir: created directory ‘program/project/doc/1’
mkdir: created directory ‘program/project/doc/2’
mkdir: created directory ‘program/project/doc/3’

案例6:批量创建目录

[root@centos7 app]#mkdir zzz{1..33}
[root@centos7 app]#ls
a     f1_softlink  fff        merrys   zzz11  zzz16  zzz20  zzz25  zzz3   zzz4  zzz9
aa    f2           fi         program  zzz12  zzz17  zzz21  zzz26  zzz30  zzz5
ddd   f2_hardlink  fifo_file  tomhome  zzz13  zzz18  zzz22  zzz27  zzz31  zzz6
dir1  f4           fo         zzz1     zzz14  zzz19  zzz23  zzz28  zzz32  zzz7
f1    f5           ls.log     zzz10    zzz15  zzz2   zzz24  zzz29  zzz33  zzz8

案例7:一次创建多个

[root@centos7 app]#mkdir aaa bbb ccc
[root@centos7 app]#ls
a    bbb  dir1         f2           f5   fifo_file  merrys
aa   ccc  f1           f2_hardlink  fff  fo         program
aaa  ddd  f1_softlink  f4           fi   ls.log     tomhome

案例8:引入文件内容创建路径

[root@centos7 app]#cat dirname 
name1
name2
name3
[root@centos7 app]#mkdir -vp `cat dirname`
mkdir: created directory ‘name1’
mkdir: created directory ‘name2’
mkdir: created directory ‘name3’

mkdir命令后面可以接多个目录名创建目录,但是如果将所有目录都放在mkdir命令后面会导致命令太长,因此使用了一对反引号(在键盘ESC下方),反引文件内容(使用cat命令读取内容)。

注意
一个命令语句中如果反引号包含的命令,那么需要优先执行反引号中的命令语句。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值