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