🐶博主主页:@ᰔᩚ. 一怀明月ꦿ
❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C++,linux
🔥座右铭:“不要等到什么都没有了,才下定决心去做”
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀
目录
更改文件拥有者
在Linux中,你可以使用
chown
命令来更改文件或目录的拥有者。
chown
命令的基本语法如下:chown [新拥有者用户名] [文件或目录]
例如,要将文件
example.txt
的拥有者更改为user1
,可以使用以下命令sudo chown user1 example.txt
在这个命令中,
sudo
是用来获取足够的权限以更改文件拥有者的命令。你可能需要管理员权限来执行这个命令,因为更改文件的拥有者通常需要超级用户权限。也可以直接切换成root用户,直接进行修改
chown 用户名 文件名
更改文件所属组
chown更改文件所属组
要更改文件或目录的所属组,你可以使用
chown
命令,并在其后加上:
后跟新的所属组名。基本的语法如下:
chown :[新所属组名] [文件或目录]
例如,要将文件
example.txt
的所属组更改为group1
,可以使用以下命令:sudo chown :group1 example.txt
同样地,如果你想递归地更改目录下所有文件和子目录的所属组,你可以结合使用
-R
选项。示例命令如下:
sudo chown -R :group1 /path/to/directory 这将递归地将 /path/to/directory 中的所有文件和子目录的所属组更改为 group1。
chgrp更改文件所属组
chgrp
命令用于更改文件或目录的所属组。其基本语法如下:
chgrp [新所属组名] [文件或目录]
例如,要将文件
example.txt
的所属组更改为group1
,可以使用以下命令:sudo chgrp group1 example.txt
要递归地更改目录下所有文件和子目录的所属组,可以结合使用
-R
选项:sudo chgrp -R group1 /path/to/directory 这将递归地将 /path/to/directory 中的所有文件和子目录的所属组更改为 group1
默认权限
目录的起始权限是:777
普通文件起始权限:666
但是实际上
目录的起始权限是:775
普通文件起始权限:664
是因为linux系统中存在权限掩码
umask指令
umask指令可以查看权限掩码
例如: [BCH@ALY 8_2]$ umask 0002 这里的0002是八进制的,第一位的0我们先不用管 002->000 000 010 :凡是在权限掩码中出现的权限,最终都要在起始权限中去掉
修改权限掩码
umask [新的umask值]
例如
[BCH@ALY 8_2]$ umask 0000 [BCH@ALY 8_2]$ umask 0000 我们再创建目录时,目录的起始权限是:777 drwxrwxrwx 2 BCH BCH 6 8月 3 10:14 test3.txt 我们再创建普通文件时,普通文件的起始权限:666 -rw-rw-rw- 1 BCH BCH 0 8月 3 10:16 test4.txt
权限的计算
最终权限=起始权限 去掉 权限掩码中出现的权限 去掉的含义: 最终权限=起始权限(二进制)&(按位与)按位取反权限掩码(二进制) 最终权限=起始权限 &(~umask)
对于一个目录r权限到底是什么
是否允许一个指定用户查看目录的文件列表,如果一个用户对目录具有读权限,则该用户可以列出目录中的文件名列表。这意味着用户可以使用命令如
ls
来查看目录中的文件列表。事例
[BCH@ALY dir1]$ ll 总用量 0 drwxrwxr-x 2 BCH BCH 6 9月 7 13:31 dir2 drwxrwxr-x 2 BCH BCH 6 9月 7 13:32 dir3 drwxrwxr-x 2 BCH BCH 6 9月 7 13:32 dir4 [BCH@ALY dir1]$ cd .. [BCH@ALY 9_7]$ ll 总用量 0 drwxrwxr-x 5 BCH BCH 42 9月 7 13:32 dir1//此时dir1的拥有者具有读权限 -rw-rw-r-- 1 BCH BCH 0 9月 7 13:23 test.txt [BCH@ALY 9_7]$ chmod u-r dir1//去掉r权限 [BCH@ALY 9_7]$ cd dir1 [BCH@ALY dir1]$ ll ls: 无法打开目录'.': 权限不够//这样就访问不了目录的文件列表
对于一个目录w权限到底是什么
是否允许一个指定用户在当前目录下新建/删除/移动文件,如果一个用户对目录具有写权限,则该用户可以在目录中创建、删除或重命名文件。这意味着用户可以在目录中创建新文件、删除文件或者将文件重命名。
事例
[BCH@ALY 9_7]$ ll 总用量 0 d-wxrwxr-x 5 BCH BCH 42 9月 7 13:32 dir1 -rw-rw-r-- 1 BCH BCH 0 9月 7 13:23 test.txt [BCH@ALY 9_7]$ chmod u-w dir1//去掉w权限 [BCH@ALY 9_7]$ cd dir1 [BCH@ALY dir1]$ mkdir dir4 mkdir: 无法创建目录 “dir4”: 文件已存在
对于一个目录x权限到底是什么
如果一个用户对目录具有执行权限,则该用户可以进入目录。如果一个用户没有执行权限,即使拥有了读权限,也无法进入该目录。
事例
[BCH@ALY 9_7]$ ll 总用量 0 drwxrwxr-x 2 BCH BCH 6 9月 7 13:25 dir1//此时dir1拥有者具有x权限 -rw-rw-r-- 1 BCH BCH 0 9月 7 13:23 test.txt [BCH@ALY 9_7]$ cd dir1 [BCH@ALY dir1]$ cd .. [BCH@ALY 9_7]$ chmod u-x dir1//去掉x权限 [BCH@ALY 9_7]$ ll 总用量 0 drw-rwxr-x 2 BCH BCH 6 9月 7 13:25 dir1 -rw-rw-r-- 1 BCH BCH 0 9月 7 13:23 test.txt [BCH@ALY 9_7]$ cd dir1 -bash: cd: dir1: 权限不够//这样dir1的拥有者就不能查看dir1文件了
粘滞位
在 Linux 中,粘滞位是一种特殊的权限标记,通常用于目录,以确保只有文件的所有者才能删除其中的文件。粘滞位在权限标记中用
t
表示,对应的权限位为1
。当粘滞位被设置在一个目录上时,它表示即使其他用户对该目录有写权限,也只有文件的所有者才能删除自己的文件。要在 Linux 中设置粘滞位,可以使用
chmod
命令,结合+t
选项来设置。例如,要在一个目录上设置粘滞位,可以使用以下命令:chmod +t directory_name
要移除目录上的粘滞位,可以使用
-t
选项:chmod -t directory_name
在文件系统中,经典的用途是将粘滞位应用于临时目录,以确保只有目录中的文件的所有者才能删除它们。这可以防止其他用户误删除或修改其他用户的文件。
粘滞位的效果在
ls
命令的输出中以t
来表示。例如,一个目录设置了粘滞位,ls -l
命令输出中会显示如下:drwxrwxrwt 2 owner group 4096 Apr 23 10:00 directory_name 其中,权限标记中的最后一位是 t,表示粘滞位已经设置。
软件yum
在 Linux 系统中,
yum
是一种常用的包管理工具,用于在基于 RPM(Red Hat Package Manager)的发行版中(如 CentOS、Fedora、Red Hat Enterprise Linux 等)管理软件包。yum
主要用于安装、更新和删除软件包,以及解决软件包之间的依赖关系。以下是一些常用的
yum
相关命令:安装软件包: yum install package_name 这条命令将安装指定的软件包及其依赖项。 更新软件包: yum update 该命令会检查可用的更新并将系统中的软件包更新到最新版本。 删除软件包: yum remove package_name 这条命令将删除指定的软件包及其依赖项。 搜索软件包: yum search keyword 该命令用于在 yum 软件仓库中搜索与指定关键字相关的软件包。 列出已安装的软件包: yum list installed 这条命令将列出系统中已经安装的所有软件包。 列出可用更新: yum check-update 该命令会列出可用更新的软件包列表,但不执行实际的更新操作。 清理缓存: yum clean [packages|headers|metadata|expire-cache|all] 这条命令用于清理 yum 的缓存,以释放磁盘空间。 重新建立缓存: yum makecache 该命令重新建立 yum 软件包索引缓存,以便使用最新的软件包信息。
这些是
yum
命令的一些常用用法。通过组合使用这些命令,可以轻松地管理 Linux 系统上的软件包。
🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸