如何理解命令:cat
cat file ----- 显示file的内容
cat > file ---- 给file写入内容
cat file1>file2 ----- 把file1的内容写入到file2
cat的含义是concatenate,也就是“连结”,而“>”是重定向。
所以我的理解就是:
cat连结起两个文件,然后“>”实现重定向,表明被连接起来的两个文件的数据走向。
比如,cat file1>file2 就是:把file1和file2连结起来,然后file1的内容流入file2。
按照我的这种理解,所以我进而想到:
cat file 其实就是 cat file>&1
也就是把file和标准输出连结起来,然后把file的内容流入标准输出。经测试,cat > file 和 cat file>&1的确做了同样的事情。
进而我又想,cat >file 应该就是把标准输入和file连结起来,然后标准输入的内容流入到file。
但是,我这样写命令:
cat 0>file,报错了:
cat: input error n standard input: Bad file number
但是,当我这样写:
cat 1>file,我发现和cat >file做了同样的事情。
所以我不理解了,为什么是从标准输出流入file呢?我明明是在输入啊???