转载请注明出处:  

  在 Linux 中,>/dev/null 和 2>&1 是两个常用的重定向操作,它们用于控制命令的输出和错误信息。而且这两个参数经常 与 nohup 命令一起使用。

nohup命令

  nohup 是一个用于在后台运行命令的 Unix 命令。它的主要作用是运行指定的命令,即使用户退出登录或终端关闭,该命令也能够继续运行。通过使用 nohup 命令,可以确保程序在后台持续运行,而不会受到终端会话的影响。

  当你在终端中运行一个进程并希望在终端关闭后该进程仍然继续运行时,就可以使用 nohup 命令。例如:

nohup sh monitor.sh > nohup_monitor.log /dev/null 2>&1 &

  上面命令的语法解析

  1. nohup:表示要以 "no hang up" 的方式运行命令,即使终端关闭也不会中断该命令的执行。
  2. sh sr_monitor.sh:表示要执行名为 sr_monitor.sh 的 Shell 脚本。
  3. >:表示重定向标准输出。
  4. nohup_monitor.log:表示将标准输出重定向到一个名为 nohup_monitor.log 的文件中。
  5. /dev/null:表示将标准输入重定向到空设备,即忽略所有输入。
  6. 2>&1:表示将标准错误输出重定向到与标准输出相同的位置,即也重定向到 nohup_monitor.log 文件。
  7. &:表示在后台运行命令。

  这个命令的作用:

  • 以 nohup 方式在后台运行 sr_monitor.sh 脚本;
  • 将脚本的标准输出和标准错误输出都重定向到 nohup_monitor.log 文件;
  • 忽略任何标准输入。

/dev/null 解析

  /dev/null 是 Linux 系统中的一个特殊文件,它是一个无处不在的数据黑洞。任何写入 /dev/null 的数据都会消失,不会有任何数据被保存下来。因此,command >/dev/null 会将 command 的标准输出重定向到 /dev/null,也就是丢弃标准输出。例如:

echo "Hello, World!" >/dev/null

  在这个命令中,echo "Hello, World!" 的输出 "Hello, World!" 会被重定向到 /dev/null,因此你不会在终端看到这个输出。

2>&1 解析

  2>&1 是一个重定向操作,它将标准错误(文件描述符 2)重定向到标准输出(文件描述符 1)。因此,command 2>&1 会将 command 的标准错误和标准输出合并,也就是将标准错误输出到标准输出。例如:

ls /path/to/nonexistent 2>&1

  在这个命令中,ls /path/to/nonexistent 的错误输出会被重定向到标准输出,因此你会在终端看到这个错误输出。

  将这两个重定向操作结合使用,command >/dev/null 2>&1,可以将 command 的标准输出和标准错误都丢弃。例如:

ls /path/to/nonexistent >/dev/null 2>&1

  在这个命令中,ls /path/to/nonexistent 的输出和错误都会被重定向到 /dev/null,因此你不会在终端看到任何输出。

  需要注意的是,>/dev/null 2>&1 的顺序是不能写反的。如果你写成 2>&1 >/dev/null,那么只有标准输出会被丢弃,标准错误还会被输出到终端。

nohup 与 >/dev/null 与 2>&1 作用与区别的更多相关文章

  1. nohup及/dev/null使用

    1.nohup    ----后台执行,执行记录默认输出到当前目录下的nohup.out文件         nohup find /etc -name passwd 2./dev/null介绍 把/ ...

  2. >/dev/null 2>&1的作用

    1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"  2 表示stderr标准错误  &am ...

  3. :>/dev/null 2>&1 的作用

    shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:ec ...

  4. rpm -qa|grep nfs >/dev/null 2>&1作用

    在使用一些shell命令是,经常会用到rpm -qa|grep nfs >/dev/null 2>&1之类的命令,该命令干嘛用的呢? 其实这个命令就是将rpm -qa|grep n ...

  5. Linux命令:nohup、df、du与/dev/null

    早上开始工作时发现服务器挂掉了,重启TongWeb时有报错: 上面的红框圈错了,第一个红框的下一行: java.io.IOException: No Space left on device 我们用d ...

  6. shell中>/dev/null 2>&1

    本文转自http://www.kissyu.org/ 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬 ...

  7. linux下详解shell中>/dev/null 2>&1

    前言 相信大家经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>& ...

  8. [转帖]shell 中的>/dev/null 2>&1 是什么鬼?

    shell 中的>/dev/null 2>&1 是什么鬼? http://blog.jobbole.com/109355/ 背景 我们经常能在shell脚本中发现>/dev/ ...

  9. (转)详解shell中>/dev/null 2>&1到底是什么

    转 原文地址:https://blog.csdn.net/zouli415/article/details/80651526 前言 相信大家经常能在shell脚本中发现>/dev/null 2& ...

  10. linux中>/dev/null 2>&1和2>&1 > /dev/null

    转载:https://www.cnblogs.com/520playboy/p/6275022.html 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的 ...

随机推荐

  1. 安装MacOS - 初学者系列 - 学习者系列文章

    上次安装了个VMWare Workstation 17.5.0的精简注册版,昨天打开软件,发现竟然支持了MacOS操作系统了,所以就想把安装的过程记录一下. 1. 准备虚拟机: 1) 下载精简版: 从 ...

  2. SpringBoot-Validation优雅实现参数校验

    1.是什么? 它简化了 Java Bean Validation 的集成.Java Bean Validation 通过 JSR 380,也称为 Bean Validation 2.0,是一种标准化的 ...

  3. 华企盾DSC控制台操作卡顿如何解决

    解决方法: 修改注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows 的 USERProcessHa ...

  4. 从零玩转SpringSecurity+JWT整合前后端分离-从零玩转springsecurityjwt整合前后端分离

    title: 从零玩转SpringSecurity+JWT整合前后端分离 date: 2021-05-06 14:56:57.699 updated: 2021-12-26 17:43:19.478 ...

  5. 聊聊ChatGLM6B的微调脚本及与Huggingface的关联

    本文首先分析微调脚本trainer.sh的内容,再剖析ChatGLM是如何与Huggingface平台对接,实现transformers库的API直接调用ChatGLM模型,最后定位到了ChatGLM ...

  6. Python——第二章:字符串操作——大小写转换

    字符串常规操作 字符串的操作一般不会对原字符串产生影响. 一般是返回一个新的字符串 字符串大小写转换 .capitalize() 是字符串方法之一,在 Python 中用于将所有字符串的第一个母转换为 ...

  7. Java反序列化漏洞-URLDNS链分析

    目录 一.前置知识 反射 二.分析 1. URL 2. HashMap 3. 解决一些问题 反射修改字段值 三.POC 四.利用链 一.前置知识 菜鸟教程 Java 序列化 Java安全-反射 URL ...

  8. 用C#实现简单的线性回归

    前言 最近注意到了NumSharp,想学习一下,最好的学习方式就是去实践,因此从github上找了一个用python实现的简单线性回归代码,然后基于NumSharp用C#进行了改写. NumSharp ...

  9. 第十一部分_Shell脚本之正则表达式

    正则表达式 1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的 ...

  10. 浏览器层面优化前端性能(2):Reader引擎线程与模块分析优化点

    Reader 引擎线程与模块分析 首先是网页内容,加载完输入到HTML解释器,解释后构成DOM树,这期间如果遇到JavaScript代码就交给JavaScript引擎去处理,如果网页中包含CSS,就交 ...