Linux里的/dev/null和2>&1和基本符号

在一些shell经常中见到>/dev/null>/dev/null 2>&1

# 这里有>,/dev.null,2>&1,最后一个&
0 0 * * * /data/test.sh > /dev/null 2>&1 &

几个基本符号及其含义

/dev/null 表示空设备文件
> 代表重定向到
0 表示stdin标准输入
1 表示stdout标准输出
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的标准错误输出重定向等同于1标准输出
最后一个&表示在后台中运行,后面会有解释

测试文件test.sh

#!/bin/sh
mm
date
# 标准执行,错误与输出都显示在终端
[dev ~]$ ./test.sh 
./test.sh: line 2: mm: command not found
Thu Jul 26 14:50:08 CST 2018
/dev/null
# 禁止标准输出到终端,只显示了标准错误
[dev ~]$ ./test.sh > /dev/null
./test.sh: line 2: mm: command not found
[dev ~]$
# 禁止标准错误到终端,显示了标准输出
[dev ~]$ ./test.sh 2> /dev/null
Thu Jul 26 14:53:33 CST 2018
[dev ~]$
# 禁止标准错误和标准输出都显示在终端,此时无任何输出
# 白话意思就是这两个都写上,屏幕上啥也不显示,程序偷摸儿的运行
[dev ~]$ ./test.sh > /dev/null 2>&1
[dev ~]$
>重定向

>表示覆盖写,>>表示追加写

# 12345刚刚打印到终端,后重定向写入m.text
[dev ~]$ echo 12345
12345
[dev ~]$ echo 12345 > m.text
[dev ~]$ ls
 m.text  test.sh
[dev ~]$
# 每次执行echo,>都会覆盖上次内容,>>追加内容
[dev ~]$ echo 12345 > m.text
[dev ~]$ cat m.text 
12345
[dev ~]$ echo 12345 > m.text
[dev ~]$ cat m.text 
12345
[dev ~]$ echo 12345 >> m.text
[dev ~]$ cat m.text 
12345
12345
基本符号

|| 逻辑符号
这个会时常看到,代表 or 逻辑的符号。

&& 逻辑符号
这个也会常看到,代表 and 逻辑的符号。

& 后台工作
单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。

https://blog.csdn.net/loryliu/article/details/52440192
https://www.cnblogs.com/lidabo/p/4323979.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值