赞
踩
今天主要来扯扯“管道重定向”;主要是接着,上次文章中提到的,这个貌似高大上的问题!(上次文章链接:高效掌握Linux常用必备命令(四)
可能很多人会问,为什么要每天坚持学习?
有时候,机会真的只有一次,没人知道什么时候来,我能做到的就是增加抓住它的几率,增加这个几率最好的方法,就是让自己成为T字型人才——在自己专业之外,努力多学一样本事,多花点功夫,甚至不妨通过有目的的积累去精通它。
我希望自己将来会拥有选择的权利,选择有意义、有时间的工作,而不是被迫谋生。
首先,可以认为管道重定向是一个“组合名(管道+重定向)”;那么,就要涉及到到底什么是“管道”?什么是“重定向”?(答案如下)
1.“管道( 使用 | ) ”:将输出发送到其他命令。
2."重定向( 使用 > )“:将输出重定向到某些文件。
1.输入重定向:(输入重定向使用<**操作符)
概念:将命令中接收输入的途径,由默认键盘改为其他文件,而不是等待从键盘输入。
>场景1:
最常见的mysql数据库导入数据,格式如下:
场景2:
2.输出重定向(输出重定向使用>和>>操作符)
概念:将命令的标准输出结果保存到指定的文件中,而不是直接显示在显示器上。
具体格式:
cmd >> filename,表示将标准输出追加到文件,如果文件不存在,则新建该文件。
cmd > filename,表示将标准输出写入文件,如果此文件已存在,将覆盖原文件的内容。如果不存在,则新建该文件。
> 场景1:
查看当前主机的CPU类型,并保存到cpu.txt文件中,而不是直接显示到屏幕上
(1)查看CPU的相关信息:
(2)那么相应的输出重定向如下:
场景2:
将内核版本信息追加到cpu.txt。
场景3:
清空一个文件。
3.EOF:EOF本意是End Of File,表明到了文件末尾。
EOF通常与<<结合使用,<<EOF表示后续的输入作为子命令或子shell的输入,知道遇到EOF,再次返回主shell,可将其理解为分界符。既然是分界符,那么形式自然不是固定的。这里可以将EOF进行自定义,但是前后的分界符必须成对出现且不能和shell命令冲突。
管道符的使用:语法格式:command -a | command -b | command -c | …
涉及到以下三方面的要点!!!!!!!
>1.管道命令只处理前一个命令标准输出,不处理标准错误.
2.管道可以把两个命令连起来,它可以连接多个命令使用。
3.管道右边的命令,必须是一个能够接收前一个命令的标准输出的数据流的命令才行
tee [选项] [文件]
tee的作用:将标准输入复制到每个指定文件,并显示到标准输出。
选项:
-a,–append 内容追加到给定的文件而非覆盖
-i,–ignore-interrupts 忽略中断信号
–help 帮助
–version 版本信息
场景1:将磁盘使用的信息追加到文件
场景2:将磁盘使用的信息写入文件
重定向管道,对于初学者是一个较难的概念!我也正在学习的过程中,朋友们有任何的问题,可以私信或者留言。
欢迎大家一起沟通学习哈…(有任何的问题,可以给我私信,或者留言)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。