#### Linux 的文件类型 1. 普通文件,符号为 `-` 2. 目录,符号为 `d` 3. 字符设备,符号为 `c` 4. 块设备,符号为 `b` 5. 套接字文件,符号为 `s` 6. 软链接文件,类似 `Windows` 系统的快捷方式,删除了并不会影响源文件,符号为 `l` 7. 管道文件,符号为 `p` 补充:常见的文件类型为 `-` `d` `l` #### Linux 的 3 种权限 - `r` 代表 `read` 读权限,数字代表为 `4` - `w` 代表 `wirte` 写权限,数字代表为 `2` - `x` 代表 `execute` 执行权限,数字代表为 `1` #### Linux 的 3 种用户 - 拥有者(owner) - 用户组(group) - 其它人(others) #### 解读 ``` -rw-rw-r-- 1 nick nick 0 May 12 16:05 demo.php - 第 1 列代表文件类型 rw- 第 2-4 列代表所属用户的权限 rw- 第 5-7 列代表所属用户组的权限 r-- 第 8-11 其他用户所属权限 1 第 11 列代表文件被引用的次数 nick 第 12 列代表文件所属用户名称 nick 第 13 列代表文件所属用户组名称 0 第 14 列代表文件大小 May 12 16:05 第 15-17 列代表文件最后的修改时间 demo.php 第 18 列代表文件名称 ``` ### stat 命令 ``` stat filename #查看文件的详细信息,文件的访问时间、修改时间、改变时间,linux 文件没有创建时间 ``` #### chmod 命令 ``` chmod 755 filename #将文件权限修改为 755 ,即拥有者有读写执行权限,用户组有读执行权限,其他人有读执行权限 chmod -R 755 dirname #递归修改目录的权限 ``` #### chown 命令 ``` chown nick index.php #将文件拥有者改为 nick chown :nick index.php #将文件用户组修改为 nick chown nick:nick index.php #将文件拥有者和用户组修改为 nick chown nick php #将目录拥有者修改为 nick chown :nick php #将目录用户组修改为 nick chown nick:nick php #将目录拥有者和用户组修改为 nick chown -R nick:nick php #递归将目录拥有者和用户组修改为 nick ``` #### chgrp 命令 ``` chgrp nick demo #改变目录的所属用户组 chgrp nick test.php #改变文件的所属用户组 chgrp -R nick demo #递归改变目录的所属用户组 ``` #### umask 命令 默认的补码为 022 ,补码越小权限越大,补码的计算规则为 rwx 读写执行即 777 减补码是权限数字 root 的 umask 为 022 ,创建的目录或文件为 755 rwxr-xr-x 权限 普通用户的 umask 为 002 ,创建的目录或文件为 775 rwxrwxr-x 权限 最大权限减 umask 等于默认权限,结果为奇数,则奇数位 +1 ``` umask #查看权限补码 umask -S #查看当前用户权限补码 ``` #### chattr 命令 ``` chattr +i index.php #设置文件不允许修改、删除、移动、复制,root 用户也生效 chattr -i index.php #取消文件属性设置 chattr +i demo #设置目录属性,目录内的文件目录只能修改,不能新建与修改,子目录的文件目录不生效,目录层级只有一层 ``` #### lsattr 命令 ``` lsattr filename #查看文件属性 lsattr -d demo #查看目录属性 lsattr -R demo #递归查看目录属性 lsattr -a demo #查看所有目录文件隐藏文件 ```