首页 > 其他分享 >标准输入输出及管道

标准输入输出及管道

时间:2023-05-29 11:11:06浏览次数:32  
标签:文件 输出 输入输出 标准 管道 ls 输入 终端

标准输入输出及管道

执行一个 Shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

标准输入与输出

  • stdin:标准输入,通常对应终端键盘
  • stdout:标准输出,通常对应终端屏幕
  • stderr:标准错误输出,也对应终端屏幕

在一次shell的输入中,我们可能得到正确的或者错误的结果,而在不做任何处理的情况下,stdout和stderr都会输出到终端屏幕上

如:

~ ls
test.txt		# 正确的由命令执行后进行的标准输出
~ aaa
zsh: command not found: aaa	# 错误的由终端进行的标准输出

标准输入及其重定向

进行完全的标准输入:cat命令一般后面跟文件名,然后输出其中的内容,但是如果不跟文件,则会直接进入索要输入的状态,并且输入一句就输出一句。

~ cat
aaa
aaa
bbb
bbb

实际上可以看做,本身命令就需要键盘的标准输入,来根据输入做一些输出的操作。

但是标准输入可以由<<<来重定向:

  • <:重定向至文件输入,如wc < /etc/passwd # wc表示统计输入的行数、字符等

  • <<:here文档,当场编辑文档,用指定分隔符表示文档的结束。(但是不咋用,略过,用到再查)

标准输出及其重定向

上文提到,无论是stdout还是stderr都是默认输出到终端的,而这些内容可以被重定向到文件中。

ls ~/hhhh > hhhh_dir.txt							# 如果输入到的文件中有内容,则会被覆盖重写
ls ~/xxxx 2> xxxx_dir.txt							# 2>是指将错误输出stderr放到制定文件中
echo mysql==5.7 >> requirements.txt		# >>将内容追加到文件的末尾,而不会覆写
&>  # 将正确和错误的输出同时放到一个文件中

管道

管道符号|,可以用来讲一个命令的输出直接输入到另一个命令中。

如:ls /usr/bin|grep python,即ls命令原本该输出的所有bin目录下的文件和目录名,但是通过管道,这些输入呗grep命令筛选了一遍,只展示内部含有python的。

那么有这么一个需求:

统计一个文件目录下的文件个数,则就可以利用管道,将两条命令结合起来:

ls /usr/bin|wc -w

命令替换

cmd1 `cmd2`
# cmd2的输出将作为cmd1的参数,进行执行

标签:文件,输出,输入输出,标准,管道,ls,输入,终端
From: https://www.cnblogs.com/Leethon-lizhilog/p/17439888.html

相关文章

  • 计算机组成原理之输入输出系统
    输入输出的一般操作:输入输出就是CPU将地址放在地址总线上,选择外设,之后如果是输入,则等候输入设备把数据放上去,然后去数据总线上读,如果是输出,则把数据放到数据总线上,设备把数据拿走。由于,我们需要确定数据有效才能进行之后的操作,那么怎么确定数据有效呢?对外围设备进行定时,首先就......
  • 什么是1U、2U、标准19寸机架?本文为您解惑!
    如果您一直从事跟服务器硬件相关的工作,那么对“1U”、“2U”、“3U”等概念肯定不陌生。那么,这些名词到底是什么意思呢?有什么区别呢?今天小编和大家好好讨论一番。1、“U”是什么?这里我们得要知道,1U、2U、3U等中的U指的是“unit”,中文意思就是”单元“,通常情况下我们都叫”机架单元......
  • Python 标准类库-因特网数据处理之Base64数据编码
    该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能。它为RFC3548中指定的编码提供编码和解码功能。定义了Base16、Base32和Base64算法,以及事实上的标准Ascii85和Base85编码。RFC3548编码适用于对二进制数据进行编码,以便可以安全地通过电子邮件......
  • 国家规定标准的护栏或楼梯扶手的高度
    (以下,仅供参考,具体见规范条款)GB50352-2019《民用建筑设计统一标准》中6.7.3和6.7.4条款涉及到栏杆高度的要求,其中规定: 临空高度24米以下时,栏杆高度不应低于1.05m,,24米及以上时,不应低于1.1m。上人屋面和交通,商业,医院,学校等建筑临开敞中庭的栏杆高度不应小于1.2m. GB5009......
  • 使用ifc标准的好处
    实现不同软件之间的信息交换:IFC作为一个标准的公开的数据表达和存储方法,不同软件通过对接IFC标准接口,便可以与其他软件系统交换信息,畅通无阻。提升建筑项目中的沟通、生产力、时间、成本和质量:通过IFC,可以在建筑项目的整个生命周期中提升沟通、生产力、时间、成本和质量,为全球的......
  • 【atcoder begin 302】【e题 Isolation 】JAVA的快速输入输出
    importjava.io.*;importjava.util.HashSet;importjava.util.Set;/***@authorfishcanfly*/publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{//BufferedReaderbr=newBufferedReader(newInputStreamReader(......
  • 标准化考场时间同步系统(网络时钟系统)规划建设应用
    标准化考场时间同步系统(网络时钟系统)规划建设应用标准化考场时间同步系统(网络时钟系统)规划建设应用京准电子科技官微——ahjzsz近些年,考点时钟不准确等事故频繁发生,这些事件引起了社会对考场时钟同步问题的广泛关注和讨论。2012年6月7日,广元中学理科第13考室时钟失灵,显示的时......
  • 普加项目管理中间件示例之一:标准列
    官方提供了一下这些标准的列:列名任务属性描述PlusProject.IDColumnID任务序号。PlusProject.WBSColumnWBSWBS编码。PlusProject.NameColumnName任务名称。PlusProject.DurationColumnDuration工期。PlusProject.StartColumnStart开始日期。PlusProject.FinishColumnFinish完成日期......
  • 客户至上,服务至极 ——优维服务流程标准化体系
    ◎如何用服务打动客户?在思考这个问题之前,首先我们要了解做好服务最难的是什么?和机器不一样,流水线的作业出来的东西都是一样的,因为人们完成了手工作业向工业流水线作业的转变。而服务,是需要人来参与的,当由不同的人来完成某件事的时候,就会出现差异。所以,服务最难的就是交付物的一致......
  • 档案库房中温湿度需要达到的要求标准
    ​5.1温度和湿度要求5.1.1档案馆各区域温度和湿度(本文件所指湿度为相对湿度,下同)设计应符合JGJ25—2010的规定。5.1.2档案库房温度和湿度应符合表1的要求。档案库房应维持温度和湿度相对稳定,温度日较差≤±2℃,湿度日较差≤±5%。温度和湿度取值应充分考虑设备的测量和控......