mkdir是Linux和Unix-like系统中用于创建目录的基本命令,全称为"make directory"。下面将详细介绍这个命令的用法、选项和实际应用。
目录
一、基本语法
二、基本用法
创建单个目录
创建多个目录
三、常用选项
-p 或 --parents
-m 或 --mode
-v 或 --verbose
四、高级用法
创建带有空格或特殊字符的目录
结合大括号扩展创建多个相似目录
在脚本中使用mkdir
五、实际应用示例
创建项目目录结构
创建带权限的目录
创建多层目录并显示详细信息
六、注意事项
默认情况下,如果目录已存在,mkdir会报错
普通用户只能在有写权限的目录中创建子目录
使用-p选项时,如果路径中某些组件已存在且不是目录,会报错
目录名区分大小写
七、查看帮助
一、基本语法
mkdir [选项] 目录名...
二、基本用法
-
创建单个目录
mkdir dirname这会在当前工作目录下创建一个名为
dirname的新目录。
-
创建多个目录
mkdir dir1 dir2 dir3这会同时创建三个目录:dir1、dir2和dir3。

三、常用选项
-
-p或--parents-
递归创建目录,即如果上级目录不存在则一并创建
-
不会报错如果目录已存在
mkdir -p path/to/new/directory
这个命令会创建完整的目录路径(注意:此处的路径也可以是相对路径。),即使中间的
path和to目录不存在。(我们可以使用ls命令的-R选项(递归列出目录内容)用于 递归显示目录及其所有子目录中的文件,即不仅显示当前目录下的文件,还会深入遍历所有子目录并列出它们的内容。)
-
-
-m或--mode-
设置目录的权限模式(类似chmod)
mkdir -m 755 restricted_dir
这会创建一个权限为755(rwxr-xr-x)的目录(第一列数据表示为文件类型和相关权限,关于权限相关知识会在后面讲解)。
-
-
-v或--verbose-
显示每个创建的目录信息
mkdir -v newdir输出示例:

-
四、高级用法
-
创建带有空格或特殊字符的目录
mkdir "my directory"
或者使用转义字符:
mkdir my\ directory
-
结合大括号扩展创建多个相似目录
mkdir dir_{1..5}这会创建dir_1, dir_2, ..., dir_5五个目录。

-
在脚本中使用mkdir
if [ ! -d "./path/to/dir" ]; thenmkdir -p "./path/to/dir" fi这个脚本片段会先检查目录是否存在,若存在就什么都不做,而不存在才创建。因为之前有一个path目录,我们就进去观察新建目录的变化。

五、实际应用示例
-
创建项目目录结构
mkdir -p project/{src,doc,bin,lib,test}这会创建一个project目录,并在其中创建src, doc, bin, lib, test五个子目录。

-
创建带权限的目录
mkdir -m 700 private_dir创建一个只有所有者有完全权限的目录。

-
创建多层目录并显示详细信息
mkdir -pv backup/2023/{jan,feb,mar}/images这会创建完整的目录结构并显示每个创建步骤。如果看不懂花括号的意思,下面解释一下:

六、注意事项
-
默认情况下,如果目录已存在,
mkdir会报错
-
普通用户只能在有写权限的目录中创建子目录

-
使用
-p选项时,如果路径中某些组件已存在且不是目录,会报错 -
目录名区分大小写
七、查看帮助
要了解更多关于mkdir的信息,可以使用:
man mkdir
使用该指令后,则进入使用手册:

或
mkdir --help
