tee
将输出同时重定向到文件和屏幕:
date | tee now
cat >> test << delimiter
使用自定义delimiter来创建一个文档
delimiter是定界符,可自定义,我们使用的是追加重定向
上面这条命令的意思就是:
当前文档作为cat的输入,将cat的输出(追加)重定向到test中
当前文档指的就是这一部分:
使用文件描述符进行重定向(0 1 2)
其实就是将标准输入、标准输出和标准错误重定向到指定的文件
exec 1>out
执行完这条命令之后,输出就会被重定向到out文件中,屏幕上不会再有输出
要想重新将输出重定向到终端,执行:
exec 1>/dev/tty
我们用的最多的其实是普通的输入输出重定向
cmd n>file
cmd n>>file
改变n的值就可将cmd命令的输出信息或者错误信息重定向到file文件中
cmd 0<file
这条命令就是将输入重定向到file文件
重定向标准输出和标准错误到单独的文件
cmd 1> file1 2> file2
上面这条命令把cmd命令的输出重定向到了file1,将标准错误重定向到了file2
我们也可以把标准输出和标准错误重定向到同一个文件中,写法如下:
cmd 1> file1 2>&
/dev/null
说明一下这个文件,他比较特殊,如果我们使用下面这条命令将cat
命令的输出重定向到一个文件file
中,file
文件中的内容会变为空:cat /dev/null > file
重定向两个文件描述符,exec n>&m
比如说,我们现在把一个文件描述符和一个文件关联了起来:
exec 4>file
然后我们再执行这条命令
exec 5>&4
执行完这条命令之后,文件描述符4和5就都指向了文件file,也就是说,5就是4的拷贝
这时我们再执行ls 1>&5
,和ls 1>&4
的效果是一样的
ls的输出都会被重定向到file文件中