管道默认是连接前一个命令的输出到下一个命令的输入,二重定向通常是需要一个文件来建立两个命令的连接

标准输出和标准错误输出都指向终端屏幕

数据流重定向_第1张图片

假如file1存在,file2不存在

那么,cat file1 file2 >error 2>&1

则会将标准错误输出也重定向到error中

同时实现

标准输出和打印到终端

echo 'hell world' | tee hello

wKioL1T9KrSQNSSOAABcByaMYqM899.jpg

永久重定向

使用xargs分隔参数列表

完全屏蔽命令的输出

在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它通常被用于丢弃不需要的输出流,或作为用于输入流的空文件,这些操作通常由重定向完成。读取它则会立即得到一个EOF。

cat Documents/test.c\~ nefile 1>/dev/null 2>&1


exec 3>&-
关闭文件描述符

cd /dev/fd;ls -Al;cd -

创建输出文件描述符