回眸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里有的重定向,是做什么用的?的主要内容,如果未能解决你的问题,请参考以下文章

windows7中环境变量里的path路径是做啥用的?

请教xilinx中BUFG、IBUFG是做啥用的?

liunx 系统配置及服务管理 重定向管道

liunx下jar包发布

在java里actionPerformed是做什么用的

C盘的MSBuild,MSECache,文件夹是做啥用的?