1、输出重定向
重定向正确内容:
cat xx.file > yy.file 相当于cat xx.file 1>yy.file将文件内容重定向到yy.file,将会覆盖原有文件内容;
cat xx.file 》yy.file 将文件内容追加重定向到yy.file,不会覆盖原有文件内容;
重定向错误的结果
xxx 2> yy.file 执行错误的命令产生的错误结果重定向到yy.file文件
xxx 2》 yy.file
XXX >>yy 2>>bb
正确与错误都重定向到相同文件
这种写法比较常用: [root@clz ~]# cat /etc/passwd &>>/tmp/xx
这种学法不常用,将错误的当成正确的输出:[root@clz ~]# cat /etc/passwd >/tmp/xx 2>&1
可以从以下的示例中更加深入的理解正确的输入重定向:
在/dev/pts/1上执行以下命令:
[root@clz ~]# tail -f /var/log/messages >/tmp/xx 2>/tmp/yy
在/dev/pts/0上查看执行该命令的进程号:
[root@clz fdinfo]# ps aux | grep tail|grep -v 'grep'
root 5567 0.1 0.0 107932 620 pts/1 S+ 15:37 0:00 tail -f /var/log/messages
根据进程号,进入到/proc目录下找到进程号对应的文件夹:
[root@clz fdinfo]# cd /proc/5567
进入fd/文件夹,执行ls -l命令,可以看到链接文件:0代表输入,1代表标准正确的输出,2,代表标准错误的输出,3、表示命令操作的文件,如果对多个文件进行操作,则会有4,5...显示其他的文件
在dev目录下面,可以看到以下逻辑的标准输入输出设备,当一个进程运行时,self就会替换成该进程的进程号:
[root@clz fd]# ls -al /dev/std*
lrwxrwxrwx. 1 root root 15 Dec 30 2014 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Dec 30 2014 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Dec 30 2014 /dev/stdout -> /proc/self/fd/1
2015职称计算机考试书PowerPoint2007中 .. 定价:¥45 优惠价:¥42 更多书籍 | |
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 |