文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是stdin、stdout和stderr的预留描述符。 <操作符用于从文件中读取至stdin 。>操作符用于截断模式的文件写入(数据在目标文件内容被截断之后写入)。>>操作符用于追加模式的文件写入(数据被追加到文件的现有内容中,而且该目标文件中原有的内容不会丢失)。文件描述符可以用以上三种模式中的任意一种来创建。
为读取文件创建一个文件描述符:
我们可以这样使用它:
复制代码代码如下:
$ echo this is a test line > input.txt
$ exec3 <input.txt
现在你就可以在命令中使用文件描述符3了。例如:
复制代码代码如下:
$ cat <&3
this is a test line
如果要再次读取,我们就不能再继续使用文件描述符3了,而是需要用exec重新分配文件描述符3以便用于读取。
复制代码代码如下:
$ exec 4>input .txt
$ echo newline >&4 $ cat output.txt newline
创建一个文件描述符用于写入(追加模式):
复制代码代码如下:
$ exec 5 >>input .txt
$ echo appended line >&5 $ cat input.txt newline appended line |