[RHCE033]unit7标准的输入与输出和管道

一、标准的输入和输出
STDIN:标准的输入(默认来自键盘)
STDOUT:标准的输出(默认来自终端)
STDERR:标准的错误输出(默认来自终端)
二、输出成一个文件
格式:command operators filename
operators:>---输出重定向(将正确的输出内容记录进入一个指定文件中)
          2>--将错误的输出重定向(只会将错误的输出信息重定向到一个指定文件中)
          &>---将全部输出信息重定向到指定文件中
          >>---分次输出内容重定向到一个文件中时不会覆盖原有的内容
三、管道
|:将输出的结果输入到一个程序内。
格式:command1 | command2
2>&1:使错误信息也能通过管道
():将括号内的输出信息输入到管道内
tee:command1 | tee filename | command2
先将命令1的输出储存到指定文件中然后管道到命令2中
实例:
ls -lR /etc/ |tee stage1.out |sort |tee stage2.out |uniq -c |tee stage3.out |sort -r |tee stage4.out |less
四、输入重定向
<---输入重定向
实例:tr 'A-Z' 'a-z' < .bash_profile
最终结果是.bash_profile文件中的所有大写字母改成小写字母。
<<word:类似于Cisco中banner一样以word开头以word结尾。中间你可以随便写内容。
五、for loops
实例1:
for 变量1 in 变量1值
do---开始
变量2="$变量 [email protected]"
变量3='Projects are due today!'
echo $变量3 | mail -s Reminder $变量2
done结束
实例2:
建立3个用户redhat1-redhat3 初始密码为redhat
for USER in redhat1 redhat2 redhat3
do
useradd $USER
echo "redhat" |passwd --stdin $USER(--stdin参数可以使管道输入密码)
done
实例3:
for num in $(seq 1 10)-----分配1-10给num这个变量
建立10个用户student1-student10 初始密码为redhat
for num in $(seq 1 10)
do
USER=student$num
useradd $USER
echo "redhat" |passwd --stdin $USER
done
实例4:
for n in {1..20}
do
host=192.168.0.$n
ping -c2 $host &> /dev/null
if [$? = 0]
then
echo "$host is UP"
else
echo "$host is DOWN"
fi
done
该脚本用于检测主机是否开启。
$?值为0是成功的值为1则是失败。

本文出自 “networker” 博客,谢绝转载!

你可能感兴趣的:(linux,基础,操作系统,休闲,rhce)