作为 Linux 用户,我们经常使用文件和目录。文件允许我们存储重要数据,而目录则允许我们以适当的方式组织文件。除此之外,我们还经常创建分层目录结构,以便更好地组织目录内容。
在这篇适合初学者的文章中,将学习 mkdir 命令。顾名思义,mkdir 命令用于在给定路径下创建一个命名目录,它还允许我们以所需的文件权限一次性创建单个或多个目录。
我们需要注意的是,使用 mkdir 命令时,用户必须拥有父目录所需的权限,否则命令将以权限拒绝错误而失败。

与其他 Linux 命令一样,mkdir 命令的语法主要分为两组选项和参数:
mkdir [OPTIONS] ... <DIRECTORY1> ...
在上述语法中,方括号[]代表可选参数,而角括号<>代表必选参数。
mkdir 是 "make directory" 的简称。它的好处是,只有在指定路径下不存在相同目录或文件时,才会创建目录。因此,这是一条非常安全的命令,不会对系统造成任何损害。
下面将举例说明 mkdir 命令的一些基本用法。
mkdir 命令的基本用法之一是在指定路径下创建一个命名目录。 因此,让我们在当前工作目录下创建一个名为 see-mkdir 的目录:
mkdir see-mkdir
使用 ls 命令验证目录是否已创建:
ls -l
在第一个例子中,我们用 mkdir 命令使用了相对路径。不过,该命令也支持绝对路径。我们可以使用 pwd 命令或 pwd 环境变量来查找当前工作目录的绝对路径。使用绝对路径在当前工作目录下创建名为 learn-mkdir 的目录:
mkdir $PWD/learn-mkdir
验证新目录是否已在当前工作目录中创建:

mkdir 命令接受多个路径作为参数,因此我们可以一次性创建多个目录。
用下面这条命令在 learn-mkdir 目录中创建三个目录:
mkdir learn-mkdir/file1 learn-mkdir/file2 learn-mkdir/file3
使用ls -l列出 learn-mkdir 目录的内容:
ls -l learn-mkdir
可以看到,mkdir 命令成功创建了多个目录。

在上一个示例中,演示了如何使用一条命令在另一个目录内创建多个目录。 然而,这并不是最有效的方法,因为我们为每个子目录指定了父目录名,即 learn-mkdir。
为了克服这一限制,我们可以用括号扩展指定子目录名称,如下例所示,我们在 see-mkdir 目录内创建了三个子目录:
mkdir see-mkdir/{folder1,folder2,folder3}
在此,我们应注意以下两个要点:
验证目录结构是否已成功创建:

在前面的示例中,我们了解了如何创建多个目录。不过,如果我们想创建嵌套目录结构,这种方法就行不通了。在这种情况下,如果需要,我们可以使用创建父目录命令的 -p 选项。
创建一个嵌套子目录结构:
mkdir -p see-mkdir/file1/pngs/build/1#
以递归方式验证 see-mkdir/file1 目录的内容:
ls -1R see-mkdir/file1/
该命令创建了所需的目录结构,而没有报告现有父目录的错误。这个选项在编写 shell 脚本时非常有用,我们可以用它来抑制因已有目录而可能出现的目录创建错误。
有时,我们需要在创建目录后立即修改其访问权限。在这种情况下,我们必须使用两个命令mkdir 和 chmod。不过,我们可以使用一条命令就能达到同样的效果。
使用 -m 选项在创建目录时设置访问权限:
mkdir -m 777 dir-1
在上个示例中,我们使用数字格式设置访问权限。同样,我们也可以使用文本格式。
例如,我们可以使用下面的命令获得相同的结果:
mkdir -m a=rwx dir-2
现在,使用 ls 命令查找目录的访问权限:
ls -ld dir-2 | awk '{print $1}'
ls -ld dir-1 | awk '{print $1}'
默认情况下,mkdir 命令不会在创建目录后在终端上打印任何内容。因此,到目前为止我们一直使用 ls 命令来验证目录是否已创建。为了克服这一限制,可以使用该命令的 "verbose "模式来打印每个创建目录的信息。该选项与 -p 选项结合使用,可以提供有意义的信息。
在命令中使用 -v 选项来启用 "详细 "模式:
mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5
查看命令的输出结果:

本文详细介绍了 Linux 中 mkdir 命令的核心功能与高效技巧,从基础目录创建到高级嵌套结构构建,全面覆盖日常运维需求。通过掌握 -p(递归创建)、-m(权限设置)、-v(详细输出)等关键选项,用户可轻松应对复杂目录管理场景。特别推荐的括号扩展语法(如 mkdir dir/{sub1,sub2})和权限数字/文本双模式(777 或 a=rwx),将显著提升终端操作效率。建议读者在实践中尝试组合命令(如 mkdir -pv project/{src,docs,assets}),体验高效目录架构的搭建艺术。