Linux文本处理
Linux文本处理:输入输出重定向
#### 输入 重定向操作符 - **< :** 从文件而不是从键盘或句柄读入命令输入 - **<< :** 分界符,表示从标准输入设备中读入,直到遇到分界符才停止 - **< 文件 1 > 文件 2:** 将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。 - **| :** 管道操作符合,主要用来链接左右两个命令,将左侧命令的【标准输出】,交给右侧命令的【标准输入】 #### 输出 重定向操作符 - **\> :**将命令输出写入文件或设备,而不是命令提示符或句柄 - **\>\> :**将结果重定向输出到文件中,将新数据写入到原有内容的后面 - ** \>! :**输出重定向到一个文件或设备 强制覆盖原来的 #### 错误输出 重定向操作符 - **2> : **将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 - **2>> :** 将一个标准错误输出重定向到一个文件或设备,追加到原来的文件 - **2>&1 :** 将一个标准错误输出重定向到标准输出,追加到原来的文件 注释:1 可能就是代表 标准输出 - **\>& :** 将一个标准错误输出重定向到一个文件或设备 覆盖原来的文件 - **|& :** 将一个标准错误 管道 输送 到另一个命令作为输入 - **命令 >> 文件 2>&1 或者 命令 &>> 文件** : 将标准输出或者错误输出写入到指定文件,将新数据写入到原有内容的后面。注意,第一种格式中,最后的 2>&1 是一体的,可以认为是固定写法。 #### 在 bash 命令的三种输出入 - 标准输入;代码为 0 ;或称为 stdin ;使用的方式为: < - 标准输出:代码为 1 ;或称为 stdout;使用的方式为: 1> - 错误输出:代码为 2 ;或称为 stderr;使用的方式为: 2> #### 为何要使用命令输出重导向 - 当屏幕输出的信息很重要,而且我们需要将他存下来的时候; - 背景执行中的程序,不希望他干扰屏幕正常的输出结果时; - 一些系统的例行命令(例如写在 /etc/crontab 中的文件)的执行结果,希望他可以存下来时; - 一些执行命令,我们已经知道他可能的错误讯息,所以想以『 2> /dev/null 』将他丢掉时; - 错误讯息与正确讯息需要分别输出时。 #### 例子 ```shell #清空文件 >list.txt #先读 < ,即先将/etc/passwd 输入到 cat 命令里,然后由cat 命令输出到文件 a,实现了cp功能 cat > a < /etc/passwd #将显示的结果输出到 list.txt 文件中,若该文件以存在则予以取代! ls -al > list.txt #将显示的结果累加到 list.txt 文件中,该文件为累加的,旧数据保留! ls -al >> list.txt #将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err ls -al 1> list.txt 2> list.err #将显示的数据,不论正确或错误均输出到 list.txt 当中!错误与正确文件输出到同一个文件中,则必须以上面的方法来写!不能写成其它格式! ls -al 1> list.txt 2> &1 #将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! /dev/null ,可以说成是黑洞装置。为空,即不保存。 ls -al 1> list.txt 2> /dev/null ```
顶部
收展
底部
[TOC]
目录
Linux文本处理:查看文本内容
Linux文本处理:vim编辑器
Linux文本处理:输入输出重定向
Linux文本处理:文本查找命令grep
Linux文本处理:数据处理命令sed
Linux文本处理:文本分析工具awk
相关推荐
Linux文件目录管理
Linux打包压缩
Linux软件安装
Linux用户和用户组管理
Linux文件系统管理
Linux系统管理