- 输入输出重定向是通过修改文件指针实现的
- 重定向: 输入和输出
- > 覆盖
- >> 追加
- fd>file fd与>之间不能有空格
- fd表示为文件描述符,不写时默认为1
输出重定向
- ls one>>log.txt 2>&1 #错误信息和正确信息保存在一个t文件
- ls -l>>log.txt 2>>err.log #正确和错误信息保存在不同文件
for str in "one" "two" "three" do echo $str >log.txt done echo >log.txt
输入重定向
- fd<file fd如果不写,默认为0
- wc -l <<END 使用特定分隔符作为输入结束标志, 可自定义
- wc -l <log.txt
- 改变输入方向,不再使用键盘作为命令输入来源,而是使用文件作为命令输入
while read str; do echo $str done <log.txt
文件描述符
- 每个进程都有一个文件符描述表
- 文件描述表包含:文件描述符(即linux给文件分配的编号ID)和文件指针
- 文件表:所有进程共享这张表
- i_node表:所有进程共享