Linux学习日记 —— 10.3.3 Shell基础-Bash基本功能-输入输出重定向

1.标准输入输出

在Linux系统中,所有的内容(包括硬件)都是文件。

设备设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stderr2标准错误输出


数字0代表标准输入;1代表标准输出;2代表标准错误输出。


2. 输出重定向

在Linux中执行某一命令的输出结果,本应该输出到屏幕(显示器),输出重定向指的就是把这个输出结果,重定向输出到其他指定的文件或设备中。


1)标准输出重定向
前提条件:命令有输出,且命令输出的结果是正确输出。

基本的命令格式作用
命令 > 文件覆盖的方式,将命令的正确输出,重定向输出到指定的文件或设备中。
命令 >> 文件追加的方式,将命令的正确输出,重定向输出到指定的文件或设备中。


如果该文件之前不存在,就会自动创建。

示例:

[root@localhost ~]# date > a
#date命令的标准输出将不会输出到屏幕,而是重定向写入到a文件中,并覆盖该文件中的原有内容。

[root@localhost ~]# date >> a
#date命令的标准输出将不会输出到屏幕,而是重定向追加到a文件中,不会覆盖该文件中的原有内容。

说明:覆盖符号(>)或追加符号(>>)前后的空格,都可以省略,但习惯加上空格。


2)标准错误输出重定向
前提条件:命令有输出,且命令输出的结果是错误输出。

基本的命令格式作用
错误命令 2> 文件覆盖的方式,将命令的错误输出,重定向输出到指定的文件或设备中。
错误命令 2>> 文件追加的方式,将命令的错误输出,重定向输出到指定的文件或设备中。


如果该文件之前不存在,就会自动创建。


注意:数字2后面不能有空格,后面必须紧跟大于号


示例:

[root@localhost ~]# lst 2> a.txt
#将错误命令lst的输出,以覆盖的方式,输出到该文件中。


3)正确输出和错误输出同时重定向
前提条件:命令有输出。

无论命令的输出是正确输出还是错误输出,都可以用这种重定向。

基本的命令格式作用
命令 > 文件 2>&1覆盖的方式,将正确输出和错误输出都保存到同一个文件中。
命令 &> 文件同上。
命令 >> 文件 2>&1追加的方式,将正确输出和错误输出都保存到同一个文件中。
命令 &>> 文件同上。
命令 >> 文件1 2>>文件2如果命令是正确的,以追加的方式,把输出保存到文件1中;如果命令是错误的,以追加的方式,把输出保存到文件2中。
命令 &> /dev/null直接将输出丢弃到垃圾箱(相当于不保存任何输出结果)。

示例:

[root@localhost ~]# date &> /dev/null       
#无论date命令正确与否,都将输出直接丢弃到垃圾箱,即没有任何输出。 



3. 输入重定向

输入重定向用的很少,了解即可。

输入重定向一般有两种格式:

  • 命令 < 文件

把文件作为命令相关参数的输入。

  • 命令 << 标识符 **输入的内容 标识符

第一个标识符为起始标识符,可以为任意字符串,后面应回车。
第二个标识符为结束标识符,应位于最后一行的行首。
两个标识符应相同,中间的内容才是要输入的内容。

[root@localhost ~]# wc [选项] [文件名]
选项:
-c  统计字符数
-w  统计单词数
-l  统计行数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值