文件与目录系统
一、文件与目录的属性
1、  查看文件与目录的属性:#ls -l
 -rw-r--r--      1          root  root   979     11-12 16:50    file1
类型权限  连接数   属主 属组  容量    时间戳信息    名称
2、类型和权限
         -     | --- | --- |    ---
        类型      属主权限  属组权限  其他用户权限
  -文件           r   w      x      r     w     x     r   w     x         -
   d目录           读 写 执行 读 写 执行  读写 执行   无权限
   b块设备
   c字符设备
   s socket设备
   l连接文件
   p 管道
3、权限值:---|---|---
                          4 2 1     4 2 1      4 2 1
                    r w x r -x r w -
                    7       5        6
4、属主:文件的所有者,其对文件的权限取决于属主权限。
     属组:文件的所属组,属组成员对文件的权限取决于属组权限。
    其他用户:除属主和属组用户以外的所有用户,其对文件的权限取决于其它用户权限。
5、文件权限的修改
       a、权限值法:#chmod 权限值  文件名
       b、代码法:#chmod who      操作符  权限  文件名
                                           u属主         +          r
                                          g属组         -          w
                                          o其它用户   =         x
                                          a所有用户
6、目录的可执行权限:决定了目录是否可进入。
 
二、文件的特殊权限
1、suid,借用属主的x权限表示。如果属主有x权限,则使用s。如果属主没有
         x权限,则使用S。
        表示程序将以属主的身份执行所有相关的可执行文件。
   设置suid ,代码法:chmod u+s 文件名
              权限值法:chmod 4xxx 文件名
2、sgid,借用属组的x权限表示。如果属组有x权限,则使用s。如果属组没有
         x权限,则使用S。
        表示程序将以属组的身份执行所有相关的可执行文件。
    设置sgid,代码法:chmod g+s 文件名
              权限值法:chmod 2xxx 文件名
3、stickid,借用其他用户的x权限表示。如果其他用户有x权限,则使用t,
             如果其他用户没有x权限,使用T表示。
        stickid被配置于目录上,表示该目录中的文件仅属主和root可删
                   除。
    设置stickid,代码法:chmod o+t 文件名|目录名
                 权限值法:chmod 1xxx 文件|目录名
4、文件权限的总结:
       特殊权限   属主权限    属组权限    其它用户权限
       - - - | - - - | - - - | - - -
suid sgid stick r w x   r w x   r w x
       7777
三、修改文件的属主和属组
1、修改文件的属主:#chown 新属主  文件名1 文件名2 ......
                                      #chown 新属主:新属组  文件名1 ......
2、修改文件的属组:#chgrp 新属组  文件名1 ......
四、文件的默认权限
1、文件的默认权限为644,目录的默认权限为755
2、默认权限取决于umask掩码
       #umask查看系统的umask掩码
    umask掩码不考虑x可执行权限和特殊权限。umask掩码的设置权限,为文
           件的未设置权限,umask的未设置权限为文件的设置权限。
3、修改umask:#umask 掩码值 (只在当前shell中有效)
   umask值来源于/etc/bashrc的定义。
五、用户的默认配置/etc/default/useradd
六、文件的连接
    1、链接:分为硬链接和符号链接两种。
    2、符号链接:源文件与链接文件在内容上具有一致性,链接文件依存于源
                 文件。
       符号连接的创建:#ln -s 源文件的绝对路径 目标文件的绝对路径
    3、硬链接:源文件与链接文件在内容上具有一致性,链接文件不依存于源
        文件。
       创建硬链接:#ln 源文件  目标文件
七、索引结点
    1、inode索引结点,用于存储、读取和控制文件。每个文件或目录都有一
        个索引结点。
     2、查看索引结点:ls -i
     3、索引结点的结构:容量128B
     4、默认的情况下,每4096B分配一个索引结点。一旦索引结点消耗殆尽,
        即使还有磁盘空间,也无法创建文件或目录。
     5、查看分区容量使用信息:#df
       查看索引结点的使用信息:#df -i
八、硬链接与符号连接的区别
       硬链接:源文件与目标文件使用相同的索引结点号
       符号连接L:源文件与目标文件使用不同的索引结点号
九、文件的特殊属性
       a,附加属性,只能附加内容,不能删除也不能覆盖
       c、压缩属性,由内核自动压缩
       d、不使用dump备份。
       i、只读,不能被覆盖、删除和附加
    1、查看特殊属性:#lsattr 文件名
    2、设置特殊属性:#chattr +/-  属性代号  文件名