day12重定向
1.什么是重定向
将原本要输出到屏幕的数据信息,重新定向到某个指定文件
2.重定向使用场景
- 挡屏幕输出的信息很重要,且希望保存重要信息时
- 后台执行中的程序,不希望它干扰屏幕正常的输出结果时
- 系统的例行命令,如定时任务的执行结果,希望可以保存下来时
- 一些执行命令,已知道可能出现错误信息,将其直接丢弃时
- 错误日志与正确日志需要分别输出至不要太的文件保存时
3.标准输入、标准输出、错误输出
- 系统运行后会变为进程,会同时打开三个文件,标准输入、标准输出、错误输出
- 标准输入0 ,标准输出1,错误输出2,3+...
4.标准输入输入、输出、错误输出与重定向之间的关系
- 重定向是用来改变标准输出,或者标准错误输出的一个指向
- 1> 标准输出重定向(覆盖)
- 1>>标准输出重定向(追加)
- 2> 错误输出重定向(覆盖)
- 2>>错误输出重定向(追加)
- &> /dev/null 混合输出(覆盖)
- &>> /tmp/t.log 混合输出(追加)
5.输入重定向
- 从文件获取内容 <
6.管道技术
- | 将左边命令的标准输出--通过管道传递--右边命令的标准输入---->标准输出
-
tee 将左边命令的标准输出保存至文件或打印至终端,但不影响管道数据的传递
- xargs 用于将不支持管道的命令支持管道,左边命令的输出作为参数进行传递
特殊符号
; #cmd1 ; cmd2 无论前者命令成功还是失败,后者都会执行
&& #cmd1 && cmd2 前者命令执行成功,后者命令才会执行,前者成功后者失败则会报错后者
|| #cmd1 || cmd2 前者命令执行失败后者
& #将程序放入后台执行(screen将程序放入后台)