IO重定向及管理

程序: 指令+数据

  程序:io

  可用与输入的设备:文件

    键盘设备、文件系统上的常规文件、网卡等

  可用于输出设备:文件

    显示器、文件系统上的常规文件、网卡等

  程序的数据流有三种:

    输入的数据流 <-- 标准输入(stdin),键盘:

    输出的数据流--> 标准输出(stdout),显示器:

    错误输出流:  --> 错误输出(stderr):显示器:

  fd: file descriptor,文件描述符

    标准输入:0

    标准输出:1

    错误输出:2

IO重定向:

  输出重定向:  >

    特性:覆盖输出

  输出重写向  >>

    特性:追加输出

  # set -C

    禁止覆盖输出重定向至已存在的文件(仅在当时shll环境有效)

    强制覆盖输出可用:>|

  # set+C

    关闭上述特性

  错误输出流重定向 2> ,2>>

  合并正常输出流和错误输出流:

    &>,$>>

    COMMAND > /PATH/FROM/SOMEDILE 2>&1

    COMMAND > >/PATH/FROM/SOMEDILE 2>&!

  输入重定向:  <

  tr命令

    tr  ts1  ts2  把ts1当中的字符,对位替换成ts2

  用法1:tr ts1 ts2 < /PATH/FROM/SOMEDILE

  用法2:tr -d ts1< /PATH/FROM/SOMEDILE

    tr

  注意:不修改原文件

  <<

    cat << EOF

    cat > /PATH/TO/SOMEFILE << EOF

  管道:连接程序,实现将前一个命令的输出之间定向后一个程序当作输入

  tee命令 将数据分方向发送

    COMMAND | tee /path/to/somefile/

      将command结果输出至屏幕上并且又保存至指定文件

练习1:吧/etc/passwd文件前6行的信息转换为大写字符后输出:

  head -n 6 /etc/passwd | tr ‘a-z’ ‘A-Z’

猜你喜欢

转载自www.cnblogs.com/ymkdxw/p/11697695.html