通过在linux终端输入ll
或ls -l
可以在第一列看到文件的属性信息,如下形式:
-rw-r--r--
drwxr-xr-x
其第一列用于区分是什么文件,因为在linux系统中一切皆文件,那比如文件夹、文件、链接文件等这些应该怎么区分,答案是上面代码块中的第一列,主要有以下类型:
标识 | 说明 |
---|---|
b | 块设备,是一些提供系统存取数据的接口设备,例如硬盘。 |
c | 字符设备,是一些串行端口的接口设备,例如键盘、鼠标、打印机、tty终端。 |
d | 目录,文件夹 |
l | 链接文件,相当于windows的快捷方式,其中保存的是快捷方式文件的路径 |
s | socket,套接字 |
- | 文件 |
如果想要查看文件的详细信息,可以使用命令file
第2-9个位信息,每三个为一组,分别表示该文件或文件夹的所有者权限、文件所属者所在组的权限、其他用户的权限。每部分使用三位二进制位来表示。如下图
其中读、写、执行权限分别使用字母r、w、x来表示,上面说了每个不同的所有者权限使用的是三位二进制位表示,那么给相应文件富裕权限就有两种方式。
- 直接使用二进制位,比如现在想给所有者添加可读权限,其他的所有者没有任何权限,可以这样表示
100|000|000
,这样从右向左每三位转换为一个10进制数即为400
,因此只需要使用chmod 400 文件
执行即可。 - 使用字母方式
user:用户、group:组、others:其他。注意加粗的部分。其中a表示所有
那么,如果我们需要将文件权限设置为-rwxr-xr--
,可以使用chmod u=rwx,g=rx,o=r 文件名
来设定。
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则chmod a-x filename
,又比如去掉所有者的读权限,所在组添加写权限,其他人添加执行权限,可以这样chmod u-r,g+w,o+x filename
这应该就是所有权限设置涉及到的内容,可能会涉及到一下命令:chgrp
、chmod
、chown
具体使用方法chown
和chmod
使用较多,chomd
已经介绍,简单看一下chown
。
man page中如下:
chown: illegal option -- -
usage: chown [-fhnv] [-R [-H | -L | -P]] owner[:group] file ...
chown [-fhnv] [-R [-H | -L | -P]] :group file ...
-R : 递归设置子目录和文件(用的多,其他的用时可查)
举个例子:
将文件的所有者设置为wsd,对应命令chown wsd file
将文件的组用户设置为fgd,对应命令chown :fgd file
将文件夹的所有者设置为df,组用户设置为lk,对应命令chown -R df:lk file
。
抽空写的,有错误的地方,还请大佬们指出,一起进步