(十二)shell 重定向详解与文件描述符

  • 输入输出重定向是通过修改文件指针实现的
  • 重定向: 输入和输出
  • >   覆盖
  • >> 追加
  • fd>file    fd与>之间不能有空格
  • fd表示为文件描述符,不写时默认为1

 

 

 

 

 

 输出重定向

  • ls one>>log.txt 2>&1   #错误信息和正确信息保存在一个t文件
  • ls -l>>log.txt 2>>err.log     #正确和错误信息保存在不同文件
    for str in "one" "two" "three"
    do
            echo $str >log.txt
    done
    
    echo >log.txt

 输入重定向

  • fd<file fd如果不写,默认为0
  • wc -l <<END 使用特定分隔符作为输入结束标志, 可自定义
  • wc -l <log.txt
  • 改变输入方向,不再使用键盘作为命令输入来源,而是使用文件作为命令输入
    while read str; do
            echo $str
    done <log.txt

 文件描述符

  • 每个进程都有一个文件符描述表
  • 文件描述表包含:文件描述符(即linux给文件分配的编号ID)和文件指针
  • 文件表:所有进程共享这张表
  • i_node表:所有进程共享

 

posted @ 2020-08-13 14:31  欧阳图图的少年成长记  阅读(181)  评论(0编辑  收藏  举报