【系统预留描述符】
0:stdin 标准输入
1:stdout 标准输出
2:stderr 标准错误
标准错误输出的重定向方法:
方法一:cat linux.txt 2> out.txt
方法二:cat linux.txt &> out.txt
【tee命令】
tee命令可以将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin
在终端打印stdout同时重定向到文件中:
ls | tee out.txt
ls | tee out.txt | cat -n
【重定向脚本内的文件片段(多行文本)】
#!/bin/bash
cat <<EOF>text.log
this is a text line1
this is a text line2
this is a text line3
EOF
【自定义文件描述符】
可以使用exec命令创建自定义文件描述符,文件的打开模式有只读模式,截断模式和追加模式。
< 操作符用于从文件中读取至stdin:
echo this is a test line > input.txt
exec 3<input.txt //自定义文件描述符3打开并读取文件
在命令中使用文件描述符3:
cat <&3
this is a test line.
注意:这里只能读取一次,要再次读取需要重新创建文件描述符。
> 操作符用于截断模式的文件写入(数据在文件内容被截断之后写入)
exec 4 >output.txt
echo this is a new line >&4
cat output.txt
this is a new line.
>> 操作符用于追加模式的文件写入(添加内容到文件中,原有内容不会丢失)
exec 5>output.txt
echo this is a new line >&5
cat output.txt
this is a new line
this is a appended line
网友评论