一、重定向
因为shell脚本有着批量操作的特殊性,大部分操作处于后台执行,不需要用户进行干预,所以提取、过滤并执行信息十分需要重定向和管道。重定向的意思是不输出到默认设备上,而是输出到你指定的位置(文件、其他输出设备)
类型 | 设备文件 | 文件描述编号 | 默认设备 |
标准输入 | /dev/stdin | 0 | 键盘 |
标准输出 | /dev/stdout | 1 | 显示器 |
标准错误输出 | /dev/stder | 2 | 显示器 |
1.交互式硬件设备
1.标准输入:从该设备接收用户输入的数据
2.标准输出:通过该设备向用户输出数据
3.标准错误:通过该设备报告执行出错信息
类型 | 操作符 | 用途 |
重定向输入 | < | 从指定的文件读取数据,而不是从键盘输入 |
重定向输出 | > | 将输出结果保存到指定的文件(覆盖原有内容) |
重定向输出 | >> | 将输出结果追加到指定的文件尾部 |
重定向错误输出 | 2> | 将错误信息保存到指定的文件(覆盖原有内容) |
重定向错误输出 | 2>> | 标准错误输出结果追加到指定的文件尾部 |
混合输出 | &>无论对错都可以重定向 | 将标准输出、标准错误的内容保存到同一个文件中 |
覆盖追加:
混合输出:
二、管道符
管道符号“|”:将左侧的命令的输出结果作为右侧命令的处理对象
使用管道符查看文件内容后十行
使用管道符查看文件内容前十行