读懂文件属性
示例使用ls -l 或ll缩写命令在/目录下进行文件查看
本文将Linux中所有不同类型的文件统称为"文件"(很多地方也称为"档案"),而将属性为d开头的文件称为"标准文件"
[root@hadoop102 /]# pwd
/
[root@hadoop102 /]# ll
total 88
lrwxrwxrwx. 1 root root 7 May 18 2022 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 May 18 2022 boot
drwxr-xr-x. 19 root root 3180 Mar 6 07:09 dev
drwxr-xr-x. 81 root root 4096 Mar 6 07:09 etc
drwxr-xr-x. 3 root root 4096 May 18 2022 home
lrwxrwxrwx. 1 root root 7 May 18 2022 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 May 18 2022 lib64 -> usr/lib64
drwx------. 2 root root 16384 May 18 2022 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 4 root root 4096 May 18 2022 opt
dr-xr-xr-x. 94 root root 0 Mar 6 07:09 proc
dr-xr-x---. 3 root root 4096 Mar 3 01:36 root
drwxr-xr-x. 23 root root 580 Mar 6 07:09 run
lrwxrwxrwx. 1 root root 8 May 18 2022 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Mar 6 07:09 sys
drwxr-xr-x. 2 root root 4096 Feb 21 20:59 text
drwxrwxrwt. 10 root root 24576 Mar 6 07:09 tmp
drwxr-xr-x. 13 root root 4096 May 18 2022 usr
drwxr-xr-x. 19 root root 4096 May 18 2022 var
我们挑出任意一文件来拆分讲解
drwxr-xr-x. 13 root root 4096 May 18 2022 usr
drwxr-xr-x.
第一个d为文件类型,跟随的是文件的权限,包括了读,写和可执行
13 为连接数,表示被指向到此文件的属性(i-node)个数
第一个root 为该文件的拥有者为root
第二个root为该文件的所属组,组的概念源于Linux为多用户操作系统
4096 为该文件的大小,使用ll命令默认以字节为单位,这里换算下来就是4K
May 18 2022 为最后被更改的时间
usr 文件名称
文件类型
我们仍然拿usr的第一行第一个权限组合举例
drwxr-xr-x. 第一个字母为文件的类型,而在Linux中文件的类型包括
d 目录
- 标准文件包括但不限于文本,二进制文件,数据文件等
l (L小写)链接文件 ,链接分为软链接和硬链接,也是常见的一种文件格式,可以单纯的理解为一个指向,类似于win10中的快捷方式。
s 接口文件 接口简个人单理解就是传输数据的通道
c 理解为挂载的外接设备,如鼠标键盘等
b 块文件,我们将磁盘分为很多块,(block)块也为操作系统能读取的磁盘最小单位,所以也通常代表了磁盘设备
p 维护文件的文件,此文件的存在是为了保证了文件的数据安全,他在多个进程访问同一个文件时会生成
权限信息
drwxr-xr-x.
r为读取,w为写入,x为可执行, -为没有权限
然后我们将他们三个一组分开 rwx r-x r-x
第一组为文件所有着权限 此处所有者有读写执行的权限
第二组为文件所属组权限 此处所有组有读取和执行的权限
第三组为其他人的权限 此处其他人有读取和执行的权限
权限与属性更改
命令 chgrp chown chmod
chgrp 改变文件所属组
chgrp grpou_name document_name // 参数-R递归使用较多
chown 改变文件拥有者
chown user_name document_name //依旧可以使用-R递归,如果为目录则目录下所有文件全部更改
chown user_name:group_name document_name //用户和组同时更改以 :分割
chown user_name.group_name document_name //用户和组同时更改以 . 分割
chmod 改变文件权限
使用数字的方法改变
只需要记住 r = 4;w = 2;x = 1;
将文件所属者,所属组和其他人的权限进行分组对应排序即可
所属者 所属组 其他人
rwx rwx rwx //示例为最大权限 对应减去相应数字即可,如其他人只读就为774
7 7 7
chmod 777 File or directory
[root@hadoop102 /]# ll test.c
-rw-r--r--. 1 root root 4 Mar 6 10:21 test.c
[root@hadoop102 /]# chmod 777 test.c
[root@hadoop102 /]# ll test.c
-rwxrwxrwx. 1 root root 4 Mar 6 10:21 test.c
采取直接设定的方法
所属者 所属组 其他人 分别以 u,g,o 代替,添加权限就为+,删除权限就为-,设定就为=
如上图777的最大权限很明显是不合理的,我们示例进行更改权限为 rwxr-xr--
[root@hadoop102 /]# ll test.c
-rwxrwxrwx. 1 root root 4 Mar 6 10:21 test.c
[root@hadoop102 /]# chmod u=rwx,g=rx,o=r test.c //不同赋值以逗号分隔
[root@hadoop102 /]# ll test.c
-rwxr-xr--. 1 root root 4 Mar 6 10:21 test.c