本文主要介绍linux中什么是管道和重定向的相关知识。内容详实易懂,操作简单快捷,具有一定的参考价值。相信大家看完这篇关于linux中管道和重定向的文章都会有所收获。让我们一起来看看吧。
在linux中,管道是两个进程之间的单向通信机制;一个程序的输出数据可以通过这个通道输入到另一个程序。重定向是指修改原来默认的东西,改变原来系统命令的默认执行模式。
熟悉操作系统的朋友经常听到和使用管道和重定向这两个词,那么什么是管道,什么是重定向呢?他们对我有用吗?可以说管道和重定向是操作系统的精髓之一。在操作系统的进程、程序和管理中,管道的作用是不可分割的。至于重定向,是系统管理员最常用的手段之一。毫不夸张地说,没有管道和重定向,根本无法管理Linux。
管道:定义:管道是两个进程之间的单向通信机制。
学过操作系统的人都知道,这种单向的通信方式叫做半双工。由于管道中数据传输的单向性,所以管道也被称为半双工管道,这种单向性一旦确定,就不能改变。
Linux中的管道可以通过这个通道将一个程序的输出数据输入到另一个程序中,Linux中的管道是通过符号|来实现的。
重定向:定义:Linux重定向是指修改一些原本默认的东西,改变原来系统命令的默认执行方式。
例如,我只是不想在监视器上看到输出,而是想将其输出到一个文件中,因此我可以通过Linux重定向来完成这项工作。Linux的重定向机制,通过符号来实现,表示输出。
重定向中的标准输出:
下图中给出了一个示例来简要说明:
在重定向命令中的cat txt1 txt2中创建txt2的方法是:
1.如果文件不存在,系统会自动创建;
2.当这个文件已经存在时,系统会先清空这个文件,然后再写入数据;
3.也就是说,如果>输出到一个已存在的文件,那个文件将被覆盖。
4.如果要保留之前的内容,需要使用两个重定向符号>;& gt。
重定向中的错误输出:
以上都是在获得正确结果的前提下进行的。假设我现在想找东西,就是打不出来?这需要错误日志。在Linux中,1代表标准输出,2代表错误输出。例如:
1 & gt:通过覆盖将正确的数据输出到指定的文件或设备;
1 & gt& gt:通过追加将正确的数据输出到指定的文件或设备;
2 & gt:通过覆盖将错误的数据输出到指定的文件或设备;
2 & gt& gt:通过追加将错误的数据输出到指定的文件或设备。
注意:1或2和>之间没有空格。
重定向中的标准输入:
在学习它的标准输入之前,先说一下如何从键盘获取数据。
博学的
是的,有什么区别?我们可以通过下图感受一下:
好吧,我觉得光从图片上你是感受不到什么的。那我来解释一下。当我们输入命令cat > & gtcatfile & lt& lt"eof & quot当你回到车上,你不会觉得有什么不对。但是,当我们在一行中输入e of时,就结束了(如果你的字符串行只包含eof就不会有同样的效果)。
评论前必须登录!
注册