在单个命令中创建目录并设置权限
1. 概述
在本教程中,我们将学习如何使用各种技术在单个命令中创建目录和设置权限。
2. 目录权限
在 Linux 中,当我们构造一个用户时,系统会生成一个与用户名称相似的组,并将该用户的文件分配给该组。一个用户可以属于多个组。此外,用户和组可以同时拥有目录和文件。
Linux 利用访问权限 来确保安全的目录和文件访问。当我们创建一个目录时,Linux 会为它们分配默认权限。使用*mkdir *命令,我们可以实现创建目录的目的。
3. 创建目录
在 Linux 系统中,mkdir命令构建目录。它可以一次创建单个或多个目录。此外,mkdir命令可以为其创建的目录设置权限。术语mkdir指的是make directory。
要使用mkdir创建目录,我们必须将目录名称作为参数传递给mkdir命令:
$ mkdir sample
在上面的示例中,sample是我们使用mkdir命令创建的目录的名称。
*ls -l *命令将通过列出内容来检查目录是否已创建:
$ ls -l
drwxr-xr-x 2 bhat bhat 64 Oct 28 23:06 sample
在上面的示例中,我们特别感兴趣的信息有两部分是bhat bhat。
从左到右,这意味着用户bhat拥有这个目录,并且它的所属组也是bhat。
接下来是drwxr-xr-x。
这些是访问权限。这里,第一个字符d指的是一个文件夹。接下来的字符出现在三个组中,每组三个,分别描述所有者、拥有组和其他所有人的访问权限。在单个组中,第一个字符用于读取权限 ( r ),然后是写入权限 ( w ),最后是执行权限 ( x )。破折号表示权限已关闭。
此处,sample目录具有所有者的 read( r )、write( w ) 和 execute( x ) 权限,组的 read( r ) 和 execute( x ) 权限以及其他用户的 execute( x ) 选项.
因此,所有人的完全许可看起来像这样*- rwxrwxrwx*。
我们可以在创建目录时使用八进制来设置目录的权限。它是三个数字的组合,我们可以通过它设置访问权限的每个组合。
下表演示了等效的八进制表示法:
r/w/x | octal
--- | 0
--x | 1
-w- | 2
-wx | 3
r-- | 4
r-x | 5
rw- | 6
rwx | 7
4. 创建目录并设置权限
现在让我们讨论一些针对创建目录和设置其权限的问题的常见解决方案。
4.1. 使用mkdir命令
要在单个命令中同时创建目录和设置权限,使用mkdir命令是:
$ mkdir -m 777 sample
在上面的示例中,我们为所有用户创建了具有读、写和执行权限的sample目录。
ls -l命令将通过列出内容来检查目录是否已创建:
$ ls -l
drwxrwxrwx 2 bhat bhat 64 Nov 1 23:26 sample
带有选项m的mkdir命令设置所创建目录的模式。
此外,如果父目录不存在,我们可以在设置权限的同时创建它:
$ mkdir -p -m 777 /homePrac/sample
在上面的示例中,我们创建了sample目录(位于homePrac目录中),所有用户仅对sample目录具有读、写和执行权限。
ls -l命令(来自homePrac目录)应通过列出内容来检查目录是否已创建:
$ ls -l
drwxrwxrwx 2 bhat bhat 64 Nov 2 22:40 sample
最后,带有选项p的mkdir命令创建父目录homePrac。带有选项m的mkdir命令设置所创建目录的模式。
在上面的示例中,我们为所有用户创建了具有读、写和执行权限的sample目录。
4.2. 使用install命令
使用install 命令同时创建目录和设置权限的单个命令是:
$ install -d -m 777 sample
在上面的示例中,我们为所有用户创建了具有读、写和执行权限的sample目录。
ls -l命令将通过列出内容来检查目录是否已创建:
$ ls -l
drwxrwxrwx 2 bhat bhat 64 Nov 4 11:12 sample
带有选项d的install命令 引用目录。它应创建名为sample 的目录,该目录作为参数传递。带有选项m的mkdir命令设置所创建目录的模式。