免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3029 | 回复: 14
打印 上一主题 下一主题

一直萦绕在心中的一个疑问 关于重定向 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-06 17:13 |只看该作者 |倒序浏览
学习linux也有一段时间了,记得有次面试的时候面试官给我出了个题目:
# cat >1 <<2
    show me the money!
    whosyourdaddy
     2
# cat <>1
# cat <<<1
# cat <1 >>1
# cat <1 >1
分别会显示什么,为什么?
那次只能答出第一个和最后一个,而对中间几个始终想不明白,有高手能深入浅出的点拨下么,万分感谢。

论坛徽章:
0
2 [报告]
发表于 2009-04-06 18:20 |只看该作者
cat <>1 打印出1的内容

cat <1 >>1 对1狂写,是撑爆硬盘的方法

论坛徽章:
0
3 [报告]
发表于 2009-04-06 18:21 |只看该作者
cat >1 <<2

将cat的内容重定向到1,以2做为结束符

cat <1 >1
将1的内容清空

论坛徽章:
0
4 [报告]
发表于 2009-04-06 18:22 |只看该作者
cat <<<1这种用法没见过

论坛徽章:
0
5 [报告]
发表于 2009-04-06 18:23 |只看该作者
cat <1 >1 清空1文件,这个好像之前有一贴讨论过,找找看

论坛徽章:
0
6 [报告]
发表于 2009-04-06 18:24 |只看该作者
cat <<< 1 就相当于

cat << EOF
1
EOF

还有一种用法是

cat <<'EOF'
................
EOF

不会对文档里的内容进行替换

[ 本帖最后由 justlooks 于 2009-4-6 18:33 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-04-06 18:56 |只看该作者
谢谢LS的回答,LZ的问题现在全部得解: )

这题主要是用1和2来乱人思路,一不小心就会考虑到stdout和stderr

论坛徽章:
0
8 [报告]
发表于 2009-04-06 18:57 |只看该作者

回复 #5 haimming 的帖子

shell十三问里面就有

论坛徽章:
0
9 [报告]
发表于 2009-04-06 21:55 |只看该作者
感谢楼上各位的回答,我的疑问主要是
1   cat <>1为什么是读取1中的内容呢?  原理是什么....
2   cat <1 >>1  是不断写入1中的数据,但是我观察过,它是一直写入1中最原始的数据,也就是说1中的数据会平稳的增长,而不会象滚雪球一样呈几何增长, 这个我似乎不好理解, 按我的想法,不断读1中的数据然后不断写入1中, 那么1中的数据就会呈集合增长才对呀,  呵呵 表达有些紊乱,希望大家能看懂~

论坛徽章:
0
10 [报告]
发表于 2009-04-06 22:29 |只看该作者
<> file 以读写方式打开文件 file
< file 以只读的形式打开file

http://baike.baidu.com/view/2173319.htm

cat <1 >>1 不知道为什么你会理解为会以滚雪球形式增长,我的理解是这样的:
假设文件1里面只有一行
则cat 首先读取这一行,然后追加到文件尾部
接下来cat又把这一行读出来,又加到尾部
所以每次都是读一行,写一行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP