• Linux 的文件类型
  • Linux 的 3 种权限
  • Linux 的 3 种用户
  • 解读
  • stat 命令
    • chmod 命令
    • chown 命令
    • chgrp 命令
    • umask 命令
    • chattr 命令
    • lsattr 命令

    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 #查看所有目录文件隐藏文件