文件描述符和重定向

【系统预留描述符】

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 <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

在命令中使用文件描述符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

你可能感兴趣的:(文件描述符和重定向)