首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux Shell 1>devnull 2>&1 含义

shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件 > :代表重定向到哪里,例如:echo...,2>&1,表示2的输出重定向等同于1 1 > /dev/null 2>&1 语句含义: 1 > /dev/null : 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息...那么12是什么? 在shell中,每个进程都和三个系统文件 相关联:标准输入stdin,标准输出stdout、标准错误stderr,三个系统文件的文件描述符分别为0,12。...linux shell 中"2>&1"含义脚本是: nohup /mnt/Nand3/H2000G >/dev/null 2>&1 & 对于&1 更准确的说应该是文件描述符 1,而1 一般代表的就是...用strace可以看到:  1. command > file 2>&1  这个命令中实现重定向的关键系统调用序列是:  open(file) == 3  dup2(3,1)  dup2(1,2) 2.

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

深入理解 Linux shell2>&1 的含义

首先了解下12Linux中代表什么 在Linux系统中0 1 2是一个文件描述符 名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(stdin) 0 1的写法其实是将标准错误输出重定向到名为"1"的文件里去了 写成2&>1也是不可以的 为什么2>&1要放在后面 考虑如下一条shell命令 nohup java -jar app.jar...2指向1,而1指向log,因此2也指向了log) 再来分析下 nohup java -jar app.jar 2>&1 >log & 本来1----->屏幕 (1指向屏幕) 执行2>&1后, 2---...-->1 (2指向1,而1指向屏幕,因此2也指向了屏幕) 执行>log后, 1----->log (1指向log,2还是指向屏幕) 所以这就不是我们想要的结果。...,但是第一中方式是最佳选择,一般使用第一种 参考: https://unix.stackexchange.com/questions/89386/what-is-symbol-and-in-unix-linux

1.3K30

shell脚本 >devnull 2>&1

试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出....你可以用 ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1; ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中; ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了...用strace可以看到: 1. command > file 2>&1 这个命令中实现重定向的关键系统调用序列是: open(file) == 3 dup2(3,1) dup2(1,2) 2. command...2>&1 >file 这个命令中实现重定向的关键系统调用序列是: dup2(1,2) open(file) == 3 dup2(3,1) 为什么要用 /dev/null 2>&1 这样的写法.这条命令的意思是将标准输出和错误输出全部重定向到...从IO效率上,前一条命令的效率要比后面一条的命令效率要低,所以在编写shell脚本的时候,较多的时候我们会用command > file 2>&1 这样的写法.

41110

理解 Linux shell 中的一个方言:2>&1

前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如果是刚开始接触Linux,这个东西的确不好理解,因为他没有直观的含义,不像一个命令,例如 cp是 copy 的简写,...文件描述符 Linux 中一切皆文件,每个文件都有一个文件描述符,值是个正整数。...回顾开头的那个命令: ls foo > /dev/null 2>&1 现在基本上已经可以理解了: stdout 重定向到 /dev/null stderr 重定向到 &1 /dev/null 是空设备的意思...&1 表示:文件描述符1 的值,也就是标准输出的值,那么 2>&1 就是 标准错误输出 与 标准输出 一样,也是重定向到空设备。 所以这个命令的意思是:正确信息和错误信息都不显示了。...> output 是 command 1> output 的简写 &文件描述符 是引用某个文件描述符的值 2>&1 是错误输出的位置与标准输出的位置相同

960120

shell 1>&2 2>&1 &>filename重定向的含义和区别

shell 1>&2 2>&1 &>filename重定向的含义和区别: 当初在shell中, 看到”>&1″和”>&2″始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出....在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0 是一个文件描述符,表示标准输入(stdin) 1 是一个文件描述符,表示标准输出(stdout)...即可以把如上命令写成: ls a.txt b.txt >file.out 2>file.err 有了这些认识才能理解 “1>&2” 和 “2>&1”. 1>&2 正确返回值传递给2输出通道 &2表示2输出通道...如果此处错写成 1>2, 就表示把1输出重定向到文件2中. 2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道....下面是来自百度知道的内容,大家可以参考下: 问:Linux重定向中 >&2 怎么理解? 问题补充:echo "aaaaaaaaaaaaaaaa" >&2 怎么理解?

5K60

热饭面试复习:【linux shell 相关】- 1

Part1前言 linux shell 常见的面试问题,基本是先让你随便说一些,测试一下你掌握的广度,这时候你至少要说上十个才行,但是!...Part2基础命令 注意,每个linux命令都包含很多参数,我这里不像网上教程一样全写出来,我只会把常用的或者面试大概率遇到的参数写出来,以免参数太多大家记混。...修改所属组 chgrp 参数 群组 文件 -c 回报更改部分 -f 不显示错误信息 -r 递归 chown 修改所属人 chown 参数 用户 文件 -f 忽略错误 cmp 比较文件 cmp 参数 文件1...文件2 diff 详细的比较文件 diff 参数 文件1 文件2 file 查看文件类型 file 参数 文件 -v 显示版本信息 -c 详细显示过程 find 查找命令 find 路径 参数 值...调用shell命令 好了,本节学习的内容够多了,大家放松放松,准备迎接下一节复习吧~

22720

深入理解Linux shell2>&1的含义(全网最全,看完就懂)

12Linux 中代表什么 在Linux系统中0 1 2是一个文件描述符 image.png 从上表看的出来,我们平时使用的 echo "hello" > t.log 其实也可以写成...echo "hello" 1> t.log 关于2>&1的含义 关于输入/输出重定向本文就不细说了,不懂的可以参考这里:Shell:管道与重定向 含义:将标准错误输出重定向到标准输出 符号>&是一个整体...如果是尝试过,你就知道2>1的写法其实是将标准错误输出重定向到名为"1"的文件里去了 写成2&>1也是不可以的 为什么2>&1要放在后面 考虑如下一条shell命令 nohup java -jar app.jar...我们不妨把12都理解是一个指针,然后来看上面的语句就是这样的: 本来1----->屏幕 (1指向屏幕) 执行>log后, 1----->log (1指向log) 执行2>&1后, 2----->1 (...2指向1,而1指向log,因此2也指向了log) `` 再来分析下 nohup java -jar app.jar 2>&1 >log & 本来1----->屏幕 (1指向屏幕) 执行2>&1后, 2

65220

Shell学习笔记之关于 >devnull 2>&1 详解

shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合:“>/dev/null 2>&1” 为五部分。...# 1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt # 2:/dev/null 代表空设备文件 # 3:2> 表示stderr标准错误 # 4:& 表示等同于的意思...,2>&1,表示2的输出重定向等同于1 # 5:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null" # 因此,>/dev/null 2>&1...也可以写成“1> /dev/null 2> &1” 那么本文标题的语句执行过程为: # 1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息...# 2>&1 :接着,标准错误输出重定向 到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

46730

Linux——shell

什么是shellshell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...也可以通过ls命令查看这些shell的详细信息 #ls –al /bin/sh lrwxrwxrwx 1 root root  4 10月 8  2017  /bin/sh->bash Shell搜索的目录的名字都保存在一个...shell变量PATH中 ?

10.7K30
领券