1:标准输出和标准错误重定向spa
2:利用<操做符将文件读入stdin3d
3:自定义文件描述符blog
4:tee命令字符串
1:例如echo命令就是将指定的字符串送到标准输出,那么咱们就能够结合echo命令将指定字符串发送到指定的文件:cmd
在这里就是将文件描述符stdout(1)的内容经过重定向操做符重定向到了test.txt文件里。it
在处理错误时,来自stderr的输出被倾倒入了文件/dev/null中,/dev/null是一个特殊的设备文件,他会丢弃接收到的任何数据。也常被称为黑洞,由于可是进入其中的数据都将一去不复返。一样的咱们能够将标准错误输出也重定向到文件中,以供保存。io
接下来这个命令会将stderr文本打印到屏幕上,而不是重定向到文本中,由于默认状况下重定向操做符针对的是标准输出,而这里stdout并无输出,而是stderr输出class
在重定向操做符前指定stderr文件描述符,就能够重定向stderr了test
2: 从stdin读取输入的命令能以多种方式接收数据:file
借助小于符号,咱们能够像使用stdin那样读取文件中数据: cmd<file; (cmd命令须要文件数据)
还有使用管道时,常常将前一个命令的标准输出重定向成下一个命令的标准输入,cmd1 | cmd2。
3:使用exec命令建立一个用于读取的文件描述符(符号&代表后边的数字是一个文件描述符):
建立一个用于写入的文件描述符:
4:标准输出既能够被重定向到文件,也能够经过管道传入其余程序,但不能同时进行,命令tee能够实现这个操做,tee命令从stdin读取,将数据重定向到文件中,而后还将数据重定向到标准输出(stdout)中:cmd | tee file1 file2 | othercmd
例如ls命令列出和cat命令查看文件内容的结果均为标准输出:
-a 指定以追加的方式保存到文件
本知识点需了解exec命令,以及对文件的打开模式,标准输入输出的初步了解。