【ls -l 命令查看文件权限】【chmod 修改文件权限命令及解释】
文章目录
- 1. `ls -l` 命令的用法和输出内容
- 1.1. **`ls -l` 命令介绍**
- 1.2. **命令格式**
- 1.3. **`ls -l` 命令的输出解释**
- 2. 修改文件权限的命令及解释
- 2.1. **`chmod` 命令介绍**
- 2.2. **命令格式**
- 2.3. **符号模式修改权限**
- 示例:
- 2.4. **数字模式修改权限**
- 示例:
- 3. 递归修改文件权限
- 示例:
- 5. 总结
1. ls -l
命令的用法和输出内容
1.1. ls -l
命令介绍
ls -l
是 Linux/Unix 系统下的一个常用命令,用于列出目录中文件的详细信息,特别是权限、文件类型、所有者、文件大小、修改时间等。
1.2. 命令格式
ls -l <目录/文件路径>
例如:
ls -l /path/to/directory
1.3. ls -l
命令的输出解释
drwxr-xr-x 3 root root 70 Sep 2 17:16 data
-rw-rw-r-- 1 hadoop hadoop 2194 Sep 3 09:37 README.md
-
每行由多个字段组成,格式如下:
<类型><权限> <硬链接数> <所有者> <所属组> <文件大小> <修改时间> <文件/目录名>
-
字段解释:
-
类型:第一个字符表示文件的类型。
d
:表示目录(directory)。-
:表示普通文件(regular file)。l
:表示符号链接(symbolic link)。
-
权限:接下来的 9 个字符分为三组,每组三个字符,分别表示所有者(Owner)、所属组(Group)和其他用户(Others)的权限。每组权限由以下字符组成:
r
:读取权限(read)。w
:写入权限(write)。x
:执行权限(execute)。-
:无该权限。
例如,
rwxr-xr-x
表示:- 所有者:读、写、执行权限(
rwx
)。 - 所属组:读和执行权限(
r-x
)。 - 其他用户:读和执行权限(
r-x
)。
-
硬链接数:表示有多少个硬链接指向该文件或目录。
-
所有者:文件或目录的所有者用户。
-
所属组:文件或目录的所属用户组。
-
文件大小:文件的字节大小。
-
修改时间:文件或目录的最后修改时间。
-
文件/目录名:文件或目录的名称。
-
2. 修改文件权限的命令及解释
2.1. chmod
命令介绍
chmod
命令用于更改文件或目录的权限。可以通过符号模式或数字模式来指定权限。
2.2. 命令格式
chmod [权限] <文件/目录路径>
2.3. 符号模式修改权限
符号模式使用 u
、g
、o
分别表示所有者(user)、组(group)和其他用户(others),然后通过 +
、-
、=
来添加、删除或设置权限。
-
符号表示:
u
:所有者(user)。g
:所属组(group)。o
:其他用户(others)。a
:所有用户(u、g、o)。
-
操作符:
+
:添加权限。-
:移除权限。=
:设置权限。
示例:
-
添加组写权限:
chmod g+w <文件/目录路径>
-
删除其他用户的执行权限:
chmod o-x <文件/目录路径>
-
将所有者的权限设置为读、写、执行:
chmod u=rwx <文件/目录路径>
-
为所有用户添加读取权限:
chmod a+r <文件/目录路径>
2.4. 数字模式修改权限
数字模式使用三位数字来表示权限,每一位数字对应所有者、组和其他用户的权限。每个权限可以通过以下数值组合:
r
(读) = 4w
(写) = 2x
(执行) = 1-
(无权限) = 0
通过加法得到最终的权限值。例如:
7
=rwx
(4 + 2 + 1)5
=r-x
(4 + 1)6
=rw-
(4 + 2)
示例:
-
设置所有者为
rwx
,组为r-x
,其他用户为r--
:chmod 755 <文件/目录路径>
-
为所有用户设置读写权限(
rw-rw-rw-
):chmod 666 <文件/目录路径>
-
设置所有者
rwx
,组和其他用户只读(rwxr--r--
):chmod 744 <文件/目录路径>
3. 递归修改文件权限
如果要对目录及其所有子目录和文件递归地修改权限,可以使用 -R
选项:
chmod -R <权限> <目录路径>
示例:
- 为整个目录及其内容的组添加写权限:
chmod -R g+w /path/to/directory
5. 总结
- 查看文件权限:使用
ls -l
查看文件和目录的详细权限信息。 - 修改权限:使用
chmod
命令,使用符号模式(如u+r
)或数字模式(如755
)进行权限修改。 - 递归修改:使用
chmod -R
修改整个目录树的权限。