作为Linux系统用户,基本上都会定期使用文件和目录。文件主要用来存储重要数据,而目录允许用户以适当的方式组织管理文件。除此之外,我们还还可以创建分层目录结构来更好地组织内容。
在本文当中,小编将简单介绍下mkdir命令。顾名思义,mkdir命令用于在给定路径创建命名目录,这也允许我们一次创建具有所需文件权限的单个或多个目录。
需要注意的是,要使用mkdir命令,用户必须对父目录具有所需的权限,否则该命令将因权限被拒绝错误而失败。就像其它Linux命令一样,mkdir命令的语法主要分为两组 –选项和参数:
$ mkdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...
([])
表示可选参数,而尖括号(<>)
表示强制参数。Linux系统中mkdir命令的基本用法
顾名思义,mkdir是“ make directory ”的缩写形式。比较不错的一点是,仅当给定路径中不存在具有相同目录或文件的目录或文件时,它才会创建目录。所以,它是一个非常安全的命令,不会对系统造成任何伤害。下面简单介绍几个常用的mkdir命令示例。
1、在Linux中创建目录
mkdir命令的基本用途之一是在给定路径上创建命名目录。因此,下面的命令就是在当前工作目录中创建一个名为rpm-distros的目录:
$ mkdir rpm-distros
现在,可以使用ls命令验证目录是否已创建:
$ ls -l
上面的示例中,在mkdir命令中使用了相对路径。但是,该命令也支持绝对路径。可以使用pwd命令或者pwd环境变量来查找当前工作目录的绝对路径。
因此,下面使用绝对路径在当前工作目录中创建目录—deb-distros:
$ mkdir $PWD/deb-distros
现在,验证新目录是否已在当前工作目录中创建:
$ ls -l
2、在Linux中创建多个目录
mkdir命令接受多个路径作为参数,这允许我们一次创建多个目录。下面使用单个命令在deb-distros目录中创建三个目录:
$ mkdir deb-distros/kali deb-distros/mint deb-distros/ubuntu
现在,让我们列出deb-distros目录的内容:
$ ls -l deb-distros
可以看到,mkdir命令成功创建了多个目录。
3、使用大括号展开创建多个目录
在上面的示例中,小编介绍了如何使用单个命令在某个目录中创建多个目录。但是,这不是最有效的方法,因为需要为每个子目录指定了父目录名称,即deb-distros。
为了克服这个限制,可以在大括号扩展中指定子目录名称,如下例所示,这里在rpm-distros目录中创建三个子目录:
$ mkdir rpm-distros/{alma,centos,fedora}
在这里,应该重点注意以下两点内容:
- 逗号
(,)
两边都没有空格。 - 大括号扩展功能仅在Bash shell 中可用,因此这种方法的可移植性较差。
现在,可以验证是否已成功创建所需的目录结构:
$ ls -l rpm-distros
4、创建嵌套子目录结构
在前面的部分中,主要介绍了如何创建多个目录。但是,如果希望创建嵌套目录结构,这种方法就行不通了。在这种情况下,如果需要,可以使用创建父目录的-p
选项命令。
例如,下面创建一个嵌套的子目录结构:
$ mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911
现在,以递归方式验证rpm-distros/centos目录的内容:
$ ls -1R rpm-distros/centos
正如上图所看到的,该命令创建了所需的目录结构,而没有报告现有父目录的错误。这个选项在编写shell脚本时非常方便。我们可以使用它来抑制由于现有目录而可能发生的目录创建错误。
5、创建一个有权限的目录
有时候需要在目录创建后立即修改其访问权限。在这种情况下,必须使用两个命令—— mkdir和chmod。但是,我们也可以使用单个命令来实现相同的结果。
很简单,就是在创建目录时使用-m
选项设置目录的访问权限,如下所示:
$ mkdir -m 777 dir-1
在本示例中,小编使用了数字格式来设置访问权限。以类似的方式,还可以使用文本格式。例如,可以使用以下命令实现相同的结果:
$ mkdir -m a=rwx dir-2
现在,使用ls命令找出目录的访问权限:
$ ls -ld dir-2 | awk '{print $1}'
6、使用mkdir命令启用Verbose模式
默认情况下,创建目录后,mkdir命令不会在终端上打印任何内容。因此,到目前为止,我们一直在使用ls命令来验证目录是否已创建。
为了克服这个限制,可以使用命令的Verbose(详细)模式为每个创建的目录打印消息。当我们将其与–p
选项结合使用时,此选项会提供有意义的信息。
接下来让我们使用-v
选项命令来启用Verbose模式:
$ mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5
现在,可以观察命令的输出内容,已经显示的非常详细了:
总结
在本文中,小编主要介绍了mkdir命令的基本用法,包括如何创建单个目录以及多个目录以及如何在创建目录时设置目录的权限,同时还介绍了如何使用详细模式验证目录创建。相对来说使用还是比较简单的,仅供参考。
在使用Linux服务器系统时,mkdir是一个非常有用且常见的命令,它可以很方面的创建目录,而且不会重复创建,所以很适合Linux新手用户使用。本文简单介绍了mkdir几个常见的使用示例,如果需要了解更多mkdir使用命令,可以查看帮助页面。