1. 文件描述符
| 类型 | 文件描述符 | 默认情况 | 对应文件句柄位置 |
|---|---|---|---|
| 标准输入(standard input) | 0 | 从键盘获得输入 | /proc/self/fd/0 |
| 标准输出(standard output) | 1 | 输出到屏幕(即控制台) | /proc/self/fd/1 |
| 错误输出(error output) | 2 | 输出到屏幕(即控制台) | /proc/self/fd/2 |
2. 重定向
主要有三个符号, 箭头指向表示方向
>和<: 覆盖>>和<<: 追加>&和<&: 分别将输出文件和输入文件合并
1. 输出重定向
标准输出可以省略, 即 ls 1>a.txt 等价于 ls >a.txt
ls 1>a.txt,ls 1>>a.txt: 把标准输出重定向和追加到新文件中, 可省略 1ls 2>a.txt,ls 2>>a.txt: 把标准错误重定向和追加到新文件中
2. 输入重定向
ls <a.txt,ls 0<a.txt: 以文件作为标准输入ls <<[delimiter]: 从标准输入中读入, 直到遇到 delimiter 分隔符
3. 自定义文件描述符
exec 命令创建全新的文件描述符, 常用的打开模式有3种
- 只读模式 : 使用
<操作符将文件读入 - 截断写入模式 : 使用
>操作符用于截断模式的文件写入 - 追加写入模式 : 使用
>>操作符用于追加模式的文件写入
1 | 1. 创建一个用于读取文件的文件描述符 |
4. 其他
- 短横线
-可以将输出流复制一份传递
1 | 123 打印两遍 |
