1、什么是重定向
将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中。
2、为何要使用重定向
1、当屏幕输出的信息很重要,而希望保存重要的信息时;
2、后台执行中的程序,不希望它干扰屏幕正常的输出结果时;
3、系统的例子命令,例如定时任务的执行结果,希望可以存下来时;
4、一些执行命令,我们已经知道他可能出现错误信息,想将它直接丢弃时;
5、错误日志与正确日志需要分别输出至不同文件保存时;
< 输入重定向
; cmd1;cmd2 无论前者命令成功还是失败,都执行后者命令
&& cmd1&&cmd2 前者命令执行成功,后者命令才会执行
|| cmd1|| cmd2 前者命令执行失败,后者命令才会执行
& 将程序放入后台执行(screen 将程序放入后台)
3、重定向的标椎输入与输出
1、重定向是将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中
当运行一个程序时通常会自动打开三个标准文件,分别为标准输入、标椎输出、错误输出
标准输入是 0 标椎输出 1 错误输出 2 文件名称 3+
进程将从标椎输入动数据,将正常打印至屏幕终端,将错误的输出信息也打印之屏幕终端。
4、重定向
进程是使用文件描述符(file descptors)来管理打开文件
1、以cat命令为例,cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标椎输出。
2、 如果使用cat命令没跟上输入的文件名,那么cat命令则会通过命令标准输入中读取数据,并将其送到标准输出
1、输入与输出
2、输出重定向
输出重定向,改变输出内容的位置
3、标准输出重定向
4、标椎输出重定向(往尾部追加)
5、错误重定向
6、正确和错误的都输入到相同位置
7、重定向到空设备 /dev/null
5、进程管道技术
1、什么是管道
管道操作符“|” ,主要将左边命令标准输出---传递--->右边命令的输入--->标准输出| 错误输出
2、管道流程图
3、管道输入法
4、tee 将左边命令的标准输出保存至文件或打印至终端, 但不影响管道数据的一个传递
5、xargs 用于将不支持管道的命令 支持管道左边命令的输出作为参数进行传递