赞
踩
linux标准输入设备指的是键盘,标准输出设备指的是显示器,标准错误输出指的是显示器。执行一个命令或程序,按下回车键后只会有三种结果:显示程序运行的结果,显示状态和错误信息。
有些时候你想要保存某些命令产生的输出而不是在显示器上显示它,比如输出到文件中当做日志进行统一查看。为了应对这样的问题 bash shell 也就提供了一些重定向的操作符。重定向简单理解就是使用“<”符来修改标准输入设备;使用 “>”符来修改标准输出设备
标准输出的两种重定向:
>
重定向
>>
重定向
在编辑文章时发现编辑器也大量使用了许多编程思想,例如下图的引用文本的操作就是一种输出重定向。
标准输出格式: 命令 > 文件
功能:将命令执行后的结果输出到文件中;也就是把文件作为标准输出设备;如果没有此文件会自行创建,如果有他就会进行从头覆盖写入。
标准输出格式: 命令 >> 文件
功能:命令把文件的内容作为标准输出设备,但会在其后追加写保留以前的数据。
标准输出格式: 命令 2> 文件
功能:命令把文件的内容作为标准输出设备,将错误信息输出到文件内。
&>就可以同时重定向标准错误和标准输出
> 重定向理解为覆盖重定向,而把 >> 重定理解为追加重定向。
如果在工作中,我们想要在文件中追加内容时>>,却不小心只写入> 就执行了,那么我们的文件被覆盖了,因此就有了,禁止覆盖的命令,set – C
当然我们也可以解除这种禁止 set +C ,很好理解禁止 –C ,解除+C
输入重定向:是指不使用系统提供的标准输入端口(键盘鼠标),而进行重新的指定。换言之,输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。重定向简单理解就是使用 “<”符来修改标准输入设备
标准输入格式: 命令 < 文件
功能:命令把文件的内容作为标准输入设备
标识符限定输入格式: 命令<<标识符
功能:命令把标准输入中读入内容,直到遇到“标识符”分解符为止
输入输出重定向(同时使用) 命令< 文件1 >文件2 命令把文件1的内容作为标准输入,把文件2作为标准输出。
通过前面的学习,我们已经知道了怎样从文件重定向输入,以及重定向输出到文件。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令且单向传递数据就就叫做管道(pipe)。
Linux 管道使用竖线 | 连接多个命令,这被称为管道符;管道符 | 与两侧的命令之间也可以不存在空格,然而还是推荐在管道符 | 和两侧的命令之间使用空格,以增加代码的可读性。
重定向操作符>将=命令与文件连接起来,用文件来接收命令的输出;而管道符|将命令与命令连接起来,用第二个命令来接收第一个命令的输出。
重定向: command > file
管道符: command1 | command1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。