bash基础功能之输出重定向

本文介绍了bash的基础功能,重点讲解了输出和输入重定向。通过示例展示了如何使用`>`、`>>`、`2>`、`2>>`、`&>`符号进行错误和正常输出的重定向,以及如何将命令的输入来源改为文件。同时提到了利用`/dev/null`作为“黑洞”来丢弃无意义的命令输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.标准输入输出

设备

设备文件名

文件描述符

类型

键盘

/dev/stdin

0

标准输入

显示器

/dev/stdout

1

标准输出

显示器

/dev/stderr

2

标准错误输出

 

2.输出重定向

类型

符号

作用

标准输出重定向

命令>文件

以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。

命令>>文件

以追加的方式,把命令的正确输出输出到指定的文件或设备当中

标准错误输出重定向

错误命令 2>文件

以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中。

错误命令 2>>文件

以追加的方式,把命令的错误输出输出到指定的文件或设备当中

正确输出和错误输出同时保存

命令> 文件 2>&1

以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中

命令 >> 文件 2>&1

以追加的方式,把正确输出和错误输出都保存到同一个文件当中

命令 &>文件

以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中

命令 &>>文件

以追加的方式,把正确输出和错误输出都保存到同一个文件当中

命令>>文件1 2>>文件2

把正确的输出追加到文件1中,把错误的输出追加到文件2当中

 

  用法举例如下:

date > test  --正确输出

date >> test  --正确输出

sdfasdf 2> test  --错误输出,注意2和>之间是连续的,不能有空格

dasdfas 2>> test  --错误输出,注意2和>之间是连续的,不能有空格

date >> test 2>&1  

date &> test  

date >>test1 2>> test2  

注意:ls &>>/dev/null,将一个命令的输出到/dev/null中,这个可以看做是一个文件,看做黑洞,但写入的内容永久丢失,我们写shell脚本时,有时候一些命令输出根本没什么意思,我们就可以利用这个方式,将其输出结果丢到这个黑洞

3.输入重定向

wc [选项][文件名]

选项:

  -c  统计字节数

  -w  统计单词数

  -l  统计行数

  理解:通常我们敲入命令输入,但是这里可以将文件当成命令执行。

命令<文件  --把文件作为命令输入

  举例如下:

wc <hello.sh  --统计文件hello.sh的字节数、单词数、行数

wc  --只执行wc,可以输入要写的东西,使用ctrl+d结束,会统计你已经输出的结果。

wc <<hello  --使用<<,表示当再次输入hello时退出。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值