如何使用mkdir命令在Linux中创建目录

前言

在Linux系统中,您可以从命令行或桌面文件管理器创建新目录。允许您创建目录(也称为文件夹)的命令是mkdir,这个命令简单使用很方便,类似于Windows、MS-DOS下的md命令(其实NT内核也兼容mkdir),但Linux内核下,有些参数需要用上,来更方便的创建目录和多层子目录。
那么我们就开始学习一下。

mkdir命令语法(兼容POSIX/UNIX/BSD所有规范)

Linux mkdir命令的语法如下:

mkdir [OPTION] [DIRECTORY]

该命令可以将一个或多个目录名作为其参数,一般操作就是在当前目录创建。
要使用该mkdir命令创建目录,您需要对父目录具有写权限。否则,您将收到权限被拒绝错误。

创建新目录

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

mkdir 文件夹名称

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

ls -l

drwxrwxr-x 2 username username 4096 Jan 20 03:39 文件夹名称

如果希望mkdir为创建的目录打印消息,则可以传递-v(–verbose)选项。
仅提供目录名称时,它将在当前工作目录中创建。当前工作目录是运行命令的目录。您可以使用该pwd命令显示当前工作目录的位置。要更改当前工作目录,请使用cd(更改目录)命令。
要在另一个位置创建目录,您需要提供父目录的绝对或相对文件路径。例如,要在目录中创建新目录,/tmp请键入:

mkdir /tmp/

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

mkdir /root/文件夹名称

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/Gothi

使用时-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}

这样一个子目录下就能有多个孙子目录

总结

mkdir非常非常好用,用好了就是事半功倍,大家多体验,多尝试,在平时开发和维护中运用好!

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?