一.三种I/O设备

  1. 标准输入(STDIN)接受键盘的输入

    用<来重定向单行标准输入

    wKioL1ef7f-z5FZyAAAJ6nUO3zs833.png

    用<< “终止词”来重定向多行标准输入,自定义结束符号



    wKiom1ef8LiiNGDcAAALwfSvLAY855.png



wKioL1ef8SqjiG53AAAfNEdjGDU554.png

2.标准输出(STDOUT)默认输出到终端

1> file 重定向到file中

1>>file 追加到file中

wKioL1ef84OwJLhnAAAMJVDXHt4436.png

3.标准错误输出(STDERR)默认输出到终端

2>file重定向到file中

2>>file追加到file中

wKioL1ef9IvSRa_yAAANFLmmjDs545.png

4.错误输出和正确输出输出到同一个文件

&> 重定向

&>>追加到

cmd > path to fileout 2>&1

wKiom1ef9VGhHENQAAAJYugh7Hc241.png

5.set -C 禁止覆盖可以追加 "|>"可以强制覆盖

set +C 允许覆盖

6.tee命令使STDOUT既输出到终端,也保存到文件中

wKioL1ef9z6yReCWAAAJyZfr7JM700.png

二.tr命令使用详解

tr [option]...set1 [set2]

-c 使用set1的补集

-d 删除在set1中的字符集

-s 删除重复项

-t 将set1对应字符转化为set2对应字符(对应的转换,没有的保持不变)


wKioL1ef-xbxw3v9AAARWlZTojQ747.png

三.管道的使用要点

  1. 管道命令只能接受标准正确输出(用“2>&1”可以实现错误输出到管道命令)

    wKioL1ef_CiANIzNAAAMFOXI-JA221.png

  2. 常见的管道命令有head tail more less tr

四.作业

wKioL1ef_PfRrz5OAAKhGRbU2dU660.png

  1. tr 'a-z' 'A-Z' > /tmp/issue.out < /etc/issue

    wKioL1ef_mPgBL3OAAAI0EIWOcM379.png

  2. echo `who`  | tr 'a-z' 'A-Z' > /tmp/who.out

    wKioL1ef_w6jegWXAAAIQv8TJyw308.png

  3. mail -s "help" root << end

    wKioL1egAFzhMTNgAAAHHsQ1rhQ289.png

4. ls /root/ | tr '\n' '
wKiom1egP6WDYgvtAAAJCcYSE4c829.png

当转换为空格的时候,要在引号中把空格打出来

5. cat file | tr ' ' '+'|bc

wKioL1egQNOyP99KAAAF_QnmBvg980.png

注意不要有多余的空格

6.

wKioL1egQtGChsjIAAARl_GYfoM160.png

通过对照或查看ascci码表 得知^M 对应通配符\r

wKiom1egQ0zD5HB9AAAFkR5PvZA599.png

7.

8.echo $PATH | tr ':' '\n'

wKiom1egRKLgEjPPAAAMxSo5E6Y106.png

9. cat file | tr -s '\n'

wKiom1egRTTBPndqAAAIgb-ReGY452.png

10.cat file | tr -s '\n' | tr ' ' '\n'