一、命令详解
1.1 【功能说明】
mkdir命令是"make directories"单词缩写,其功能是创建目录,黑夜情况下,如果要创建的目录已存在,则会提示此文件已存在而不会继续创建目录。
1.2 【语法格式】
[root@7bfe451a2fe1 /]# mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
说明:
- mkdir命令可以同时创建多个目录,其格式为mkdir dir1 dir2
二、使用范例
2.1 创建多级目录
mkdir -p /opt/java
# 不加参数-p,/opt目录不存在会报错,/opt/java目录存在也会报错
# -p 递归创建目录,如果/opt目录不存在不会报错,/opt/java目录存在也不会报错
2.2 创建权限为777的目录
mkdir -p /opt/redis
mkdir -p -m 777 /opt/nacos
# 创建目录/opt/redis,其默认权限为755
# 加-m 777参数创建目录/opt/nacos,其权限为777
2.3 同时创建多个目录及多个子目录
在生产环境中,常常需要创建目录用来存放文件,如果同时创建多个目录并且每个目录下可能还有多个子目录,那就需要执行多遍mkdir命令,事实上,我们可以使用mkdir命令同时创建多个多级目录。
# 我们要创建多个MySQL的data目录,结构如下
➜ ~ tree /opt/data/mysql -L 2
/opt/data/mysql
├── mysql3306
│ ├── data
│ ├── logs
│ └── tmp
├── mysql3307
│ ├── data
│ ├── logs
│ └── tmp
└── mysql3308
├── data
├── logs
└── tmp
mkdir -p /opt/data/mysql/{mysql3306,mysql3307,mysql3308}/{data,logs,tmp}
2.4 克隆目录结构
# 第1步:显示所有目录树
tree -fid --noreport /etc > /tmp/dirs.txt
# 第2步:使用mkdir批量创建目录
cd /tmp && mkdir -p `cat /tmp/dirs.txt`
三、扩展知识
3.1 Windows下与Linux下的路径样式不同
# windows下
D:\data\test
# linux下
/data/test
# 它们的目录顶点和分隔符均不同
3.2 大括号{}的特殊用法
在{}中使用逗号分隔多个字符或单词时,使用echo命令可以将这些被分隔的字符或单词分别输到屏幕上
# demo1
echo {B,C}
echo A{B,C}
echo A{,C}
四、命令总结
一个看似简单的命令,结合大括号与其他命令配合使用场景还不少呀