创建文件xxxx,文件内容为字符串"Hello World"
[root@localhost ~]# cat xxxx // 从文件获取标准输入
Hello World
[root@localhost ~]# cat < xxxx // 从文件获取标准输入
Hello World
[root@localhost ~]# cat // 发生阻塞,从键盘获取标准输入
Hello World
Hello World
但为什么使用tee时会阻塞呢?
[root@localhost ~]# tee xxxx // 发生阻塞
[root@localhost home]# tee < xxxx // 从文件获取标准输入
Hello World
1、cat xxxx、cat < xxxx两种方式有什么区别吗?
2、预期效果是将xxxx的内容作为标准输入传给tee,再通过标准输出显示出来,但却发生了阻塞,通过man cat、man tee没看出为什么会产生这样的差别。
cat:连接stdin内容输出到stdout
tee:读取stdin内容输出到stdout
cat xxxx、cat < xxxx,
前者是从文件读取,后者是从输入读取,区别在于后者输入的重定向
tee 命令是将标准输入拷贝到文件或标准输出tee test.txt,
会将你输入的内容存进text.txt文件顺便输出到屏幕上,所以会阻塞,等待输入tee < test.txt,
输入重定向,文件就成了标准输入
多看看命令的帮助信息就OK
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。