红联Linux门户
Linux帮助

cat 命令的疑惑?

发布时间:2009-04-06 02:12:42来源:红联作者:peoong
请各位帮忙解释一下以下几个命令: 感激不尽!!!

file 文件内容 hello world
执行以下3个命令
cat < file > file 为什么没有输出?
cat < > file 为什么输出为 hello world
cat < file >> file 没有输出,但是file文件中 hello world 变为 许多行。
请详细解释,谢谢了。
文章评论

共有 12 条评论

  1. sasser4 于 2009-04-16 08:47:01发表:

    这种命令也写的出来~~佩服~~

  2. 相思爱文 于 2009-04-16 04:10:32发表:

    我只知数据流分为输入、输出、错误输出,再深入理解,可能得读内核源代码了。

    输入输出应该是同时进行的,加入管道,就可以成倍增加了。>>与整个命令时同时进行了
    cat >file

  3. peoong 于 2009-04-16 01:13:38发表:

    [i=s] 本帖最后由 peoong 于 2009-4-16 01:17 编辑 [/i]

    谢谢大家 ! especially 相思爱文 !
    file 文件内容 hello world

    执行以下3个命令
    1, cat < file > file 为什么没有输出?
    2, cat <> file 为什么输出为 hello world
    3, cat < file >> file 没有输出,但是file文件中 hello world 变为 许多行。

    提出这些问题 只是想进一步了解 重定向输入输出 的工作原理。
    第1个问题,控制台上没输出我能理解,但是 file 文件也变为空了,这个我就不知到为什么了。
    第2个问题,控制台上输出为 hello world file文件中的内容也为 hello world ,我的理解是 先将 file 文件的
    内容重定向到 cat 的标准输入,再将 cat 的标准输出重定向到 file 文件。(不知道对不对,呵呵)
    第3个问题. 为什么它会不断的执行在 file 文件中添加 hello world n行,而不是两行 hello world 记录。
    (与第1个问题相比也只是保留文件原有内容而已.)
    麻烦大家了,呵呵. . . 请大家踊跃发言. . .

  4. czhuan 于 2009-04-13 11:00:07发表:

    大家好,我是Linux的入学者,我来学习下!

  5. qq512086170 于 2009-04-13 09:15:40发表:

    看不懂,,不做评论

  6. xyddz 于 2009-04-12 22:06:17发表:

    > 这个是输出转向符号 没有这个符号,表示将文件内容输出倒标准输出设备(即显示器) 有这个符号则表示将内容输出倒指定的位置并且覆盖原来的内容,使用>>则不会覆盖原来的内容
    同理 <是输入转向符号

  7. marco.chan 于 2009-04-12 20:06:41发表:

    一般都用>和>>,没用过<

  8. wang7131984 于 2009-04-12 18:51:47发表:

    能写出这样惊天地,泣鬼神的垃圾命令,足以证明应该换一本书。

  9. kevin_2009 于 2009-04-12 18:25:01发表:

    嗯嗯,楼上说的呃都很正确,楼主写的命令实在令人费解!!!

  10. 相思爱文 于 2009-04-07 19:31:07发表:

    [i=s] 本帖最后由 相思爱文 于 2009-4-7 19:32 编辑 [/i]

    引用:
    cat < file >> file

    没输出原因同上,>>是输出重定向,与>不同的是不删除原文件,在后面追加
    这个命令输入与输出是同一文件,成了死循环,文件会不段追加,应用中要注意避免。


    引用:
    cat < file
    这是以file内容作为输入

  11. 相思爱文 于 2009-04-07 19:26:45发表:

    [i=s] 本帖最后由 相思爱文 于 2009-4-8 00:06 编辑 [/i]

    引用:
    cat < file > file
    cat < > file
    为什么没有输出?

    >是输出重定向,标准输出转移到文件file中,所以显示器无输出。

  12. xtygaht 于 2009-04-07 17:11:28发表:

    搞不懂你这些命令是怎么写的``