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)

解读

  1. -rw-rw-r-- 1 nick nick 0 May 12 16:05 demo.php
  2. - 1 列代表文件类型
  3. rw- 2-4 列代表所属用户的权限
  4. rw- 5-7 列代表所属用户组的权限
  5. r-- 8-11 其他用户所属权限
  6. 1 11 列代表文件被引用的次数
  7. nick 12 列代表文件所属用户名称
  8. nick 13 列代表文件所属用户组名称
  9. 0 14 列代表文件大小
  10. May 12 16:05 15-17 列代表文件最后的修改时间
  11. demo.php 18 列代表文件名称

stat 命令

  1. stat filename #查看文件的详细信息,文件的访问时间、修改时间、改变时间,linux 文件没有创建时间

chmod 命令

  1. chmod 755 filename #将文件权限修改为 755 ,即拥有者有读写执行权限,用户组有读执行权限,其他人有读执行权限
  2. chmod -R 755 dirname #递归修改目录的权限

chown 命令

  1. chown nick index.php #将文件拥有者改为 nick
  2. chown :nick index.php #将文件用户组修改为 nick
  3. chown nick:nick index.php #将文件拥有者和用户组修改为 nick
  4. chown nick php #将目录拥有者修改为 nick
  5. chown :nick php #将目录用户组修改为 nick
  6. chown nick:nick php #将目录拥有者和用户组修改为 nick
  7. chown -R nick:nick php #递归将目录拥有者和用户组修改为 nick

chgrp 命令

  1. chgrp nick demo #改变目录的所属用户组
  2. chgrp nick test.php #改变文件的所属用户组
  3. chgrp -R nick demo #递归改变目录的所属用户组

umask 命令

默认的补码为 022 ,补码越小权限越大,补码的计算规则为 rwx 读写执行即 777 减补码是权限数字
root 的 umask 为 022 ,创建的目录或文件为 755 rwxr-xr-x 权限
普通用户的 umask 为 002 ,创建的目录或文件为 775 rwxrwxr-x 权限
最大权限减 umask 等于默认权限,结果为奇数,则奇数位 +1

  1. umask #查看权限补码
  2. umask -S #查看当前用户权限补码

chattr 命令

  1. chattr +i index.php #设置文件不允许修改、删除、移动、复制,root 用户也生效
  2. chattr -i index.php #取消文件属性设置
  3. chattr +i demo #设置目录属性,目录内的文件目录只能修改,不能新建与修改,子目录的文件目录不生效,目录层级只有一层

lsattr 命令

  1. lsattr filename #查看文件属性
  2. lsattr -d demo #查看目录属性
  3. lsattr -R demo #递归查看目录属性
  4. lsattr -a demo #查看所有目录文件隐藏文件