mkdir命令小结

总结一下常用命令,也许会比较乱套,我尽量好好排版一下

NAME
       mkdir - make directories(创建目录)

SYNOPSIS
       mkdir [OPTION](方框表示参数可选)... DIRECTORY(必选参数)...

DESCRIPTION
       Create the DIRECTORY(ies), if they do not already exist.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       -m, --mode=MODE
              set file mode (as in chmod), not a=rwx - umask

       -p, --parents
              no error if existing, make parent directories as needed

       -v, --verbose
              print a message for each created directory

       -Z, --context=CTX
              set the SELinux security context of each  created  directory  to
              CTX

       --help display this help and exit

       --version
              output version information and exit

AUTHOR
       Written by David MacKenzie.
首先就是一份那个man手册的解释,我觉得已经够详细的了,我就根据man手册的几个参数来总结一下


1.无任何参数、直接创建文件夹、绿色的是他的权限。这就是root创建文件的默认情况

[root@lp tmp]# ls
[root@lp tmp]# mkdir ll
[root@lp tmp]# ll
total 4
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
[root@lp tmp]# ll -h
total 4.0K
drwxr-xr-x. 2 root root 4.0K Oct 18 05:00 ll


我好奇的用普通用户创建了一下试试,可能这就是centos6.5系统默认的吧。我以前用ubuntu的时候权限似乎不是这样的。

[ll@lp tmp]$ mkdir abc
[ll@lp tmp]$ ll
total 24
drwxrwxr-x. 2 ll   ll   4096 Oct 18 05:10 abc
drwxr-xr-x. 3 root root 4096 Oct 18 05:03 dir1
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
drwxr-xr-x. 2 root root 4096 Oct 18 05:03 notice
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp_bak

2.参数 -m 它的作用是创建文件夹的同时给它相应的权限、跟chmod作用是一样的

[root@lp tmp]# mkdir -m 777 tmp
[root@lp tmp]# ll
total 8
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp


[root@lp tmp]# mkdir tmp_bak
[root@lp tmp]# ll
total 12
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp
drwxr-xr-x. 2 root root 4096 Oct 18 05:01 tmp_bak
[root@lp tmp]# chmod 777 tmp_bak/
[root@lp tmp]# ll -h
total 12K
drwxr-xr-x. 2 root root 4.0K Oct 18 05:00 ll
drwxrwxrwx. 2 root root 4.0K Oct 18 05:01 tmp
drwxrwxrwx. 2 root root 4.0K Oct 18 05:01 tmp_bak


3.接下来就是一个挺常用的参数了 -p 递归创建,用来创建多级子目录


[root@lp tmp]# mkdir dir1/dir2
mkdir: cannot create directory `dir1/dir2': No such file or directory

直接创建多级子目录会遇到的情况就是这样。提示没有那个文件或目录、那是因为dir1目录没有建立

[root@lp tmp]# mkdir dir1/dir2 -p

[root@lp tmp]# ll
total 16
drwxr-xr-x. 3 root root 4096 Oct 18 05:03 dir1
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp_bak

我们tree一下看看

[root@lp tmp]# tree .
.
├── dir1
│   └── dir2

├── ll
├── tmp
└── tmp_bak

5 directories, 0 files

说明文件正常创建成功


4.其余的参数完全就是不常用了,比如那个 -v 显示一个消息提示


[root@lp tmp]# mkdir notice -v
mkdir: created directory `notice'
[root@lp tmp]# ll
total 20
drwxr-xr-x. 3 root root 4096 Oct 18 05:03 dir1
drwxr-xr-x. 2 root root 4096 Oct 18 05:00 ll
drwxr-xr-x. 2 root root 4096 Oct 18 05:03 notice
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp
drwxrwxrwx. 2 root root 4096 Oct 18 05:01 tmp_bak
就是个提示、没什么别的。

[root@lp tmp]# mkdir notice_bak -v | grep mkdir
mkdir: created directory `notice_bak'
[root@lp tmp]#
这样的话似乎可以导出去一个日志之类的?似乎没什么用。

就这样吧。总结到这里

















你可能感兴趣的:(create,parent,already,needed,existing)