重定向小结

1、
ping xxx.xxx.xxx.xxx | while read line; do echo $line; echo $line >> file; donelinux


2、
Linux Shell 环境中的输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误。 
1.重定向标准输出到文件: 
cat foo > foo.txt 
2.重定向标准错误到文件 
cat foo 2> foo.txt 
3.重定向标准输出到标准错误 
cat foo 1>&2 
4.重定向标准错误到标准输出 
cat foo 2>&1 
5.重定向标准输出,标准错误到同一个文件 
cat foo > foo.txt 2>&1或cat foo &> foo.txt 
这里第个顺序很重要,先把标准输出重定向到文件,再把标准错误输出到标准输出,由于标准输出已经重定向到文件,因此标准错误与重定向到文件。 
>&与&>效果相同 shell

 

3、
linux数据怎么同时双定向到两个不一样文件? 
ls | tee a.txt > b.txt
把ls的输出重定向到a.txt和b.txt服务器

 

四/
Linux的重定向机制十分好用,咱们常常须要在服务器上挂起一个服务程序,而后将该程序的全部输出重定向到某个文件,这样即便咱们注销了用户,程序依然在linux服务器上运行着。调试

可是重定向的输出常常没法实时刷新到指定文件中,当咱们调试程序时,这将给咱们带来巨大的困扰。其实只须要关闭重定向输出的缓冲,便可实现实时刷新的效果。后台

命令以下:file

unbuffer nohup command > file.out 2>&1 &程序

上面的unbuffer命令须要额外安装expect-devel,用来实时刷新。command

nohup命令用来忽略全部挂断(SIGHUP)信号,让你的程序即便在用户注销后依然继续运行。数据

command是任何一段你想要执行的shell命令。重定向

> file.out 表明将command运行结果重定向到当前目录下的file.out文件中(若是要每次运行的结果追加到file.out后面,能够用>>而不是>)。

2 >&1表示将标准错误输出cerr的全部输出也都重定向到标准输出cout中,这样file.out中就会记录command命令运行过程当中全部标准输出。

最后一个&表示后台运行该command。

相关文章
相关标签/搜索