auto commit

This commit is contained in:
CyC2018 2019-06-08 17:48:16 +08:00
parent 2059a4e260
commit 29ba25a9d7
12 changed files with 74 additions and 78 deletions

View File

@ -31,7 +31,7 @@
* [文件属性](#文件属性)
* [文件与目录的基本操作](#文件与目录的基本操作)
* [修改权限](#修改权限)
* [文件默认权限](#文件默认权限)
* [默认权限](#默认权限)
* [目录的权限](#目录的权限)
* [链接](#链接)
* [获取文件内容](#获取文件内容)
@ -137,10 +137,8 @@ sudo 允许一般用户使用 root 可执行的命令,不过只有在 /etc/sud
RPM DPKG 为最常见的两类软件包管理工具
- RPM 全称为 Redhat Package Manager最早由 Red Hat 公司制定实施随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准
- RPM 竞争的是基于 Debian 操作系统 (Ubuntu) DEB 软件包管理工具 DPKG全称为 Debian Package功能方面与 RPM 相似
YUM 基于 RPM具有依赖管理和软件升级功能
- RPM 全称为 Redhat Package Manager最早由 Red Hat 公司制定实施随后被 GNU 开源操作系统接受并成为许多 Linux 系统的既定软件标准YUM 基于 RPM具有依赖管理和软件升级功能
- RPM 竞争的是基于 Debian 操作系统的 DEB 软件包管理工具 DPKG全称为 Debian Package功能方面与 RPM 相似
## 发行版
@ -157,7 +155,7 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。
- 编辑模式Insert mode按下 "i" 等按键之后进入可以对文本进行编辑
- 指令列模式Bottom-line mode按下 ":" 按键之后进入用于保存退出等操作
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/5942debd-fc00-477a-b390-7c5692cc8070.jpg" width="400"/> </div><br>
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/b5e9fa4d-78d3-4176-8273-756d970742c7.png" width="500"/> </div><br>
在指令列模式下有以下命令用于离开或者保存文件
@ -172,7 +170,7 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。
## GNU
GNU 计划译为革奴计划它的目标是创建一套完全自由的操作系统称为 GNU其内容软件完全以 GPL 方式发布其中 GPL 全称为 GNU 通用公共许可协议包含了以下内容
GNU 计划译为革奴计划它的目标是创建一套完全自由的操作系统称为 GNU其内容软件完全以 GPL 方式发布其中 GPL 全称为 GNU 通用公共许可协议GNU General Public License包含了以下内容
- 以任何目的运行此程序的自由
- 再复制的自由
@ -195,13 +193,13 @@ IDEATA全称 Advanced Technology Attachment接口速度最大为 133MB/
### 2. SATA
SATA 全称 Serial ATA也就是使用串口的 ATA 接口抗干扰性强且对数据线的长度要求比 ATA 低很多支持热插拔等功能SATA-II 的接口速度为 300MiB/s新的 SATA-III 标准可达到 600MiB/s 的传输速度SATA 的数据线也比 ATA 的细得多有利于机箱内的空气流通整理线材也比较方便
SATA 全称 Serial ATA也就是使用串口的 ATA 接口抗干扰性强且对数据线的长度要求比 ATA 低很多支持热插拔等功能SATA-II 的接口速度为 300MiB/s SATA-III 标准可达到 600MiB/s 的传输速度SATA 的数据线也比 ATA 的细得多有利于机箱内的空气流通整理线材也比较方便
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f9f2a16b-4843-44d1-9759-c745772e9bcf.jpg" width=""/> </div><br>
### 3. SCSI
SCSI 全称是 Small Computer System Interface小型机系统接口经历多代的发展从早期的 SCSI-II 到目前的 Ultra320 SCSI 以及 Fiber-Channel光纤通道接口型式也多种多样SCSI 硬盘广为工作站以及个人电脑以及服务器所使用因此会使用较为先进的技术如碟片转速 15000rpm 的高转速且传输时 CPU 占用率较低但是单价也比相同容量的 ATA SATA 硬盘更加昂贵
SCSI 全称是 Small Computer System Interface小型机系统接口SCSI 硬盘广为工作站以及个人电脑以及服务器所使用因此会使用较为先进的技术如碟片转速 15000rpm 的高转速且传输时 CPU 占用率较低但是单价也比相同容量的 ATA SATA 硬盘更加昂贵
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f0574025-c514-49f5-a591-6d6a71f271f7.jpg" width=""/> </div><br>
@ -236,7 +234,7 @@ Linux 也把分区当成文件,分区文件的命名方式为:磁盘文件
### 2. GPT
不同的磁盘有不同的扇区大小例如 512 bytes 和最新磁盘的 4 kGPT 为了兼容所有磁盘在定义扇区上使用逻辑区块地址Logical Block Address, LBALBA 默认大小为 512 bytes
扇区是磁盘的最小存储单位旧磁盘的扇区大小通常为 512 bytes而最新的磁盘支持 4 kGPT 为了兼容所有磁盘在定义扇区上使用逻辑区块地址Logical Block Address, LBALBA 默认大小为 512 bytes
GPT 1 个区块记录了主要开机记录MBR紧接着是 33 个区块记录分区信息并把最后的 33 个区块用于对分区信息进行备份 33 个区块第一个为 GPT 表头纪录这个部份纪录了分区表本身的位置与大小和备份分区的位置同时放置了分区表的校验码 (CRC32)操作系统可以根据这个校验码来判断 GPT 是否正确若有错误可以使用备份分区进行恢复
@ -284,19 +282,19 @@ BIOS 不可以读取 GPT 分区表,而 UEFI 可以。
除此之外还包括
- superblock记录文件系统的整体信息包括 inode block 的总量使用量剩余量以及文件系统的格式与相关信息等
- block bitmap记录 block 是否被使用的位
- block bitmap记录 block 是否被使用的位
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/BSD_disk.png" width="800"/> </div><br>
## 文件读取
对于 Ext2 文件系统当要读取一个文件的内容时先在 inode 查找文件内容所在的所有 block然后把所有 block 的内容读出来
对于 Ext2 文件系统当要读取一个文件的内容时先在 inode 查找文件内容所在的所有 block然后把所有 block 的内容读出来
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/2f683fe8-bee8-46a9-86a7-685c8981555856191616.png"/> </div><br>
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/12a65cc6-20e0-4706-9fe6-3ba49413d7f6.png" width="500px"> </div><br>
而对于 FAT 文件系统它没有 inode每个 block 中存储着下一个 block 的编号
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/f3131e98-8d20-4ff9-b14b-d6803691555844133783.png"/> </div><br>
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/5b718e86-7102-4bb6-8ca5-d1dd791530c5.png" width="500px"> </div><br>
## 磁盘碎片
@ -321,8 +319,8 @@ inode 具体包含以下信息:
- 拥有者与群组 (owner/group)
- 容量
- 建立或状态改变的时间 (ctime)
- 最近一次的读取时间 (atime)
- 最近修改时间 (mtime)
- 最近读取时间 (atime)
- 最近修改时间 (mtime)
- 定义文件特性的旗标 (flag) SetUID...
- 该文件真正内容的指向 (pointer)
@ -331,7 +329,7 @@ inode 具有以下特点:
- 每个 inode 大小均固定为 128 bytes (新的 ext4 xfs 可设定到 256 bytes)
- 每个文件都仅会占用一个 inode
inode 中记录了文件内容所在的 block 编号但是每个 block 非常小一个大文件随便都需要几十万的 block而一个 inode 大小有限无法直接引用这么多 block 编号因此引入了间接双间接三间接引用间接引用是指 inode 记录的引用 block 块记录引用信息
inode 中记录了文件内容所在的 block 编号但是每个 block 非常小一个大文件随便都需要几十万的 block而一个 inode 大小有限无法直接引用这么多 block 编号因此引入了间接双间接三间接引用间接引用 inode 记录的引用 block 块记录引用信息
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/inode_with_signatures.jpg" width="600"/> </div><br>
@ -339,7 +337,7 @@ inode 中记录了文件内容所在的 block 编号,但是每个 block 非常
建立一个目录时会分配一个 inode 与至少一个 blockblock 记录的内容是目录下所有文件的 inode 编号以及文件名
可以看文件的 inode 本身不记录文件名文件名记录在目录中因此新增文件删除文件更改文件名这些操作与目录的 w 权限有关
可以看文件的 inode 本身不记录文件名文件名记录在目录中因此新增文件删除文件更改文件名这些操作与目录的权限有关
## 日志
@ -446,17 +444,15 @@ rmdir [-p] 目录名称
### 6. cp
复制文件
如果源文件有两个以上则目的文件一定要是目录才行
复制文件如果源文件有两个以上则目的文件一定要是目录才行
```html
cp [-adfilprsu] source destination
-a 相当于 -dr --preserve=all 的意思至于 dr 请参考下列说明
-a 相当于 -dr --preserve=all
-d 若来源文件为链接文件则复制链接文件属性而非文件本身
-i 若目标文件已经存在时在覆盖前会先询问
-p 连同文件的属性一起复制过去
-r 递归持续复制
-r 递归复制
-u destination source 旧才更新 destination destination 不存在的情况下才复制
--preserve=all 除了 -p 的权限相关参数外还加入 SELinux 的属性, links, xattr 等也复制了
```
@ -513,12 +509,12 @@ cp [-adfilprsu] source destination
# chmod a+w .bashrc
```
## 文件默认权限
## 默认权限
- 文件默认权限文件默认没有可执行权限因此为 666也就是 -rw-rw-rw-
- 目录默认权限目录必须要能够进入也就是必须拥有可执行权限因此为 777 也就是 drwxrwxrwx
可以通过 umask 设置或者查看文件的默认权限通常以掩码的形式来表示例如 002 表示其它用户的权限去除了一个 2 的权限也就是写权限因此建立新文件时默认的权限为 -rw-rw-r--
可以通过 umask 设置或者查看默认权限通常以掩码的形式来表示例如 002 表示其它用户的权限去除了一个 2 的权限也就是写权限因此建立新文件时默认的权限为 -rw-rw-r--
## 目录的权限
@ -528,14 +524,15 @@ cp [-adfilprsu] source destination
## 链接
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/1e46fd03-0cda-4d60-9b1c-0c256edaf6b2.png" width="450px"> </div><br>
```html
# ln [-sf] source_filename dist_filename
-s 默认是 hard link -s symbolic link
-s 默认是实体链接 -s 为符号链接
-f 如果目标文件存在时先删除目标文件
```
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/b8081c84-62c4-4019-b3ee-4bd0e443d647.jpg" width="400px"> </div><br>
### 1. 实体链接
在目录下创建一个条目记录着文件名与 inode 编号这个 inode 就是源文件的 inode
@ -557,7 +554,7 @@ cp [-adfilprsu] source destination
当源文件被删除了链接文件就打不开了
可以为目录建立链接
因为记录的是路径所以可以为目录建立符号链接
```html
# ll -i /etc/crontab /root/crontab2
@ -1108,7 +1105,7 @@ dmtsai lines: 5 columns: 9
### 1. ps
查看某个时间点的进程信息
查看某个时间点的进程信息
示例一查看自己的进程
@ -1130,7 +1127,7 @@ dmtsai lines: 5 columns: 9
### 2. pstree
查看进程树
查看进程树
示例查看所有进程树
@ -1140,7 +1137,7 @@ dmtsai lines: 5 columns: 9
### 3. top
实时显示进程信息
实时显示进程信息
示例两秒钟刷新一次
@ -1162,13 +1159,14 @@ dmtsai lines: 5 columns: 9
| 状态 | 说明 |
| :---: | --- |
| R | running or runnable (on run queue) |
| D | uninterruptible sleep (usually I/O) |
| S | interruptible sleep (waiting for an event to complete) |
| Z | zombie (terminated but not reaped by its parent) |
| T | stopped (either by a job control signal or because it is being traced) |
| R | running or runnable (on run queue)<br>正在执行或者可执行此时进程位于执行队列中|
| D | uninterruptible sleep (usually I/O)<br>不可中断阻塞通常为 IO 阻塞 |
| S | interruptible sleep (waiting for an event to complete) <br> 可中断阻塞此时进程正在等待某个事件完成|
| Z | zombie (terminated but not reaped by its parent)<br>僵死进程已经终止但是不可被其父进程获取信息|
| T | stopped (either by a job control signal or because it is being traced) <br> 结束进程既可以被作业控制信号结束也可能是正在被追踪|
<br>
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/76a49594323247f21c9b3a69945445ee.png" width=""/> </div><br>
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/2bab4127-3e7d-48cc-914e-436be859fb05.png" width="490px"/> </div><br>
## SIGCHLD
@ -1181,7 +1179,7 @@ dmtsai lines: 5 columns: 9
在子进程退出时它的进程描述符不会立即释放这是为了让父进程得到子进程信息父进程通过 wait() waitpid() 来获得一个已经退出的子进程的信息
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/flow.png" width=""/> </div><br>
<div align="center"> <!-- <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/flow.png" width=""/> --> </div><br>
## wait()

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -31,7 +31,7 @@
* [文件属性](#文件属性)
* [文件与目录的基本操作](#文件与目录的基本操作)
* [修改权限](#修改权限)
* [文件默认权限](#文件默认权限)
* [默认权限](#默认权限)
* [目录的权限](#目录的权限)
* [链接](#链接)
* [获取文件内容](#获取文件内容)
@ -137,10 +137,8 @@ sudo 允许一般用户使用 root 可执行的命令,不过只有在 /etc/sud
RPM DPKG 为最常见的两类软件包管理工具
- RPM 全称为 Redhat Package Manager最早由 Red Hat 公司制定实施随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准
- RPM 竞争的是基于 Debian 操作系统 (Ubuntu) DEB 软件包管理工具 DPKG全称为 Debian Package功能方面与 RPM 相似
YUM 基于 RPM具有依赖管理和软件升级功能
- RPM 全称为 Redhat Package Manager最早由 Red Hat 公司制定实施随后被 GNU 开源操作系统接受并成为许多 Linux 系统的既定软件标准YUM 基于 RPM具有依赖管理和软件升级功能
- RPM 竞争的是基于 Debian 操作系统的 DEB 软件包管理工具 DPKG全称为 Debian Package功能方面与 RPM 相似
## 发行版
@ -157,7 +155,7 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。
- 编辑模式Insert mode按下 "i" 等按键之后进入可以对文本进行编辑
- 指令列模式Bottom-line mode按下 ":" 按键之后进入用于保存退出等操作
<div align="center"> <img src="pics/5942debd-fc00-477a-b390-7c5692cc8070.jpg" width="400"/> </div><br>
<div align="center"> <img src="pics/b5e9fa4d-78d3-4176-8273-756d970742c7.png" width="500"/> </div><br>
在指令列模式下有以下命令用于离开或者保存文件
@ -172,7 +170,7 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。
## GNU
GNU 计划译为革奴计划它的目标是创建一套完全自由的操作系统称为 GNU其内容软件完全以 GPL 方式发布其中 GPL 全称为 GNU 通用公共许可协议包含了以下内容
GNU 计划译为革奴计划它的目标是创建一套完全自由的操作系统称为 GNU其内容软件完全以 GPL 方式发布其中 GPL 全称为 GNU 通用公共许可协议GNU General Public License包含了以下内容
- 以任何目的运行此程序的自由
- 再复制的自由
@ -195,13 +193,13 @@ IDEATA全称 Advanced Technology Attachment接口速度最大为 133MB/
### 2. SATA
SATA 全称 Serial ATA也就是使用串口的 ATA 接口抗干扰性强且对数据线的长度要求比 ATA 低很多支持热插拔等功能SATA-II 的接口速度为 300MiB/s新的 SATA-III 标准可达到 600MiB/s 的传输速度SATA 的数据线也比 ATA 的细得多有利于机箱内的空气流通整理线材也比较方便
SATA 全称 Serial ATA也就是使用串口的 ATA 接口抗干扰性强且对数据线的长度要求比 ATA 低很多支持热插拔等功能SATA-II 的接口速度为 300MiB/s SATA-III 标准可达到 600MiB/s 的传输速度SATA 的数据线也比 ATA 的细得多有利于机箱内的空气流通整理线材也比较方便
<div align="center"> <img src="pics/f9f2a16b-4843-44d1-9759-c745772e9bcf.jpg" width=""/> </div><br>
### 3. SCSI
SCSI 全称是 Small Computer System Interface小型机系统接口经历多代的发展从早期的 SCSI-II 到目前的 Ultra320 SCSI 以及 Fiber-Channel光纤通道接口型式也多种多样SCSI 硬盘广为工作站以及个人电脑以及服务器所使用因此会使用较为先进的技术如碟片转速 15000rpm 的高转速且传输时 CPU 占用率较低但是单价也比相同容量的 ATA SATA 硬盘更加昂贵
SCSI 全称是 Small Computer System Interface小型机系统接口SCSI 硬盘广为工作站以及个人电脑以及服务器所使用因此会使用较为先进的技术如碟片转速 15000rpm 的高转速且传输时 CPU 占用率较低但是单价也比相同容量的 ATA SATA 硬盘更加昂贵
<div align="center"> <img src="pics/f0574025-c514-49f5-a591-6d6a71f271f7.jpg" width=""/> </div><br>
@ -236,7 +234,7 @@ Linux 也把分区当成文件,分区文件的命名方式为:磁盘文件
### 2. GPT
不同的磁盘有不同的扇区大小例如 512 bytes 和最新磁盘的 4 kGPT 为了兼容所有磁盘在定义扇区上使用逻辑区块地址Logical Block Address, LBALBA 默认大小为 512 bytes
扇区是磁盘的最小存储单位旧磁盘的扇区大小通常为 512 bytes而最新的磁盘支持 4 kGPT 为了兼容所有磁盘在定义扇区上使用逻辑区块地址Logical Block Address, LBALBA 默认大小为 512 bytes
GPT 1 个区块记录了主要开机记录MBR紧接着是 33 个区块记录分区信息并把最后的 33 个区块用于对分区信息进行备份 33 个区块第一个为 GPT 表头纪录这个部份纪录了分区表本身的位置与大小和备份分区的位置同时放置了分区表的校验码 (CRC32)操作系统可以根据这个校验码来判断 GPT 是否正确若有错误可以使用备份分区进行恢复
@ -284,19 +282,19 @@ BIOS 不可以读取 GPT 分区表,而 UEFI 可以。
除此之外还包括
- superblock记录文件系统的整体信息包括 inode block 的总量使用量剩余量以及文件系统的格式与相关信息等
- block bitmap记录 block 是否被使用的位
- block bitmap记录 block 是否被使用的位
<div align="center"> <img src="pics/BSD_disk.png" width="800"/> </div><br>
## 文件读取
对于 Ext2 文件系统当要读取一个文件的内容时先在 inode 查找文件内容所在的所有 block然后把所有 block 的内容读出来
对于 Ext2 文件系统当要读取一个文件的内容时先在 inode 查找文件内容所在的所有 block然后把所有 block 的内容读出来
<div align="center"> <img src="pics/2f683fe8-bee8-46a9-86a7-685c8981555856191616.png"/> </div><br>
<div align="center"> <img src="pics/12a65cc6-20e0-4706-9fe6-3ba49413d7f6.png" width="500px"> </div><br>
而对于 FAT 文件系统它没有 inode每个 block 中存储着下一个 block 的编号
<div align="center"> <img src="pics/f3131e98-8d20-4ff9-b14b-d6803691555844133783.png"/> </div><br>
<div align="center"> <img src="pics/5b718e86-7102-4bb6-8ca5-d1dd791530c5.png" width="500px"> </div><br>
## 磁盘碎片
@ -321,8 +319,8 @@ inode 具体包含以下信息:
- 拥有者与群组 (owner/group)
- 容量
- 建立或状态改变的时间 (ctime)
- 最近一次的读取时间 (atime)
- 最近修改时间 (mtime)
- 最近读取时间 (atime)
- 最近修改时间 (mtime)
- 定义文件特性的旗标 (flag) SetUID...
- 该文件真正内容的指向 (pointer)
@ -331,7 +329,7 @@ inode 具有以下特点:
- 每个 inode 大小均固定为 128 bytes (新的 ext4 xfs 可设定到 256 bytes)
- 每个文件都仅会占用一个 inode
inode 中记录了文件内容所在的 block 编号但是每个 block 非常小一个大文件随便都需要几十万的 block而一个 inode 大小有限无法直接引用这么多 block 编号因此引入了间接双间接三间接引用间接引用是指 inode 记录的引用 block 块记录引用信息
inode 中记录了文件内容所在的 block 编号但是每个 block 非常小一个大文件随便都需要几十万的 block而一个 inode 大小有限无法直接引用这么多 block 编号因此引入了间接双间接三间接引用间接引用 inode 记录的引用 block 块记录引用信息
<div align="center"> <img src="pics/inode_with_signatures.jpg" width="600"/> </div><br>
@ -339,7 +337,7 @@ inode 中记录了文件内容所在的 block 编号,但是每个 block 非常
建立一个目录时会分配一个 inode 与至少一个 blockblock 记录的内容是目录下所有文件的 inode 编号以及文件名
可以看文件的 inode 本身不记录文件名文件名记录在目录中因此新增文件删除文件更改文件名这些操作与目录的 w 权限有关
可以看文件的 inode 本身不记录文件名文件名记录在目录中因此新增文件删除文件更改文件名这些操作与目录的权限有关
## 日志
@ -446,17 +444,15 @@ rmdir [-p] 目录名称
### 6. cp
复制文件
如果源文件有两个以上则目的文件一定要是目录才行
复制文件如果源文件有两个以上则目的文件一定要是目录才行
```html
cp [-adfilprsu] source destination
-a 相当于 -dr --preserve=all 的意思至于 dr 请参考下列说明
-a 相当于 -dr --preserve=all
-d 若来源文件为链接文件则复制链接文件属性而非文件本身
-i 若目标文件已经存在时在覆盖前会先询问
-p 连同文件的属性一起复制过去
-r 递归持续复制
-r 递归复制
-u destination source 旧才更新 destination destination 不存在的情况下才复制
--preserve=all 除了 -p 的权限相关参数外还加入 SELinux 的属性, links, xattr 等也复制了
```
@ -513,12 +509,12 @@ cp [-adfilprsu] source destination
# chmod a+w .bashrc
```
## 文件默认权限
## 默认权限
- 文件默认权限文件默认没有可执行权限因此为 666也就是 -rw-rw-rw-
- 目录默认权限目录必须要能够进入也就是必须拥有可执行权限因此为 777 也就是 drwxrwxrwx
可以通过 umask 设置或者查看文件的默认权限通常以掩码的形式来表示例如 002 表示其它用户的权限去除了一个 2 的权限也就是写权限因此建立新文件时默认的权限为 -rw-rw-r--
可以通过 umask 设置或者查看默认权限通常以掩码的形式来表示例如 002 表示其它用户的权限去除了一个 2 的权限也就是写权限因此建立新文件时默认的权限为 -rw-rw-r--
## 目录的权限
@ -528,14 +524,15 @@ cp [-adfilprsu] source destination
## 链接
<div align="center"> <img src="pics/1e46fd03-0cda-4d60-9b1c-0c256edaf6b2.png" width="450px"> </div><br>
```html
# ln [-sf] source_filename dist_filename
-s 默认是 hard link -s symbolic link
-s 默认是实体链接 -s 为符号链接
-f 如果目标文件存在时先删除目标文件
```
<div align="center"> <img src="pics/b8081c84-62c4-4019-b3ee-4bd0e443d647.jpg" width="400px"> </div><br>
### 1. 实体链接
在目录下创建一个条目记录着文件名与 inode 编号这个 inode 就是源文件的 inode
@ -557,7 +554,7 @@ cp [-adfilprsu] source destination
当源文件被删除了链接文件就打不开了
可以为目录建立链接
因为记录的是路径所以可以为目录建立符号链接
```html
# ll -i /etc/crontab /root/crontab2
@ -1108,7 +1105,7 @@ dmtsai lines: 5 columns: 9
### 1. ps
查看某个时间点的进程信息
查看某个时间点的进程信息
示例一查看自己的进程
@ -1130,7 +1127,7 @@ dmtsai lines: 5 columns: 9
### 2. pstree
查看进程树
查看进程树
示例查看所有进程树
@ -1140,7 +1137,7 @@ dmtsai lines: 5 columns: 9
### 3. top
实时显示进程信息
实时显示进程信息
示例两秒钟刷新一次
@ -1162,13 +1159,14 @@ dmtsai lines: 5 columns: 9
| 状态 | 说明 |
| :---: | --- |
| R | running or runnable (on run queue) |
| D | uninterruptible sleep (usually I/O) |
| S | interruptible sleep (waiting for an event to complete) |
| Z | zombie (terminated but not reaped by its parent) |
| T | stopped (either by a job control signal or because it is being traced) |
| R | running or runnable (on run queue)<br>正在执行或者可执行此时进程位于执行队列中|
| D | uninterruptible sleep (usually I/O)<br>不可中断阻塞通常为 IO 阻塞 |
| S | interruptible sleep (waiting for an event to complete) <br> 可中断阻塞此时进程正在等待某个事件完成|
| Z | zombie (terminated but not reaped by its parent)<br>僵死进程已经终止但是不可被其父进程获取信息|
| T | stopped (either by a job control signal or because it is being traced) <br> 结束进程既可以被作业控制信号结束也可能是正在被追踪|
<br>
<div align="center"> <img src="pics/76a49594323247f21c9b3a69945445ee.png" width=""/> </div><br>
<div align="center"> <img src="pics/2bab4127-3e7d-48cc-914e-436be859fb05.png" width="490px"/> </div><br>
## SIGCHLD
@ -1181,7 +1179,7 @@ dmtsai lines: 5 columns: 9
在子进程退出时它的进程描述符不会立即释放这是为了让父进程得到子进程信息父进程通过 wait() waitpid() 来获得一个已经退出的子进程的信息
<div align="center"> <img src="pics/flow.png" width=""/> </div><br>
<div align="center"> <!-- <img src="pics/flow.png" width=""/> --> </div><br>
## wait()

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB