重定向、cat与EOF
标准输入、标准输出、标准错误
运行程序会产生输出,这些输出包含两种类型,一种是程序运行的结果,一种是程序运行的状态和错误信息. 与python一切皆对象的想法类似,UNIX“一切都是文件”...通过某些命令将结果显示到屏幕上(如ls)实际上该程序将运行结果发送到了一个称为标准输出(stdout)的文件中,将状态(错误)信息发送到了另一个叫标准错误(stderr)的文件中,而默认情况下这两个文件都被连接到屏幕上,因此可以在终端中直接看到这些程序的结果. 同时,许多程序都从一个称作标准输入(stdin)的设备中获取输入,而默认情况下标准输入是与键盘连接的.
理解了输入输出的原理,就很容易理解I/O重定向了,键盘、屏幕相比于其他来源并没有任何特殊性,只要改变stdout, stderr, stdin文件链接的位置,就可以控制一个程序的输入与输出位置.
>
以覆盖文件的方式重定向标准输出
>>
以追加文件的方式重定向标准输出
同时,linux提供了使用文件描述符编号来重定向文件的表示法,0表示标准输入文件,1表示标准输出文件,2