Linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0;正确输出standard output 1;错误输出:error output 2
Linux Shell下常用输入输出操作符是:
输出重定向:表示把将输出重定向到屏幕或者设备或者文件;其中, >> 表示追加新信息到文件
关闭正确输出和错误输出:ls test.txt test.txt1 1>&- 2>&-
&代表所有输出:ls t.txt t.txt1 &>te.txt
&[-,1,2] 分别表示 关闭对应的标识,正确输出,错误输出
输入重定向
从文件test.txt获取输入给cat,然后cat输入重定向给text1.txt:cat > text1.txt < test.txt
<< 表示接受一个输入结束的标识,当输入这个标识时结束输入:
cat > t.txt << eof
> q
> a
> z
> eof
# 当控制台输入eof后,结束输入
绑定一个新的文件描述符6,并且绑定标准输出(相当于给标准输出保存一个临时copy)
ls /proc/self/fd
0 1 2 3
exec 6>&1
ls /proc/self/fd
0 1 2 3 6
#把标准输出绑定回来:
exec 1>&6
ls /proc/self/fd
0 1 2 3 6
#关闭自定义的文件描述符
exec 6>&-
ls /proc/self/fd
0 1 2 3
⚠️注意:如果直接把标准输出绑定到文件,那么问题就是,再也变不回来了