文章目录
- ls命令(常用)
- su命令
- sudo命令
- chmod命令
- chown命令
- chgrp命令
当谈到Linux系统中的权限时,通常指的是文件和目录的权限。这些权限决定了谁可以对文件或目录进行何种类型的操作。在Linux中,权限通常被分为三个主要方面:读取(Read)、写入(Write)和执行(Execute)。
- 读取权限r(Read):
- 对于文件,读取权限允许用户查看文件的内容,但不能修改或删除它。
- 对于目录,拥有执行权限的同时并且有读取权限,则用户可以移动到该目录或者列出目录中的文件和子目录。
- 写入权限w(Write):
- 对于文件,如果文件具有写入权限并且有读取权限,则用户可以编辑、修改或删除文件。
- 对于目录,写入权限允许用户在目录中创建、删除或重命名文件和子目录。
- 执行权限x(Execute):
- 对于普通文件,执行权限通常用于指示文件是否可以作为可执行文件运行。
- 对于目录,拥有执行权限、读取权限则允许用户进入该目录并访问其内容。
这些权限通常分别针对文件的所有者、所属用户组和其他用户。在Linux系统中,每个文件和目录都与一个所有者和所属用户组相关联,并且具有针对这些实体的权限设置。这些权限设置决定了哪些操作可以由文件所有者、所属用户组和其他用户执行。
ls命令(常用)
- 功能描述:显示指定目录下的内容(默认是当前目录)
ls -lh
长格式显示
-
文件类型:第一个字符表示文件类型。常见的文件类型包括:
-
(普通文件)、d
(目录)、l
(符号链接)等。 -
文件权限:接下来的九个字符表示文件的权限,每三个字符代表一组权限,分别对应文件的所有者、所属用户组和其他用户的权限。常见的权限字符包括
r
(读取)、w
(写入)、x
(执行)和-
(无权限)。文件权限通常用以二进制来表示,如r -4,w -2,x -1。那么rwxr-xr-x可以用755来表示
-
链接数:表示链接到该文件或目录的硬链接数。
-
所有者和所属用户组:表示该文件或目录的所有者用户名以及所属的用户组名。
-
文件大小:表示文件的大小,以字节(bytes)为单位。使用
h
选项可以人性化显示。 -
修改时间:表示文件或目录的最后修改时间。
-
名称:表示文件或目录的名称。常见的名称颜色有:白色(普通文件)、蓝色(目录)、红色(压缩包)、绿色(可执行文件)
su命令
-
功能描述:
su
命令用于切换用户身份。 -
常用选项:
-c <命令>
:以其他用户身份执行指定命令(执行完之后并不切换用户身份)
-
常用示例:
# 切换到root用户 su # 切换到其他用户 su username # 以其他用户身份执行命令(需要root权限) su -c "command" username
-
注意事项:
su
命令默认用于切换到超级用户(root)身份,但也可以用于切换到其他普通用户身份。- 切换到其他用户身份时,通常需要输入目标用户的密码。
- 使用
su
命令切换到root用户时,需谨慎操作,以免意外执行危险命令导致系统损坏。
sudo命令
-
功能描述:
sudo
命令用于临时以其他用户的身份执行命令,通常是以超级用户(root)的权限执行。 -
常用选项:
-u <用户>
:指定要以其身份执行命令的用户。
-
常用示例:
# 以root权限执行命令 sudo command # 以其他用户(例如username)的权限执行命令 sudo -u username "command"
-
注意事项:
sudo
命令需要当前用户具有权限才能使用,通常是在sudoers文件中进行配置。- 使用
sudo
执行命令时,可能需要输入当前用户的密码。 - 谨慎使用
sudo
命令,以免意外执行危险的操作。
chmod命令
-
功能描述
chmod
命令用于修改文件或目录的权限。 -
常用选项:
u
:user,表示文件所有者(用户)的权限。g
:group,表示文件所属组的权限。o
:other,表示其他用户的权限。a
:all,表示所有用户的权限,相当于**ugo
**的组合。
-
常用示例:
# 将文件file.txt设置为所有者可读写,所属组和其他用户只读 rw-r--r-- chmod 644 file.txt # 添加文件file.txt的读取权限、执行权限给所有用户 chmod a+rx file.txt # 删除文件file.txt的写权限给所有者 chmod u-w file.txt
-
注意事项:
- 文件或目录的权限包括读(r)、写(w)、执行(x)权限。
- 需要有足够的权限才能修改文件或目录的权限。
- 使用常用选项时,
=
是指定权限,+
是追加权限,-
是删除权限
chown命令
-
功能描述
**
chown
**命令用于更改文件或目录的所有者和所属组。 -
常用选项:
R, --recursive
:递归地修改目录及其子目录下所有文件的所有者和所属组。v, --verbose
:显示修改的文件所有者和所属组信息。
-
常用示例:
# 将文件file.txt的所有者更改为newowner chown newowner file.txt # 将文件file.txt的所有者和所属组同时更改为newowner:newgroup chown newowner:newgroup file.txt # 递归地将目录directory/及其子目录下所有文件的所有者更改为newowner chown -R newowner directory/ # 递归地将目录directory/及其子目录下所有文件的所属组更改为newgroup chown -R :newgroup directory/
-
注意事项:
- 需要有足够的权限才能修改文件或目录的所有者和所属组。
- 可以同时修改文件或目录的所有者和所属组,也可以只修改其中一个。
- 使用
:
分隔符来指定新的所有者和所属组,例如chown newowner:newgroup file.txt
。
chgrp命令
-
功能描述
chgrp
命令用于更改文件或目录的所属组。 -
常用选项:
R, --recursive
:递归地修改目录及其子目录下所有文件的所属组。v, --verbose
:显示修改的文件所属组信息。
-
常用示例:
# 将文件file.txt的所属组更改为newgroup chgrp newgroup file.txt # 递归地将目录directory/及其子目录下所有文件的所属组更改为newgroup chgrp -R newgroup directory/
-
注意事项:
- 需要有足够的权限才能修改文件或目录的所属组。
- 可以同时修改多个文件或目录的所属组,也可以递归地修改目录及其子目录下所有文件的所属组。