Linux命令 结果输出重定向

重定向符号:>、>>、2>、2>>、&>、&>>、2>&1、1>&2

以查看当前目录下存在的文件和不存在的文件为例说明以上符号的功能(假设当前文件下包含123.txt,不包含234.txt、345.txt和456.txt):

(0)ls 123.txt结果为:通过标准输出通道输出到终端窗口显示出123.txt;

ls 234.txt结果为:通过错误输出通道输出到终端窗口显示出ls: 234.txt: No such file or directory;

(1)ls 123.txt > 123.txt结果为:将标准输出通道输出的结果重定向到123.txt中,所以可以通过cat 123.txt查看到其第一行为123.txt;

ls 123.txt > 123.txt结果为:将标准输出通道输出的结果重定向到123.txt中,且覆盖文件123.txt中已有内容,所以可以通过cat 123.txt查看到其第一行为123.txt;

ls 123.txt >> 123.txt结果为:将标准输出通道输出的结果重定向到123.txt中,且追加到文件123.txt中已有内容后,所以可以通过cat 123.txt查看到其包含两行123.txt;

(2)ls 234.txt 2> 345.txt结果为:将错误输出通道输出的结果重定向到345.txt中,所以可以通过cat 345.txt查看到其第一行为ls: 234.txt: No such file or directory;

ls 234.txt 2> 345.txt结果为:将错误输出通道输出的结果重定向到345.txt中,且覆盖文件345.txt中已有内容,所以可以通过cat 345.txt查看到其第一行为ls: 234.txt: No such file or directory;

ls 234.txt 2>> 345.txt结果为:将错误输出通道输出的结果重定向到345.txt中,且追加到文件345.txt中已有内容后,所以可以通过cat 345.txt查看到其其包含两行ls: 234.txt: No such file or directory;

(3)额外用法:ls 123.txt 234.txt > 123.txt 2> 345.txt,可以实现将标准输出通道错误输出通道的内容分别重定向到123.txt 和345.txt中,两个通道同时工作互不影响。

(4)ls 123.txt 234.txt &> 456.txt结果为:将标准输出通道错误输出通道的内容均重定向到456.txt中,可以通过cat查看;

ls 123.txt 234.txt &> 456.txt结果为:将标准输出通道错误输出通道的内容均重定向到456.txt中,且覆盖文件456.txt中已有内容,可以通过cat查看;

ls 123.txt 234.txt &>> 456.txt结果为:将标准输出通道错误输出通道的内容均重定向到456.txt中,且追加到文件456.txt中已有内容后,可以通过cat查看;

(5)ls 123.txt 1>&2 结果为:将标准输出内容通过错误输出通道输出到终端窗口显示为123.txt

ls 234.txt 2>&1 结果为:将错误输出内容通过标准输出通道输出到终端窗口显示为ls: 234.txt: No such file or directory;

以下也为Mac笔记本终端窗口实操结论:如果1>&2或2>&1后跟指定的文件,命令执行后文件内容保持不变,也就是说并不能实现将结果写入到文件中的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值