本教程介绍了使用该mkdir命令的基础知识,包括常用示例。

Linux mkdir命令语法

Linux mkdir命令的语法如下:

mkdir [OPTION] [DIRECTORY]

该命令可以将一个或多个目录名作为其参数。

要使用该mkdir命令创建目录,您需要对父目录具有写权限。否则,您将收到权限被拒绝错误。

如何创建新目录

要使用mkdir命令在Linux中创建目录,只需将目录名称作为参数传递给mkdir命令:

mkdir newdir

您可以使用以下ls命令通过列出内容来验证目录是否已创建:

ls -l

drwxrwxr-x 2 username username 4096 Jan 20 03:39 newdir

如果希望mkdir为创建的目录打印消息,则可以传递-v(--verbose)选项。

仅提供目录名称时,它将在当前工作目录中创建。当前工作目录是运行命令的目录。您可以使用该pwd命令显示当前工作目录的位置。要更改当前工作目录,请使用cd(更改目录)命令。

要在另一个位置创建目录,您需要提供父目录的绝对或相对文件路径。例如,要在目录中创建新目录,/tmp请键入:

mkdir /tmp/newdir

如果您尝试在父目录中创建用户没有足够权限的目录,您将收到Permission denied错误:

mkdir /root/newdir

mkdir: cannot create directory '/root/newdir': Permission denied

如何创建父目录

父目录是位于目录树中另一个目录之上的目录。要创建父目录,请使用该-p选项。

假设您要创建目录/home/linuxize/Music/Rock/Gothic。如果任何父目录不存在,您将收到错误,如下所示:

mkdir /home/linuxize/Music/Rock/Gothic

mkdir: cannot create directory '/home/linuxize/Music/Rock/Gothic': No such file or directory

您可以使用以下-p选项,而不是逐个创建所有缺少的父目录:

mkdir -p /home/linuxize/Music/Rock/Gothic

使用时-p,mkdir仅当目录不存在时才会创建目录。

例如,如果您尝试创建已存在且未使用该-p选项的目录,则mkdir将打印File exists错误:

mkdir newdir

mkdir: cannot create directory 'newdir': File exists

如何在创建目录时设置权限

要在创建目录时设置权限,请使用-m(-mode)选项。传递权限的语法与chmod命令的语法相同。

在以下示例中,只有创建它的用户才能访问新目录:

mkdir -m 700 newdir

如果该-m选项未传递给mdkir,则新创建的目录将具有775或755权限,具体取决于umask值。

如何创建多个目录

要创建多个目录,请将目录的名称指定为参数,以空格分隔:

mkdir dir1 dir2 dir3

mkdir命令还允许您使用一个命令创建复杂的目录树:

mkdir -p Music/{Jazz/Blues,Folk,Disco,Rock/{Gothic,Punk,Progressive},Classical/Baroque/Early}

上面的命令将创建以下目录树:

Music/

|-- Classical

| `-- Baroque

| `-- Early

|-- Disco

|-- Folk

|-- Jazz

| `-- Blues

`-- Rock

|-- Gothic

|-- Progressive

`-- Punk

结论

到目前为止,您应该很好地理解如何使用Linux mkdir命令。有关该mkdir命令的更多信息,请参见mkdir手册页。