文件描述符
可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。

当Linux启动的时候会默认打开三个文件描述符,分别是:

标准输入 standard input 0 (默认设备键盘)
标准输出 standard output 1(默认设备显示器)
错误输出 error output 2(默认设备显示器)

        一条命令执行以前先会按照默认的情况进行绑定(也就是上面所说的 0,1,2),如果我们有时候需要让输出不显示在显示器上,而是输出到文件或者其他设备,那我们就需要重定向。

  重定向主要分为两种(其他复杂的都是从这两种衍生而来的):

(1)输入重定向 < <<
(2)输出重定向 > >>

   < 是对标准输入 0 重定向 ,> 是对标准输出 1 重定向

输入输出操作都是依赖文件描述符实现的,重定向输入输出本质上就是重定向文件描述符

1.输入重定向
格式: [n]< word (注意[n]与<之间没有空格)
说明:将文件描述符 n 重定向到 word 指代的文件(以只读方式打开),如果n省略就是0(标准输入)
cat 0< file 重定向到file 即从哪里输入

2.输出重定向

 [n]> word,将文件描述符 n 重定向到word 指代的文件(以写的方式打开),如果n 省略则默认就是 1(标准输出) 即输出到哪里去

3.标准输出与标准错误输出重定向

格式: &> word    >& word

说明:将标准输出与标准错误输出都定向到word代表的文件(以写的方式打开),两种格式意义完全相同,这种格式完全等价于 > word 2>&1 (2>&1 是将标准错误输出复制到标准输出,&是为了区分文件1和文件描述符1的)

 
 
09-03 18:10