Shell 编程之输入输出重定向

一、标准输入输出

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

二、输出重定向

类型符号作用
标准输出重定向 命令 > 文件 以覆盖的方式, 把命令的正确输出输出到指定的文件或设备当中。
命令 >> 文件 以追加的方式, 把命令的正确输出输出到指定的文件或设备当中。
标准错误输出重定向 错误命令 2> 文件 以覆盖的方式, 把命令的错误输出输出到指定的文件或设备当中。
错误命令 2>> 文件 以追加的方式, 把命令的错误输出输出到指定的文件或设备当中。
正确输出和错误输出同时保存 命令 > 文件 2>&1 以覆盖的方式, 把正确输出和错误输出都保存到同一个文件当中。
命令 >> 文件 2>&1 以追加的方式, 把正确输出和错误输出都保存到同一个文件当中。
命令 &> 文件 以覆盖的方式, 把正确输出和错误输出都保存到同一个文件当中。
命令 &>> 文件 以追加的方式, 把正确输出和错误输出都保存到同一个文件当中。
命令 > 文件1 2> 文件2 以覆盖的方式,把正确输保存到文件1中, 把错误输出保存到文件2中。
命令 >> 文件1 2>> 文件2 以追加的方式,把正确输保存到文件1中, 把错误输出保存到文件2中。

由于我们事先无法得知我们输入的一条命令是否会报错,所以我们通常使用正确输出和错误输出同时报错的形式。

输出重定向有一种特殊的用法,就是把输出的信息重定向到 /dev/null/dev/null就像一个垃圾箱,可以接受任何输出信息,当你把输出重定向到/dev/null时,也就意味着你把输出信息丢弃了。例如:

ls &>/dev/null #ls的输出信息将不会显示到屏幕上,也不会保存在文件中。

三、输入重定向

输入重定向就是改变输入的方式,由标准输入改为文件输入或其他输入方式。以wc命令为例,讲解一下输入重定向。

wc命令的作用是统计文本中的字节、单词、行的数量。若使用标准输入,则输入wc后,按下回车,输入一系列文本后,按ctrl+D退出,就会输出你输入的文本的统计信息,如下图所示:
在这里插入图片描述
最后一行的5 7 14分别表示行数、单词数、字节数。wc还有一些选项:-c是统计字节数,-w是统计单词数,-l是统计行数。

倘若使用文件作为wc命令的输入,则应该这样写:

wc < 文件名

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值