Linux中的重定向和管道操作
llinux中的三种IO设备:
标准输入(STDIN),文件描述符号为:0,默认从键盘获取输入
标准输出(STDOUT),文件描述符号位:1,默认输出到显示终端
标准错误(STDERR),文件描述符号为:2,默认输出到显示终端
IO重定向是为了改变默认输入、输出的位置:
1 输出重定向(标准输出STDOUT和标准错误输出STDERR)
【>】标准输出覆盖重定向
【>>】标准输出追加重定向
【2>】标准错误输出重定向
【2>>】标准错误输出追加重定向
【&>】将标准输出和标准错误输出都同时重定向(相当于二次重定向【2>&1】)
【&>>】将标准输出和标准错误输出都同时追加重定向
【set -C】命令:启用系统禁止覆盖重定向(set -C执行后,再做重定向时,重定向文件如果存在则会报错 cannot overwrite existing file)如果在启用【set -C】命令后依然需要覆盖重定向文件,可以使用【>|】来强制覆盖
【set +C】命令:解除禁止覆盖重定向(set +C执行后,重定向文件如果存在则不会报错,直接覆盖)
2 输入重定向(标准输入)
【<】输入重定向;
【<<END】多行输入;(END为多行输入的结束标志)通常用于脚本创建新文件时写入固定内容
3 管道
【|】把前一个命令的执行结果当做后一个命令的输入
4 输出重定向例子
4.1 把/etc/fstab文件内容重定向到/home目录下的test文件中
4.2 把test1文件的内容追加到test文件
先创建test1文件,并再文件中写入任意内容
4.3 覆盖重定向
将test文件的内容进行覆盖
5 输入重定向例子
5.1 输入重定向方式,把小写字母转换成大写字母
5.2 多行输入
6管道例子
6.1 将input.txt 文件内容转换成大写输出
echo "THIS is Test" | tr a-z A-Z将echo输出的内容传递给tr命令,作为tr命令的输入,将输入的内容小写转换为大写
6.2 一页一页查看输入
后面还有很多内容,篇幅过长,只截取一部分内容
6.3 管道操作使用最频繁的一中情况 查找过滤
比如查看安装的软件包
比如查找文件夹
再比如查找文件中的内容
有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。