一、mkdir命令的简介
mkdir命令是Linux/Unix操作系统中的一个命令,它可以创建一个目录。如果没有指定目录的权限,则只有超级用户才能创建目录。在Windows系统中,你可以使用md或mdkir命令来创建目录。
mkdir命令的基本语法是:
mkdir [-mp] [-v] [-Z] [--context[=CTXT]] [-] [目录 ...]
其中,-m选项表示指定目录的权限。-p选项表示递归地创建目录,如果父目录不存在则会自动创建。-v表示详细输出创建的目录名。-Z选项表示设置目录的SELinux安全上下文。--context选项用于设置目录的SELinux上下文,可以使用“--help”选项查看详细信息。
二、递归创建目录
假设我们需要创建一个名为“/home/user1/myproject”目录,但是如果“/home/user1”不存在,我们必须先创建该目录,然后才能创建“myproject”目录。这时,就需要递归地创建目录。
在mkdir命令中,使用-p选项来递归地创建目录。例如,下面的命令可以创建“/home/user1/myproject”:
mkdir -p /home/user1/myproject
如果“/home/user1”目录不存在,则会先创建该目录,然后再创建“myproject”目录。
如果我们只想创建父目录,而不是子目录,则可以使用以下命令:
mkdir -p /home/user1
三、设置目录权限
在Linux中,有三种类型的用户:所有者、组、其他人。所有者是创建文件或目录的用户,组是该文件或目录所属的组,其他人是其他所有用户。
可以使用chmod命令来设置文件或目录的权限。u表示所有者权限,g表示组权限,o表示其他人权限。
例如,要将“myproject”目录的所有者权限设置为“读写执行”,而组和其他人权限均设置为“只读”,可以使用以下命令:
chmod 744 /home/user1/myproject
其中的数字“744”代表了文件或目录的权限。第一位是文件类型。如果文件是目录,则显示一个“d”。其余九个数字分为三组,每组三个。第一组代表文件所有者的权限,第二组代表文件所属组的权限,第三组代表其他人的权限。每个数字代表权限的值,1表示可执行(permission granted),2表示可写(write permission),4表示可读(read permission),0表示没有权限(permission denied)。
四、代码示例
下面是一个递归创建目录、设置目录权限的代码示例:
#!/bin/bash
# 创建目录并且递归地创建父目录
mkdir -p /home/user1/myproject
# 设置目录的权限
chmod 744 /home/user1/myproject