美文网首页
文件描述符和重定向

文件描述符和重定向

作者: 啾咪啾啾酱 | 来源:发表于2018-02-24 17:59 被阅读0次

    【系统预留描述符】

    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

    相关文章

      网友评论

          本文标题:文件描述符和重定向

          本文链接:https://www.haomeiwen.com/subject/uxlcxftx.html