Linux:shell脚本命令: /dev/null 21 的理解

1、可以将/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用. 


禁止标准输出.    1 cat $filename >/dev/null   # 文件内容丢失,而不会输出到标准输出. 

禁止标准错误.    2>/dev/null 这样错误信息[标准错误]重定向至dev/null,丢进黑洞.


2、分解这个组合:“>/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" 


3、再看这条命令

>/dev/null 等同于 1>>/dev/null 即首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。

2>&1 :接着,标准错误输出重定向 到 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。


4、最常用的方式有:
    
command > file 2>file  与command > file 2>&1

它们有什么不同的地方吗?

      首先command > file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file 中.command  > file 2>file 这样的写法,

stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了FD1和FD2两个同时去抢占file 的管道。

而command >file 2>&1 这条命令就将stdout直接送向file, stderr 继承了FD1管道后,再被送往file,此时,file 只被打开了一次,

也只使用了一个管道FD1,它包括了stdout和stderr的内容。
      从IO效率上,前一条命令的效率要比后面一条的命令效率要低,所以在编写shell脚本的时候,较多的时候我们会command > file 2>&1 这样的写法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qlabel可以选中吗_惊现凡尔赛式排版!原来微信公众号排版样式还可以“变装”?...

各位小伙伴们,要集中注意力了!接下来就是考验你们观察力的时候啦!快跟着小妹儿看一下,一个样式到底能有多少种玩法?文中使用工具为公众号编辑器-小蚂蚁编辑器。1、添加/删除背景编辑器里的内容样式是可以增加或者删除背…

LInux:shell 彩色进度条实现(有图有代码有真相!!!)

一、进度条原理(以前的博客详细讲述过):http://blog.csdn.net/sharp_up/article/details/55506555 二、颜色设置 // 字体颜范围(前景颜色):30~39 30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色 // 字背景颜色范围(背景颜…

vb语言中怎样编码窗体中所有字体加粗_VBText控件中使字体加粗和倾斜的代码是什么...

展开全部VBText控件中使字体加粗和倾e69da5e6ba9062616964757a686964616f31333365656537斜的代码是:加粗 Label1.FontBold True斜体 Label1.FontItalic true拓展资料:TextBox控件:a. 控制Textbox输入格式,我想大多人都遇到这个…

Linux: 系统配置 crond 和 crontab(有图有代码有真相!!!)

1、相关概述 linux下工作调度的种类有:at , cron 一种是例行性的,就是每隔一定的周期来办某事。 一种是突发性的,就是做完这一次没有以后。 crontab这个命令所设置的工作将会一直循环进行下去,循环的时间可以是分钟、小时、…

前端radio单选框默认选中_「radio选中」单选框radio总结(获取值、设置默认选中值、样式) - seo实验室...

radio选中单选框 radio是否1.获取值$("input[namekillOrder]:checked").val();$(input:radio:checked).val();$("input[typeradio]:checked").val();$(":radio[checked]").each(function(radio){alert($(this).val());2.设置第一个Ra…

LInux:shell 命令:字符串截取

1、cut命令截取 使用说明 cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。 如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。 主要参数 -b :以字节为单位进行分割。这些字节位置将忽…

cocostuff10k数据集介绍_(六)COCO数据集的简单介绍

COCO通过大量使用Amazon Mechanical Turk来收集数据。COCO数据集现在有3种标注类型:object instances(目标实例), object keypoints(目标上的关键点), 和image captions(看图说话),使用JSON文件存储。比如下面就是Gemfield下载的COCO 2017年训练集中的标…

数据结构:单链表操作之如何判断链表是否带环及相关操作

//判断链表是否有环 int HasCircle(Node* pHead) { Node* lowpHead; Node* fastpHead; while(fast ! NULL && fast->next ! NULL) { lowlow->next; fastfast->next->next; if(lowfast) return 1; } return 0; } 时…

smart700iev3 程序下载设置_分享一款Aira2下载工具

Qdown,一款新的Aria2下载器,Aria2是一个命令行的下载器,非常强大,本软件套壳了Aria2,并且制作了界面版本,使用体验不错。Qdown是一款基于Aria2的Windows文件下载器,几乎支持现阶段所有的下载协议…

引用js_js值和引用

值和引用在许多编程语言中,赋值和参数传递可以通过值复制或者引用复制来完成,这取决于我们使用什么语法。例如,在 C 中如果要向函数传递一个数字并在函数中更改它的值,就可以这样来声明参 数 int& myNum,即如果传递…

]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)

1、判断两个链表是否相交,若相交,求交点。(假设链表不带环) 两个指针同时指向两个链表,分别依次往后遍历链表到最后一个节点,如指针的值相同(即节点地址相同),反之没有交…

某月某日前包括当天吗_10月26日,你真的理解了导数的定义吗?(答思考题送猫王小音箱)...

点击并关注上方“鸡汤斋”,与斋主一起成长特别说明:公众号的“一天一题”都是从历年期中、期末,以及各个高等学校或者国家统一的考研试题中抽取的题目进行的详细讲解。如果您每天在固定的时间(无聊时、吃饭时、睡觉前、早上起床前、“吃鸡”前…

数据结构:栈和列之如何用两个队列实现一个栈?两个栈实现一个队列?

1、栈和队列分析 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行 队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的一端进行(只进不出),而删 …

人脸识别进水_万维|人脸识别闸机怎么选?

如今人脸识别在安防行业的逐渐普及,现在已经有越来越多的场景都已应用人脸识别闸机,像办公大厦啊,景区门口,社区门口等,什么都不用带,只要刷个脸就行,方便快捷又省事。那么,你又对人…

基于udp的网络群聊系统

一、系统简介 这是一个基于udp协议的网络群聊系统,为什么选择udp协议呢?这就需要了解TCP协议与udp协议。 1)TCP(Transmission Control Protocol,传输控制协议) 是面向连接的协议,也就是说&…

c 打印 callback 函数名_Go 中的函数

1. 函数参数和返回值的写法如果有多个参数是同一个类型,可以简略写:func testReturnFunc(v1,v2 int)(int,int) {x1 : 2 * v1x2 : 3 * v2return x1,x2 }Go 还支持命名返回值的方式。命名返回值作为结果形参(result parameters)被初…

二叉树面试题:判断树是否为完全二叉树和求二叉树的镜像

1、判断二叉树是否为完全二叉树: 层序遍历,从上到下,从左到右,遍历二叉树; 当遇到一个节点的左子树为空时,则该节点的右子树为空和后面遍历的节点都为叶子节点,否则不是完全二叉树。 当该节点…

数据结构:将二叉搜索树转换成一个排序的双向链表

1、将二叉搜索树转换成一个排序的双向链表。提示:要求不能创建任何新的结点,只能调整树中结点指针的指向,也就是left当prev,right当next。--中序线索化的变型。 Node* BSTreeToList() {if(_pRoot NULL) return NULL; Node* p…

Android NDK 使用第三方静态库(转)

源:Android NDK 使用第三方静态库转载于:https://www.cnblogs.com/LittleTiger/p/4556382.html

[原创]好买财富接口测试自动化实践

[原创]好买财富接口测试自动化实践