重定向和管道符:
1.重定向
程序=指令+数据
命令 变量
在程序中,数据如何输入?又如何输出
数据输入:键盘-- 标准输入,但不是唯一输入方式;
--stdin
echo "123456" |passwd --stdin"username"|
例如:功能添加用户txt文本文档1000个用户
./useradd.sh a
./useradd.sh.b
..
useradd.sh<user.txt
while line;then
循环体$line
done</etc/paaswd
数据输出:显示器--标准输出,但不是唯一的输出方式
tr
2.管道 -tee
数据输出:显示器--标准输出,但是并不是
3.文本处理工具-wc,cut,sort,uniq
fd文件标标识符
0 1 2
0--标准输出
1--标准输入
2--错误输入输出(标准错误)
常见重定向符号
1.标准输出
2标准输入
< tr替换文件内容
tr set1[set2]<file.txt
<<将多行数据同时输入
cat>>a.txt<<EOF
>1
>2
>3
>EOF
3.错误输出
2>
扩展:不需要输出内容,只需要输出状态;
ls /etc/> /dev/null> dev/null
if[$? -eq 0];then
循环体
fi
&> &>> == 2&>1
ls/etc/ &> /dev/null
2>>
$?判断是不是=0
mkdir 创建目录 文件夹
touch 创建文件