Linux入门——重定向与管道

Linux给程序提供三种I/O设备

           –标准输入(STDIN)-0默认接受来自键盘的输入

           –标准输出(STDOUT)-1默认输出到终端窗口

           –标准错误(STDERR)-2默认输出到终端窗口

输入输出重定向就是把标准输入输出重定向到另一个地方

把输出和输出重新定向

输出重定向

>  把正确输出重定向到文件

2> 把错误输出重定向到文件

&> 把所有输出重定向到文件

注意:> 文件内容会被覆盖

         2> 文件内容同样会被覆盖

追加重定向

>> 原有内容基础上,追加正确输出重定向

2>> 追加错误输出重定向

 

&>> 追加正确错误输出重定向

输入重定向

使用<来重定向标准输入

tr -d abc < /app/a删除a文件中的所有abc中任意字符

终止词

<<终止词

使用“<<终止词”命令从键盘把多行重导向给STDIN

Mail –s riji liubei <<END

Tr

tr[OPTION]... SET1 [SET2]

    -c–C --complement:取字符集的补集

    -d--delete:删除所有属于第一字符集的字符

    -s--squeeze-repeats:把连续重复的字符以单独一个字符表示

     -t--truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符

管道|

管道(使用符号“|”表示)用来连接命令

命令1 | 命令2 | 命令3 | …

–将命令1的STDOUT发送给命令2的STDIN,命令2的STDOUT发送到命令3的STDIN

–STDERR默认不能通过管道转发,可利用2>&1 或|& 实现

–最后一个命令会在当前shell进程的子shell进程中执行用来

–组合多种工具的功能

Echo {a..z} | tr'a-z' 'A-Z'

猜你喜欢

转载自www.cnblogs.com/angge/p/9334113.html