回眸Liunx里有的重定向,是做什么用的?
Posted 回眸&啤酒鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回眸Liunx里有的重定向,是做什么用的?相关的知识,希望对你有一定的参考价值。
Linux里有的重定向,到底是做什么用的?
[root@localhost pijiuya]# cat test.txt
abcdefg
ACCCCCC
DEEEEEE
FFFFFFF
[root@localhost pijiuya]# echo acca > test.txt
[root@localhost pijiuya]# cat test.txt
acca
[root@localhost pijiuya]#
上述命令在于覆盖,将原来的内容替换成新内容
[root@localhost pijiuya]# echo 666777 >> test.txt
[root@localhost pijiuya]# cat test.txt
acca
666777
上述重定向命令在于追加,相当于在原来的信息后追加新内容。
0(stdin,标准输入)
1(stdout,标准输出)
2(stderr,标准错误输出)
重定向加上以上参数可以达到不同的组合效果
如果要将错误流重定向到文件中,则需要使用"2>"符号
ls > file.txt # 将ls命令的输出流重定向到file.txt文件中
ls 2> error.txt # 将ls命令的错误流重定向到error.txt文件中
ls > file.txt 2> error.txt # 将ls命令的输出流和错误流都重定向到文件中
以上是结合参数使用重定向的情况
command > /dev/null
以上command是命令的统称,需要换成命令诸如错误的命令行:ifconfiga
这是一个重定向到黑洞文件的内容,重定向到黑洞文件的内容将会被黑洞丢弃。
后记
记录这个知识点的原因是学习Linux时遇到了这个命令感觉没什么用,后来经过询问大佬,意识到很多时候都会用到它,诸如运行某个命令但会产生非常多的log信息,当我们不需要某些log日志,或者报错信息的时候,可以使用重定向到黑洞文件进行丢弃。
liunx下jar包发布
启动命令:
有日志:
nohup java -jar timeServer.jar >timeServer.log &
无日志:(关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海
>/dev/null 表示将标准输出信息重定向到"黑洞"
2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”))
nohup java -jar timeServer.jar >/dev/null 2>&1 & (jar 启动 不要日志模式)
以上是关于回眸Liunx里有的重定向,是做什么用的?的主要内容,如果未能解决你的问题,请参考以下文章