Linux关于Bash的重定向问题(>/dtc/null 2>&1)

本文详细探讨了Linux Bash中命令重定向到null的原理和实践,通过实例解析了>/dev/null 2>&1的含义,解释了标准输出(stdout)、标准错误(stderr)和文件描述符的概念,并提供了自我检测题目加深理解。
摘要由CSDN通过智能技术生成

起因

博主对于Linux系统基本不是太熟悉,在启动ES执行./elasticsearch &发现的这个问题,es启动完毕之后,打算启动kibana发现es的日志一直在打印,虽然后台启动了,但是影响我输入其他命令。于是就请教大佬、网上巴拉资料。然后才发现是命令少写,应该写成./elasticsearch & >/etc/null 2>&1。其实也不能算少写,./elasticsearch &这个命令就是后台启动,但是相应日志会输入到当前控制台,因为它指向标准输入stdout。最终输入这个./elasticsearch & >/etc/null 2>&1命令之后,日志果然不会打印在控制台了。

资料搜索

名词解释

根据上面的关键词,查到的资料进行总结。
/etc/null:这是只能写但是读不到任何信息一个比较奇怪的文件,可以把它当成一个垃圾焚烧炉,任何信息到了它着都会被销毁。
>:这个指代的是重定向或指向的意思,前者指向后者。
&:因为>指向的一般会默认为一个文件,在这里&符号为了修饰“1”指代的是标准输出的操作描述符,而不是名称为“1”的文件。(后面代码会有演示)
还有就是bash有三种文件描述符:

英文 解释 代表值
stdin 标准输出 0
stdout 标准输出 1
stderr 标准错误 2

这三者都是终端输入和输出(stderr也属于输出)。

好了那我们来解释一下这句代码./elasticsearch & >/etc/null 2>&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值