`

Linux的数据流重导向,和管线命令

 
阅读更多

数据流重导向(redirect)

名称 简称 代码 使用方式
标准输入(standard input) stdin 0

<,将文件的数据作为其他命令的输入

<<,设定输入结束的字符串 

标准输出(standard output) stdout 1

>,覆盖方式将正确的数据输出

>>,累加方式将正确的数据输出

标准错误输出(standard error output) stderr 2

2>,覆盖方式将错误的数据输出

2>>,累加方式将错误的数据输出

数据流重导向,可以将命令的stdout或stderr分别输出到其他的文件或设备中去。

也可以将文件或设备作为stdin输入,作为命令的输入。

 

多条命令的执行顺序

$?代表命令执行结果,其值为0表示成功。

cmd1;cmd2 分号两边的命令没有相关性,只是按顺序执行
cmd1&&cmd2

1若cmd1执行完毕且正确执行($?=0),则执行cmd2

2若cmd1执行完毕且为错误($?<>0),则不执行cmd2

cmd1||cmd2

1若cmd1执行完毕且正确执行($?=0),则不执行cmd2

2若cmd1执行完毕且为错误($?<>0),则执行cmd2

cmd1&&cmd2||cmd3

1若cmd1的($?=0),则执行cmd2

2若cmd1的($?<>0),则执行cmd3

 

管线命令(pipe)

cmd1|cmd2   cmd1的stdout,作为cmd2的stdin

管线命令仅会处理stdout,对于stderr会予以忽略

管线命令必须能够接受前一个命令的数据成为stdin继续处理才行,也就是说cmd2是有限制的

 

具体管线命令

cut 从每行中,取出符合条件的部分
grep

在一行中,若有符合条件的部分,则输出此行。

支持正则表达式。

sort 对文件中的多行进行排序
uniq 若有重复的多行,只输出第一个
wc 统计文件中的行,单词,字符,字节的数量
tee 从stdin读取,并同时输出到stdout和文件
tr 替换或删除一段文字
col tab转换成多个空格,或man page转换为文本
join 将两个文件中相同数据的两行,连接成一行
paste 直接将两个文件的两行,合并成一行,并以tab分割
expand 将tab转换成空格
split

将一个大文件分割成几个小文件

可用 cat pieces* >> file 来恢复

xargs

从stdin中,以空格或换行来分割出多个参数,给其他命令

许多命令不支持管线,可以通过xargs提供参数

 

减号-   代表stdin或stdout

将/home里面的文件都打包,打包的数据输出到stdout,第一个“-”代表stdout。

经过管线后,解压包的数据从stdin而来,第二个“-”代表stdin

$ tar -cvf - /home | tar -xvf -

 

 

 

 

分享到:
评论

相关推荐

    VTK开发精要:数据结构与管线机制

    3. 数据流的传递:用于管理和传递数据流,例如从输入到输出的数据流。 4. 算法执行:用于执行管线中的算法,例如数据处理和可视化。 vtkDemandDrivenPipeline vtkDemandDrivenPipeline是VTK中的一种特殊的管线机制...

    鸟哥的linux

    - 系统管理工具:比如使用vim编辑器进行程序编辑,认识BASH Shell,学习数据流重导向和管线命令的使用,正则表达式的基本应用等。 在学习这本书的过程中,读者将一步步从Linux操作系统的安装与初步设置,到文件管理...

    USB数据流的模式与管线的概念

    4. **等时传输(Isochronous)**:主要用于实时数据流,如音频和视频,保证数据在特定时间内传输,允许一定比例的数据丢失以保持恒定的传输速率。 USB通信采用一对一的逻辑连接方式,虽然物理结构呈阶梯式星形。每...

    地下管线数据挖掘应用浅议.pdf

    地下管线数据挖掘应用浅议这篇文章讨论了如何利用数据挖掘技术,对城市地下管线普查工作中收集的大量数据进行分析,以服务于城市规划、建设和管理。地下管线作为城市的重要基础设施,其安全性和规划的合理性直接关系...

    信号管线与数据流管线

    信号管线与数据流管线是USB通信中的两个关键概念,它们在设备与主机间的数据传输过程中起着至关重要的作用。...通过熟练掌握信号管线与数据流管线的工作机制,可以有效地提升USB系统的效率和稳定性。

    管线竣工测量的数据处理.pdf

    随着城市建设的快速发展,对地下管线信息系统的准确性和效率要求越来越高,因此管线竣工测量的数据处理系统也变得尤为重要。 在广州市,基于Visual FoxPro 6.0(简称VFP)开发的管线竣工测量数据处理系统应运而生。...

    Arcgis 管线数据模型

    ArcGIS管线数据模型(APDM)是专为存储与管理管线系统(特别是气体和液体输送系统)相关要素信息而设计的一种数据模型。它由环境系统研究所公司(ESRI)开发,并于2004年正式发布。APDM的目的是为了更好地管理和分析...

    陕西省地下管线数据格式标准.pdf

    在地理信息系统中,地下管线数据是重要的空间数据之一,通过GIS可以对这些数据进行管理、分析和展示。GIS在城市规划、资源管理、市政建设等领域中扮演着关键角色。 2. 地下管线普查与竣工测量:普查是对城市地下...

    Linux基础知识(8-10)-管线指令.pdf

    在Linux操作系统中,管线指令是实现命令间数据流通信的核心工具。通过管线,你可以将一个命令的输出作为另一个命令的输入,从而实现数据处理的连续性。这种机制使得复杂的任务可以通过一系列简单的命令组合来完成。...

    南方cass管线版本

    "南方CASS管线版本"是该软件的一个专门针对管线设计和测绘的特殊版本,它集成了管线设计、测量、编辑和管理等功能,为城市基础设施建设提供了高效的数据支持。 在描述中提到的"适用于Windows版本98,XP,NT等",...

    行业分类-设备装置-一种绞盘管线导向装置.zip

    其中,绞盘管线导向装置作为一种专门用于控制和引导绞盘中管线运行的设备,扮演着不可或缺的角色。它广泛应用于各种行业领域,如石油钻探、船舶起吊和建筑施工等,对保证管线顺畅、安全地进行工作起着至关重要的作用...

    GIS时空数据模型在城市地下管线数据库中的应用

    该数据库设计能够有效地支持管线数据的动态更新、历史信息管理和现状查询分析等功能,为大中城市综合地下管线系统的建设提供了宝贵的参考价值和指导意义。 综上所述,面向对象的GIS时空数据模型不仅解决了城市地下...

    城市地下综合管线内业数据处理初探.pdf

    地下管线一旦出现故障或者事故,轻则影响城市正常运转,重则可能导致严重的人员伤亡和财产损失。因此,通过内业数据处理,及时更新和维护地下管线信息,对于预防和处理管线故障,保障城市公共安全具有重要作用。 在...

    fme实现gdb格式管线数据生成3dtiles格式三维管线模型

    标题中的“fme实现gdb格式管线数据生成3dtiles格式三维管线模型”指的就是利用FME将ArcGIS的Geodatabase(GDB)格式的管线数据转换为3DTiles格式,这样可以在Web浏览器中以三维形式查看和分析这些管线数据。...

    鸟哥的 Linux 私房菜第11章-认识与学习 BASH1

    此外,它还支持命令别名、历史命令记录,以及强大的数据流重定向和管线命令,使得命令组合使用变得更加方便。 5. **Shell 的变量功能** 变量是Shell编程中的核心元素,可以用来存储数据。常见的操作包括设置、获取...

    浅析地下管线综合管理信息系统管线数据处理工作.pdf

    文章从地下管线的重要性和数据现状出发,介绍了地下管线综合管理信息系统的数据处理工作,包括数据分析和数据处理两个部分。 一、地下管线的重要性 地下管线是城市的重要基础市政设施,包括给水、排水、燃气、热力...

    城市地下管线测量与数据处理 (1).pdf

    在城市建设和发展中,地下管线数据的管理显得尤为关键,因为不少城市存在地下管线分布情况不明、管线档案资料不完整、不准确、不规范等问题。这导致在城市建设施工过程中,由于缺少系统的管线档案资料,容易造成管线...

    GDInfo管线处理系统安装包20170214

    GDinfo地下管线处理系统

    StampGIS管线二维数据入库流程

    ### StampGIS管线二维数据入库流程详解 #### 一、前言 随着信息技术的发展,地理信息系统(GIS)在各个行业中发挥着越来越重要的作用。对于管道管理领域而言,如何高效地将管线二维数据导入到GIS系统中成为了关键问题...

Global site tag (gtag.js) - Google Analytics