127 lines
3.1 KiB
Bash
127 lines
3.1 KiB
Bash
#### 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 #查看所有目录文件隐藏文件
|
||
``` |