1、重定向概念
重定向可以理解为将原本应该从标准的输入设备(键盘)输入的数据,改由其他文件或者设备输入;或者将原本应该输出到标准输出设备(显示器)的内容,改为输出到其他文件或者设备上。
常见的输入设备有:键盘、鼠标、扫描仪等。Linux默认以键盘作为标准的输入设备。
常见的输出设备有:显示器、蜂鸣器、打印机等。Linux默认以显示器作为标准的输出设备。
2、文件标识符和标准输入输出
文件标识符是重定向中非常重要的概念,Linux使用0到9的整数指明了与特定进程相关的数据流,系统在启动一个进程的同时,会为该进程打开三个文件:标准输入(stdin)、标准输出(stdout)标准错误输出(stderr),分别用文件标识符0、1、2来标识。如果要为进程打开其他的输入输出,则需要从整数3开始标识。默认情况下键盘作为标准输入设备,显示器作为标准输出和错误输出输出设备。