Linux命令 - mkdir命令
mkdir是make directory的缩写,Linux中 mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
1.语法:
mkdir [选项] 目录名称
2.功能:
通过 mkdir 命令可以实现在指定位置创建以 指定的文件名 命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。还可以设置目录的权限。
文件或目录的权限又分为3种:只读、只写、可执行。
权限 | 权限数值 | 二进制 | 具体作用 |
---|---|---|---|
r | 4 | 00000100 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | 00000010 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | 00000001 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
3.参数:
-m<目录属性>或--mode<目录属性> 建立目录时同时设置目录的权限。类似chmod,而不是rwxrwxrwx 减umask。
-p或--parents 若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录,即使这些目录已存在也不当作错误处理。
-v或--verbose 每次创建新目录时显示详细的信息。
-Z或--context=CTX 将每个创建的目录的SELinux 安全环境设置为CTX。
--help 在线帮助。查看该命令功能和可带参数等。
4.常用范例:
例一:创建一个空目录
命令:mkdir test
[root@localhost ~]# cd /usr/games/
[root@localhost games]# ll
总用量 0
[root@localhost games]# mkdir test
[root@localhost games]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 10:41 test
例二:递归创建多个目录
命令:mkdir -p test2/test22
[root@localhost games]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 10:41 test
[root@localhost games]# mkdir -p test2/test22
[root@localhost games]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 10:41 test
drwxr-xr-x. 3 root root 20 5月 13 10:44 test2
[root@localhost games]# cd test2/
[root@localhost test2]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 10:44 test22
例三:创建权限为777的目录
命令: mkdir -m 777 test3
test3 的权限为rwxrwxrwx
[root@localhost games]# mkdir -m 777 test3
[root@localhost games]# ll
总用量 0
drwxr-xr-x. 2 root root 6 5月 13 10:41 test
drwxr-xr-x. 3 root root 20 5月 13 10:44 test2
drwxrwxrwx. 2 root root 6 5月 13 10:50 test3
例四:创建新目录都显示信息
命令: mkdir -v test4
[root@localhost games]# mkdir -v test4
mkdir: 已创建目录 'test4'
例五:一个命令创建项目的目录结构
命令: mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
[root@localhost games]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
mkdir: 已创建目录 'scf'
mkdir: 已创建目录 'scf/lib/'
mkdir: 已创建目录 'scf/bin/'
mkdir: 已创建目录 'scf/doc'
mkdir: 已创建目录 'scf/doc/info'
mkdir: 已创建目录 'scf/doc/product'
mkdir: 已创建目录 'scf/logs'
mkdir: 已创建目录 'scf/logs/info'
mkdir: 已创建目录 'scf/logs/product'
mkdir: 已创建目录 'scf/service'
mkdir: 已创建目录 'scf/service/deploy'
mkdir: 已创建目录 'scf/service/deploy/info'
mkdir: 已创建目录 'scf/service/deploy/product'