04、文件属性详述

一、概述文件属性信息组成

复制代码
# 1、文件详细信息详解
    134319695 -rw-------. 1 root root 1.7K Dec  8 12:08 anaconda-ks.cfg
    134319707 -rw-r--r--  1 root root   12 Dec 13 11:48 index

# 2、inode编号
    Linux系统中文件的唯一编号,就相当于身份证号。

# 3、硬链接和软连接
    1、什么是硬链接
        硬链接直接指向index node编号。
        
    2、什么是软连接
        相当于Windows中的快捷方式
        主要用来指向对应文件的路径。
    
    3、创建命令
        ln 
        参数:
            -s : 创建的就是软连接
            
    4、删除文件的底层逻辑
        1、删除的是硬链接
        2、判断该文件硬链接数是否为0
        3、如果为0,则在磁盘中将其删除
        4、如果不为0,则只删除一个硬链接
复制代码

二、详述文件属性信息组成

(一)文件类型

复制代码
# 普通文件    
    :f(-)
# 文件夹    
    : d
# 链接文件    
    : l
# 设备文件        
    : b c 
    b : 磁盘文件
    c : 字符文件
#套接字文件(socket)
    :s
    yum install mariadb* -y
# 管道文件                
    : p
# 断点续传
注意:不能以颜色判断文件类型。
复制代码

(二)文件软硬连接

(三)存储数据相关-inode

(四)文件用户和用户组

复制代码
# 用户:相当于账号
    root   long
# 用户组:某些具有相同属性的账号的集合
    root

# 创建用户的命令:
    useradd
        参数:
            -g : 指定用户组(用户必须存在)
            -r : 创建系统用户
            -M :不创建家目录
            -u :指定创建用户的ID的
            
    系统用户:uid在 0 - 999 之间的用户,我们就看作系统用户
        系统用户一般用在启动应用程序上,一般不需要登录系统。
        
    普通用户:uid在 1000及以上的用户,我们就看作普通用户
        一般用在登录上。

# 创建用户组的命令:
    groupadd 
        参数:
            -g : 指定用户组的ID

# 切换用户
    su - [用户名]
    su [用户名]

# 查看用户的ID或组的ID
  id [用户名]

# 查看用户详情的文件
[root@localhost ~]# cat /etc/passwd
test01:x:1001:1001:用户简介:/home/test01:/bin/bash
用户名      : test01
密码占位符    :x
1001       : userid
1001       : 组id
/home/test01  : 家目录
/bin/bash    :默认的解析器    

bash
sh
zsh
复制代码

 (五)文件相关权限

复制代码
某一个用户针对某一个文件的权限。

1、权限分为3个部分
    可读(r)
    可写(w)
    可执行(x)
    没有对应权限(-)

    执行脚本 == 运行脚本

2、权限位
    权限位主要分为三个部分,分别是属主、属组以及其他人
    rwx        : 属主
    r-x        : 属组
    r-x        : 其他人
    
    可读 可写 可执行

3、每一个权限拥有一个数字编号
    可读(r)            : 4
    可写(w)            : 2
    可执行(x)            : 1
     没有对应权限(-)   : 0
     
 4、在添加权限的时候,可以将权限加起来
 
     index     
         属主 : 可读可写可执行
         属组 :可读可写
         其他人:没有任何权限
         
         rwxrw----  等价于  760
         
 5、添加权限
     chmod 
         格式:
             chmod [参数] [权限表达式] [操作对象]
     
     参数:
         -R  : 递归增加权限
     
 6、权限的归属
     属主:u
     属组:g
     其他人:o

7、测试权限对于用户的意义
    1、普通用户是严格遵守权限的
    2、root用户是高于权限
    3、权限需要重新登才生效(su和su - 都可以)

8、测试权限对于目录的意义
    1、文件可读,路径的最小权限是必须拥有可执行权限。
    2、文件可写,路径的最小权限是必须拥有可执行权限。
    3、文件可执行,路径的最小权限是必须拥有可读可执行权限。

9、创建文件的默认权限,创建文件夹的默认权限是从哪里来的
    在Linux中,常用的文件的权限是666, 目录的权限是777。
    
    1、文件的权限是跟 umask 值相减,遇到奇数加一;遇到偶数则不变。
    2、文件夹的权限只要跟 umask 值相减即可。
    
    root : umask 022
    test09 : umask 002
    
    默认文件权限:644
    默认的文件夹权限:755
        
    &&   and
    ||   or
    
    umask 123    
        644 
        654

    需求:
        要求把1个月之前修改过的日志文件删除。

案例:
    案例1:将index文件添加属主 : 可读可写可执行、属组 :可读可写、其他人:没有任何权限
        chmod 760 index

     案例2:将baidu下的所有文件设置rwxr--r--
         chmod -R  744  baidu/

     案例3:将index这个文件的属组增加一个可执行权限。
         chmod g+x index
         chmod g+x,o-r index
复制代码

 

posted @   三三得九86  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示