请问关于文件重定向的问题
来源: 互联网 发布时间:2016-11-14
本文导语: 在linux环境下,终端上输入:(在root目录下有c.txt文件,没有abc123文件) ls /root/abc123 >right.out 2>wrong.out 按 “回车” 后,在终端上输入 cat right.out 后没有反应的呢?(出现结果如下) [root@localhost tianya]#cat right....
在linux环境下,终端上输入:(在root目录下有c.txt文件,没有abc123文件)
ls /root/abc123 >right.out 2>wrong.out
按 “回车” 后,在终端上输入 cat right.out 后没有反应的呢?(出现结果如下)
[root@localhost tianya]#cat right.out (按“回车”后)
[root@localhost tianya]#
后来我就用vim right.out打开,结果文件时空白的,为什么会出现这种情况呢?错在哪里呢?(我觉得操作过程并没有错误呀)
但是我用 cat wrong.out 后,显示 ls:/root/abc123:没有那个文件或目录,也就是说wrong.out文件是得到了想要的结果。
ls /root/abc123 >right.out 2>wrong.out
按 “回车” 后,在终端上输入 cat right.out 后没有反应的呢?(出现结果如下)
[root@localhost tianya]#cat right.out (按“回车”后)
[root@localhost tianya]#
后来我就用vim right.out打开,结果文件时空白的,为什么会出现这种情况呢?错在哪里呢?(我觉得操作过程并没有错误呀)
但是我用 cat wrong.out 后,显示 ls:/root/abc123:没有那个文件或目录,也就是说wrong.out文件是得到了想要的结果。
|
/root/abc123
对于整体来说的吧
对于整体来说的吧
|
没有那个文件这个信息本来就是输出到stderr的。
|
我的意思是说为什么没有正常的输出信息,而这个信息应该在right.out里边
|
正常的输出信息,应该是正确的输出信息,也就是标准输出
ls:/root/abc123:没有那个文件或目录
==============================
这个是错误输出,肯定是输出到wrong.out文件里,lz好好理解下
ls:/root/abc123:没有那个文件或目录
==============================
这个是错误输出,肯定是输出到wrong.out文件里,lz好好理解下
|
楼主在做这样的测试 自己却不知道这样测试的意义和效果 奇怪
ls /root/abc123 >right.out 2>wrong.out
------------
如果 /root/abc123存在 ls执行才会成功 才会又标准输出(1) right.out里才会有内容
既然/root/abc123不存在 ls当然会报错了 这个就叫标准错误(2) 你把标准错误定向到wrong.out里的 当然wrong.out里会有"ls:/root/abc123:没有那个文件或目录"这样的错误信息了
你这样
ls /root/abc123 >log.out 2>&1
这样无论标准输出 还是标准错误 都会定向到log.out里了
楼主自己去google一下"标准输出 标准错误 标准输入"
ls /root/abc123 >right.out 2>wrong.out
------------
如果 /root/abc123存在 ls执行才会成功 才会又标准输出(1) right.out里才会有内容
既然/root/abc123不存在 ls当然会报错了 这个就叫标准错误(2) 你把标准错误定向到wrong.out里的 当然wrong.out里会有"ls:/root/abc123:没有那个文件或目录"这样的错误信息了
你这样
ls /root/abc123 >log.out 2>&1
这样无论标准输出 还是标准错误 都会定向到log.out里了
楼主自己去google一下"标准输出 标准错误 标准输入"
|
楼主的命令本来就只有标准错误输出,你的right.out没内容很正常啊,
楼主对"标准输出 标准错误 标准输入"还是不清楚啊
楼主对"标准输出 标准错误 标准输入"还是不清楚啊