shell_02
2、IO重定向与管道符
1.重定向
程序 = 指令 + 数据
命令 变量
在程序中,数据如何输入,如何输出
数据输入:键盘 -- 标准输入,并不是唯一输入
-- stdin
echo "123456" | passwd --stdin "username"
数据输出:显示器 -- 标准输出,并不是唯一输出
ls /etc/ > a.txt
常见重定向符号
1. 标准输出
> 覆盖重定向、非常危险
set-C 关闭覆盖重定向功能
>> 追加重定向
>| 强制重定向
2. 标准输入
< tr 替换文件内容
tr set1 [set2] <file.txt
<< 多行数据同时输入
-------------------
cat >>a.txt<<EOF
>1
>2
>3
>EOF
-------------------
3.错误输出
2>
2>>
拓展
不需要输出内容,只需要输出状态
ls /etc/ > /dev/null 2> /dev/null
if [$? -eq 0 ];then
循环体
fi
&> &>> == 2&>1
ls /etc/&> /dev/null
2.管道 - tee
command1|command2|command3|……
将前一个命令的执行结果交给后一个命令
【Linux思想:结合小功能实现大功能】
find 【范围】-name abc -type f -perm 600 -mtime +7|xargs -rf