• 文件描述符和重定向


    文件描述符:
    是与文件输入、输出相关的整数;
    是与一个打开的文件或者数据流相关的整数

    系统预留的文件描述符:

    • 0 ------- stdin 标准输入
    • 1 ------- stdout 标准输出
    • 2 ------- stderr 标准错误

    自定义文件描述符:

    cmd 2> stderr.txt 1>stdout.txt
    cmd output.txt 2>&1   或者  cmd &> output.txt
    

    当不关注错误输出时,2>/dev/null
    /dev/null : 位桶(bit bucket)或者黑洞

    命令tee

    即可以重定向到文件,又可提供一份副本作为管道后续的stdin命令:tree

    cat a* | tee out.txt | cat -n 
    

    tee 只能从stdout中进行读取,即它不读区stderr
    tee -a out.txt -a append 追加内容

    文件描述符是用于访问文件的一个抽象指针

    1. 读取一个文件创建一个文件描述符
      exec 3<input.txt # 使用文件描述符3打开并读取文件
    2. 写入内容,截断模式
      exec 4>output.txt
    3. 写入内容,追加模式
      exec 5>>output.txt
    echo this is a test line > input.txt
    exec 3<input.txt
    cat <&3
    exec 4>output.txt
    echo newline >&4
    cat output.txt
    exec 5>>output.txt
    echo append line >&5
    cat output.txt
    
  • 相关阅读:
    编程心得
    PC缺少一个或多个网络协议 qq可登录(win10)
    系统启动和内核管理
    实现Internet架构的dns解析
    文本处理三剑客之AWK
    SHELL脚本编程进阶
    网络协议和管理笔记
    基础知识
    进程和计划任务
    710
  • 原文地址:https://www.cnblogs.com/persisit/p/14584785.html
Copyright © 2020-2023  润新知