首页 > 代码库 > linux之输入输出重定向

linux之输入输出重定向

      在linux操作系统中,我们会有些这样的需求的,比如说我们日常工作中需要利用shell写一些自动化运维脚本,且需要把脚本的执行的内容另存到另外一个文本,这个称为输出重定向。有时候我们发送一份邮件发送的内容从指定的文件读取就需要使用输入重定向。

     

标准输入(stdin)  0
标准输出 (stdout)  1
标准错误输出(stderr)2

输入重定向
cat < /etc/passwd

输出重定向(会覆盖掉原来的内容)
df -h > /tmp/disk

追加输出重定向(不覆盖原来的内容)
df -h >> disk  

错误输出重定向
cAt  /etc/passwd  2>  a
cAt  /etc/passwd  2>  /dev/null

双重输出
cat /etc/abc  > ok 2> NG

输入输出合并(&)
cat /etc/passwd &>> all

特殊设备文件
/dev/zero   无限0资源设备
/dev/null   垃圾桶

输入结束符
cat > b  << ok  遇到ok正常退出

cat > b  --->ctrl + d  正常结束
         --->ctrl + c  强制结束

管道机制(tee)  

管道可以把一个脚本或命令执行的结果交给管道后面的进程继续处理

cat /etc/passwd  | wc -l
41

cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

cat /etc/passwd  | wc -l | tee -a abc    

tee把全面执行的结果保存到abc   -a追加

本文出自 “云计算” 博客,请务必保留此出处http://huanghaisky.blog.51cto.com/3064496/1918927

linux之输入输出重定向