本文已收录于PHP全栈系列专栏:PHP面试专区。
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列
,欢迎大家提前关注锁定。
文章只发布于CSDN平台,坚决杜绝抄袭,侵权必究。
在 Linux 系统中,chmod
和 chown
是两个非常重要的命令。它们可以用于修改文件和目录的权限以及所有者属性。本文将详细介绍这两个命令,并提供一些常见的使用示例。
chmod
命令用于改变文件和目录的访问权限。权限分为三种:所有者权限、群组权限和其他用户权限。每种权限又分为读、写和执行。chmod
命令通过修改权限位来实现这些更改。
chmod
命令的基本用法如下:
chmod [选项] 模式 文件/目录
其中,[选项]
表示一些可选参数,模式
表示目标权限的数值表示或符号表示,文件/目录
表示需要修改权限的目标。
在数值表示法中,每个权限位有一个对应的数字,分别是:
r
(读权限):4w
(写权限):2x
(执行权限):1这三个数字求和得到的结果即为相应权限的数值表示。例如,如果要将一个文件的所有者权限设置为可读可写可执行,可以将其权限位设置为 7(4+2+1)。
除了数值表示法,也可以使用符号表示法来修改权限。符号表示法更加直观和易于理解。
在符号表示法中,每个权限位由一个字母和一个操作符组成:
u
(所有者):属主的权限g
(群组):属组的权限o
(其他用户):其他用户的权限a
(所有人):所有人的权限操作符包括:
+
(添加权限)-
(移除权限)=
(设置权限)例如,要将一个文件的属主权限设置为可写和可执行,可以使用以下命令:
chmod u+wx 文件
chown
命令用于改变文件和目录的所有者。所有者可以是用户名或用户组名。当更改文件的所有者时,同时也会更改文件的群组所有者。
chown
命令的基本用法如下:
chown [选项] 所有者 文件/目录
其中,[选项]
表示一些可选参数,所有者
表示新的所有者用户名或用户组名,文件/目录
表示需要更改所有者的目标。
默认情况下,chown
命令只更改文件的所有者。如果需要同时更改文件的群组所有者,可以使用 -R
选项。
chown -R 新所有者:新用户组 文件/目录
这样就可以将文件和目录以及其内部所有内容的所有者和用户组都更改为新的值。
示例一:
将文件 file.txt
的所有者权限设置为只读,群组权限设置为读写,其他用户权限设置为只执行。
chmod u=r,go=rx file.txt
这条命令中,u=r
设置了文件的所有者权限为只读,go=rx
设置了群组和其他用户的权限为可读可执行。
示例二:
将文件夹 folder
及其内部所有文件和子目录的权限都设置为可读可写。
chmod -R u+rw folder
-R
选项表示递归地修改所有子目录和文件的权限。
示例三:
若要将文件 “file.txt” 的权限设置为只有所有者有读写权限,而其他用户只有读权限,可以使用以下命令:
chmod 644 file.txt
示例四:
若要将目录 “mydir” 及其内部所有文件和子目录的权限设置为所有者具有读、写和执行权限,而其他用户只具有读和执行权限,可以使用以下命令:
chmod -R 750 mydir
示例五:
若要将脚本文件 “script.sh” 设置为可执行,可以使用以下命令:
chmod +x script.sh
示例六:
若要将一个文件夹里的所有文件和子目录设置为只读权限,可以使用以下命令:
chmod -R a-w myfolder
示例一:
将文件 file.txt
的所有者更改为 user1
。
chown user1 file.txt
这条命令将文件的所有者更改为 user1
。
示例二:
将文件夹 folder
以及其内部所有文件和子目录的所有者和用户组都更改为 user1:group1
。
chown -R user1:group1 folder
-R
选项表示递归地修改所有子目录和文件的所有者和用户组。
在 Linux 系统中,chmod
和 chown
是非常重要的命令,它们可以帮助我们管理文件和目录的权限以及所有者属性。本文详细介绍了这两个命令的使用方法,并提供了一些常见的使用示例。希望本文对您学习和使用 chmod
和 chown
命令有所帮助。
本文已收录于PHP全栈系列专栏:PHP面试专区。
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列
,欢迎大家提前关注锁定。