本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处)

  在Linux系统中,mkdir命令用来创建一个目录或一个级联目录。

1. 命令格式

  mkdir [选项] 目录名

2. 命令选项

  -m=mode

    为目录指定访问权限,与chmod类似。

  -p  如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。

  -v  为每个目录显示提示信息。

3. 实例

  实例1:在当前目录创建baklog目录。

/home/dodv81>umask
0002
/home/dodv81>mkdir baklog /home/dodv81>ll drwxrwxr-x 2 dodv81 dodv81 4096 Nov 17 23:21 baklog /home/dodv81>mkdir baklog mkdir: cannot create directory `baklog': File exists

  mkdir命令不加任何选项默认在当前目录下创建目录,目录的默认权限为777-umask。如果目录已经存在将会提示错误。

  实例2:创建多个目录。

/home/dodv81/baklog>mkdir cep dod testlog
/home/dodv81/baklog>ls
cep  dod  testlog

  或者多个目录用大括号({})括起来,并用逗号分隔。

/home/dodv81/baklog>mkdir {cep,dod,testlog}
/home/dodv81/baklog>ls
cep  dod  testlog

  逗号前后不能有空白,否则将会创建出下面目录:

/home/dodv81/baklog>mkdir {cep, dod, testlog}
/home/dodv81/baklog>ls
{cep,  dod,  testlog}

  实例3:创建级联目录。同一目录下的子目录放在大括号中,并用逗号分隔。

/home/dodv81>mkdir -p baklog/{bin,lib,log/{cep,dod,testlog}}
/home/dodv81>ls -R baklog/
baklog/:
bin  lib  log

baklog/bin:

baklog/lib:

baklog/log:
cep  dod  testlog

baklog/log/cep:

baklog/log/dod:

baklog/log/testlog:

   实例4:为目录指定权限,指定的权限为mode-umask。例如,mode=rx,umask=2,则最终权限为555-2=554,即rw-rw-r--

/home/dodv81/baklog/bin>mkdir -m=r a     -- 只读
/home/dodv81/baklog/bin>mkdir -m=w b -- 只写 /home/dodv81/baklog/bin>mkdir -m=rw c -- 读写 /home/dodv81/baklog/bin>mkdir -m=rx d -- 读可执行 /home/dodv81/baklog/bin>mkdir -m=rwx e -- 读写可执行 /home/dodv81/baklog/bin>ll total 20 dr--r--r-- 2 dodv81 dodv81 4096 Nov 17 23:48 a d-w--w---- 2 dodv81 dodv81 4096 Nov 17 23:48 b drw-rw-r-- 2 dodv81 dodv81 4096 Nov 17 23:48 c dr-xr-xr-x 2 dodv81 dodv81 4096 Nov 17 23:48 d drwxrwxr-x 2 dodv81 dodv81 4096 Nov 17 23:49 e

 

   实例5:查看创建目录的过程信息

/home/dodv81>mkdir -vp baklog/{bin,lib,log/{cep,dod,testlog}}
mkdir: created directory `baklog'
mkdir: created directory `baklog/bin'
mkdir: created directory `baklog/lib'
mkdir: created directory `baklog/log'
mkdir: created directory `baklog/log/cep'
mkdir: created directory `baklog/log/dod'
mkdir: created directory `baklog/log/testlog'