linux shell中”2>&1″含义

在计划任务中经常可以看到。例如我们公司的计划任务举例:

对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。
对于2 ,表示标准错误,stderr。
2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null

可以把/dev/null 可以看作”黑洞”. 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.

偶尔也可以把 & 在命令的最后加上,表示让程序后台执行。

为何2>&1要写在后面?

我们可以理解为,左边是标准输出,好,现在标准输出直接输入到 /dev/null 中,而2>&1是将标准错误重定向到标准输出,所以当程序产生错误的时候,相当于错误流向左边,而左边依旧是输入到/dev/null中。

可以理解为,如果写在中间,那会把隔断标准输出指定输出的文件

你可以用

ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;
ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。

Original: https://www.cnblogs.com/timelesszhuang/p/11530516.html
Author: timelesszhuang
Title: linux shell中”2>&1″含义

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10238/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Oppo Reno2 不允许安装非正式签名应用

    一、背景 为了安全起见,开发者本地开发和Jenkins上正式构建时,App采取的签名文件是不一样的。本地开发采取通用的如 debug.keystore,正式签名文件部署在服务端。现…

    Linux 2022年8月30日
    0260
  • 小程序源码下载[demo整理自github]

    摘自:https://www.cnblogs.com/ytkah/p/9003620.html 微信小程序的火热程度大家都有所了解,也有很多牛人写了不错的小程序,今天ytkah就整…

    Linux 2022年8月30日
    0390
  • linux创建、修改和删除用户(useradd | usermod | userdel|passwd|groupadd)

    1.useradd命令 格式: useradd [选项] …用户名 2.1-常用命令选项 -u:指定UID标记号 -d:指定宿主目录,默认为/home/用户名 -e:指…

    2022年8月20日
    0290
  • Linux命令:ps -ef |grep java 一、ps -ef |grep java

    一、ps -ef |grep java 查看包含”java”的所有进程 二、涉及命令详解 ps命令将某个进程显示出来(是LINUX下最常用的也是非常强大的进…

    2022年8月26日
    0800
  • 使用Git Bash for Windows

    本篇体验Git Bash在Windows操作系统上的用法。 什么是Bash? 是一个Shell环境,Bourne Again Shell的缩写。 安装git for windows…

    Linux 2022年8月30日
    0250
  • Jenkins 内置变量

    BRANCH_NAME 对于多分支项目,这将设置为正在构建的分支的名称,例如,如果您希望master从功能分支而不是从功能分支部署到生产;如果对应于某种更改请求,则名称通常是任意的…

    Linux 2022年9月10日
    0240
  • input 弹起数字键盘的那些坑

    input ios 踩的大坑 前言:最近有个需求要将全平台的交易密码由原来的 6-16位 复杂密码改为6位纯数字交易密码,涉及到非常多的业务场景,但修改起来也无非两种:设置交易密码…

    Linux 2022年8月30日
    0420
  • 【转】linux内核数据结构之kfifo环形队列

    一、前言 缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没…

    Linux 2022年8月26日
    0590
  • Linux系统排查4——网络篇

    Reference: https://www.cnblogs.com/Security-Darren/p/4700387.html 用于排查Linux系统的网络故障。 网络故障排除…

    Linux 2022年8月26日
    0400
  • 《Redis开发与运维》——(九)哨兵(脑图)

    posted @2021-01-09 15:09 雪山上的蒲公英 阅读(169 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs…

    Linux 2022年9月14日
    0280
  • redis 常用命令

    批量删除redis key redis-cli -a xxx keys “prefix_tb_supplier:spl_id*” | xargs redis…

    Linux 2022年9月14日
    0190
  • linux学习笔记(26)firewalld防火墙

    【1】firewalld 的安装与基本概念 FirewallD 是 CentOS 7 服务器上默认可用的防火墙管理工具。 基本上,它是 iptables 的封装,有图形配置工具 f…

    Linux 2022年8月11日
    0360
  • Redis 事务

    一、概述 和传统关系型数据库一样,Redis 同样是支持事务的。Redis 的事务可以通过 MULTI/EXEC/DISCARD/WATCH 等命令来实现。 二、事务的 ACID …

    Linux 2022年9月14日
    0130
  • lambda跨账号调用elasticache redis调查结果

    1.本地lambda与被调用方的redis都要绑定一个VPC,至少设定一个子网和路由表,设定好安全组; 2.本地VPC创建对等连接,被调用方接受连接; 3.将各自的IPv4 CID…

    Linux 2022年9月14日
    0180
  • git免密码clone push,多个git账号配置

    github免密码更新 使用Git提交代码遇到每次都需要输入用户名密码的情况,只要在本地生成一个认证文件即可免去输入。 在%HOME%目录,一般是C:\users\Administ…

    Linux 2022年8月30日
    0280
  • Linux下通过 rm -f 删除大量文件时报错:Argument list too long

    Linux下通过 rm -f 删除大量的小文件时出现类似如下错误信息: 如下图所示: 如果待删除文件中包含的小文件数量过多,通常是由于受到 shell 参数个数限制所致。 这个是L…

    Linux 2022年8月24日
    0290
  • 【持续更新】Git 使用

    几个有用的资料: git在线练习网站:https://learngitbranching.js.org/?locale=zh_CN 参考书:https://www.runoob.c…

    Linux 2022年8月30日
    0330
  • EclipseC++学习笔记-2 WSL Linux环境搭建

    安装区域包 sudo apt install locales 修改区域 sudo dpkg-reconfigure locales 选486,选2 安装图形界面与远程连接工具 su…

    2022年8月24日
    0280
  • git submodule 的使用

    当我们要把另一个仓库的代码作为子目录放到当前仓库时,为了防止代码冗余,我们应该使用 git 的子模块 submodule 功能。 把 https://github.com/my/r…

    Linux 2022年8月30日
    0280
  • linux指定cpu运行程序,linux:如何指定进程运行的CPU

    coolshell最新的文章《性能调优攻略》在”多核CPU调优”章节,提到”我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我…

    Linux 2022年8月11日
    0800
  • Linux常用操作命令

    http://man.linuxde.net/ linux命令查询 Linux基本命令操作阅读目录(Content) 一、Linux终端介绍 Shell提示符 Bash Shell…

    Linux 2022年8月13日
    0330
  • github SSH配置

    github有两种更新的渠道,一种是https的,一种是ssh的,其中https每次都要输入密码,非常烦。所以,最好是配置好ssh。 ssh 配置 ssh是什么?他是一种远程登录服…

    Linux 2022年8月30日
    0280
  • linux CentOS 安装rz和sz命令 lrzsz

    lrzsz在linux里可代替ftp上传和下载。lrzsz 官网入口:http://freecode.com/projects/lrzsz/lrzsz是一个unix通信套件提供的X…

    Linux 2022年8月11日
    0460
  • Git 分支管理

    几乎每个版本控制系统都以某种形式支持分支。使用分支意味着您可以脱离开发主线并继续工作,而不会影响主线。 [En] Almost every version control syst…

    Linux 2022年8月30日
    0300
  • Linux 安装pycharm,清除缓存,scp传输文件

    linux安装 anaconda 在安装pycharm之前,如果要安装anaconda,可以先下载(清华镜像:https://mirrors.tuna.tsinghua.edu.c…

    Linux 2022年8月20日
    0370
  • Linux systemd & init.d

    在Linux进程中,普通程序会随着自己所属的Shell关闭而终止,如果需要实现像windows服务程序一样的效果,第一步就需要将普通进程变成守护进程。 守护进程特征: 它的生命周期…

    Linux 2022年8月26日
    0280

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部