2>/dev/null含义
时间: 2023-07-06 16:23:11 浏览: 71
在 Linux 和 Unix 系统中,2>/dev/null 是一种 shell 命令的重定向方式,用于将标准错误输出(stderr)重定向到 /dev/null 文件中。
其中,2 表示标准错误输出(stderr),/dev/null 是一个特殊的文件,它可以将所有输入都丢弃,相当于一个黑洞。因此,2>/dev/null 的作用就是将标准错误输出丢弃,即不显示错误信息。
例如,我们可以使用下面的命令来执行一个可能会产生错误信息的命令,并将错误信息重定向到 /dev/null 中:
```
command_with_possible_errors 2>/dev/null
```
这样,即使命令执行过程中出现了错误信息,也不会显示在屏幕上,而是被丢弃掉了。这在一些自动化脚本或者批处理中非常有用,可以减少不必要的干扰和输出。
相关问题
nohup ./manage >/dev/null 2>&1 & [1] 1935807
在Linux中,`nohup`命令用于在后台运行程序,并且不受终端关闭的影响。`>/dev/null`表示将标准输出重定向到`/dev/null`设备文件,`2>&1`表示将标准错误输出重定向到标准输出。因此,`nohup ./manage >/dev/null 2>&1 &`的含义是将`./manage`程序以后台方式运行,并将标准输出和标准错误输出都重定向到`/dev/null`设备文件。
这样做的目的是将程序的输出信息和错误信息都丢弃,不显示在终端上。这在一些需要长时间运行的程序或者不需要输出信息的程序中很常见。
范例:
```shell
nohup ./manage >/dev/null 2>&1 &
```
missingok sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript
这段代码是一个典型的 syslog 日志轮转配置文件的一部分。它用于在日志文件达到一定大小或时间间隔时进行轮转。
让我解释一下每个部分的含义:
- `missingok`:如果日志文件不存在,则忽略它并继续进行其他操作。
- `sharedscripts`:在执行 postrotate 脚本之前只执行一次轮转脚本,这可以提高性能。
- `postrotate` 和 `endscript`:这是一个轮转操作的起始和结束标记。在这两个标记之间的代码将在轮转期间执行。
- `/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true`:这是一个 postrotate 脚本,用于向 syslog 进程发送 HUP 信号以重新加载其配置文件。它使用 `kill` 命令和 `cat` 命令来获取 syslog 进程的 PID,并向其发送 HUP 信号。`2> /dev/null` 是将错误输出重定向到空设备,`|| true` 是为了忽略 kill 命令执行失败导致的错误。
请注意,这是一段 Shell 脚本代码,用于配置日志轮转。它可能是位于 `/etc/logrotate.d/` 或类似位置的配置文件的一部分。