Linux 系统中的 /dev/null 文件

Linux 系统中的 /dev/null 文件

  • 1. Usage
  • References

In some operating systems, the null device is a device file that discards all data written to it but reports that the write operation succeeded.
/dev/null (空设备) 在类 Unix 系统中是一个特殊的设备文件,它丢弃一切写入其中的数据,但报告写入操作成功,读取它则会立即得到一个 EOF。/dev/null 也被称为比特桶或者黑洞 (bit bucket or black hole)。

This device is called /dev/null on Unix and Unix-like systems, NUL: (see TOPS-20) or NUL on CP/M and DOS (internally \DEV\NUL), nul on OS/2 and newer Windows systems (internally \Device\Null on Windows NT), NIL: on Amiga operating systems, and NL: on OpenVMS.

In Windows Powershell, the equivalent is $null. It provides no data to any process that reads from it, yielding EOF immediately. In IBM operating systems DOS/360 and successors and also in OS/360 and successors such files would be assigned in JCL to DD DUMMY.

1. Usage

The null device is typically used for disposing of unwanted output streams of a process, or as a convenient empty file for input streams. This is usually done by redirection.
空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。

The /dev/null device is a special file, not a directory, so one cannot move a whole file or directory into it with the Unix mv command.
/dev/null 是一个特殊文件,而不是目录,因此不能使用 Unix 命令 mv 将文件移动到其中。使用 rm 命令才是 Unix 中删除文件的正确方法。

This will return an End of File (EOF) character if you try to read it using the cat command.

(base) yongqiang@yongqiang:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jun 17 23:02 /dev/null
(base) yongqiang@yongqiang:~$
(base) yongqiang@yongqiang:~$ echo "yongqiang" > /dev/null
(base) yongqiang@yongqiang:~$
(base) yongqiang@yongqiang:~$ cat /dev/null
(base) yongqiang@yongqiang:~$
(base) yongqiang@yongqiang:~$ stat /dev/nullFile: /dev/nullSize: 0               Blocks: 0          IO Block: 4096   character special file
Device: 5h/5d   Inode: 3           Links: 1     Device type: 1,3
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-06-17 23:02:19.040000000 +0800
Modify: 2024-06-17 23:02:19.040000000 +0800
Change: 2024-06-17 23:02:19.040000000 +0800Birth: -
(base) yongqiang@yongqiang:~$

Redirecting stderr to stdout first, and then redirect stdout to /dev/null.

command > /dev/null 2>&1

Notice the 2>&1 at the end. We redirect stderr(2) to stdout(1). We use &1 to mention to the shell that the destination file is a file descriptor and not a file name.

So if we use 2>1, we will only redirect stderr to a file called 1.

References

[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/
[2] Null device, https://en.wikipedia.org/wiki/Null_device

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

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

相关文章

【机器学习】智能创意工厂:机器学习驱动的AIGC,打造未来内容新生态

🚀时空传送门 🔍机器学习在AIGC中的核心技术📕深度学习🎈生成对抗网络(GANs) 🚀机器学习在AIGC中的具体应用🍀图像生成与编辑⭐文本生成与对话系统🌠音频生成与语音合成 …

uniapp小程序计算地图计算距离

我们拿到自身和目标距离经纬度 调用此方法即可计算出自身与目标的距离 最后我所展示的页面如下 具体效果可能会有点偏差 要求严格的可以在精细的计算一下

【Python】Redis数据库

Redis数据库 Unit01一、Redis1.1 概述1.2 安装1.3 Redis-cli1.4 数据类型1.5 字符处理1.6 键的命名规则 二、通用命令三、字符串(String)3.1 概述3.2 常用命令3.3 应用场景 四、列表(List)4.1 概述4.2 常用命令 五、集合(SET)5.1 概述5.3 常用命令 六、有序集合6.1 概述6.2 常用…

【行业应用】基于 Arm 虚拟硬件平台实现微信支付二维码识别的智能闸机系统

基于 Arm 虚拟硬件平台实现微信支付二维码识别的智能闸机系统 本实验过程中所显示的优惠价格及费用报销等相关信息仅在【Arm AI 开发体验创造营】体验活动过程中有效,逾期无效,请根据实时价格自行购买和体验。同时,感谢本次体验活动 Arm 导师…

解读自然语言处理:技术、应用与未来展望

引言 自然语言处理(Natural Language Processing,简称NLP)是计算机科学、人工智能和语言学的一个跨学科领域,致力于实现人与计算机之间通过自然语言进行有效沟通的能力。NLP 的核心任务是理解、解释和生成人类语言,使计…

SpringBoot怎么实现自定义接口全局异常捕获?详细教程

自定义异常 package com.single.bean;import org.springframework.core.NestedRuntimeException;public class FDWException extends NestedRuntimeException {private static final long serialVersionUID = 6046035491210083235L;public FDWException(String msg) {super(msg…

入门二.HTB--Fawn

大佬 [Hackthebox] Fawn (FTP)_根据您的扫描,目标上运行的 ftp 版本是什么?-CSDN博客 大佬 https://www.cnblogs.com/Hekeats-L/p/16535561.html 任务一 FTP缩写 File Transfer Protocol 任务二 FTP的TCP端口 21 FTP监听的TCP端口号为21,监听的数据端口为20。 任务三 FTP…

MySQL8重置root密码

wsl2下操作。MySQL8 重置root密码 停止服务 sudo service mysql stop跳过权限检查启动 MySQL: 使用 --skip-grant-tables 选项启动 MySQL 服务,可以无密码登录 MySQL 并更改 root 密码。 sudo mysqld_safe --skip-grant-tables --skip-networking &登录 MySQ…

Spring技术——介绍、初识

从这篇博客正式开始学习 Spring 。 一、整个Spring技术学习的介绍 首先先对 Spring 做一个简单的认识,并从以下3个方面了解学习Spring 技术的意义: (1)为什么要学习 Spring 技术? 1、它的市场的占有率很高&#xff…

浅谈AI技术在不同经济体系的应用

#AI技术 #经济体系 #市场经济 #计划经济 近期有朋友提出了这么一个问题:“假设用AI技术来指导计划经济,是否能达到市场经济同样的效果?”我们今天就此问题浅谈我个人的看法,以下仅代表个人观点,有不到位的地方欢迎…

css之浏览器兼容性

css之浏览器兼容性 内核 内核代表作品 兼容的概念和原因 Hack的副作用 常见的CSS Bug 多个图片在一起,图片套个盒子 图片在IE浏览器上有蓝色边框 解决办法:给img加上 border:0 表单元素中距离顶部元素不一样 左边input 右边button 解决办法&#x…

【MySQL】——概念、逻辑、物理结构设计

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

state和store的使用场景

结论 State:局部状态 Store:全局状态(可以使用Context、Redux 具体介绍 状态管理库如Redux通常是通过store来管理全局状态的。为了更好地理解局部状态和全局状态的管理,我们将分别详细解释如何在React中使用它们。 一、局部状…

盘点Elementor的8大缺点 为了安全果断放弃

Elementor作为一款流行的WordPress页面构建器,确实因其易用性和丰富的功能受到许多用户的欢迎。然而,如果它频繁曝出安全问题,并且你认为这些安全问题对你的网站构成严重威胁,那么考虑其他替代方案是明智的。以下是Elementor的一些…

umijs脚手架

node 16.9.1 注意node版本的问题 node 18.20.0 这个问题其实是node与中端连接出错,无法初始化TTY(终端设备),可以用cmd命令行来创建umi项目 nvm管理node https://github.com/coreybutler/nvm-windows/releases 这是nvm-window…

Idea Git中 unversioned files的处理

项目中,使用git commit命令可以查看当前所在的分支,以及当前改动的文件,可以使用快捷键Alt 0打开/关闭;如下图所示, 可以看到分成了两个不同的区域, Changes 表示有改动的文件,包括修改、新增…

mysql对VARCHAR和int的误解

VARCHAR: 你将VARCHAR类型的长度设置为255时,意味着该字段可以存储最多255个字符,不论这些字符是哪种语言的文字 tinyint int等 任何整数,只要类型定了,他表达的最大值和存储所占的空间就是确定的.不会因为你设置的长度不同而改变,所以正常情况下,我们…

Java高级编程技术与算法应用全解析

遗传算法 Java中的遗传算法 遗传算法通过模拟自然选择和遗传机制来寻找最优解。本文将介绍遗传算法的基本概念及其Java实现。 遗传算法的基本概念 遗传算法通过选择、交叉和变异等操作来优化问题。 示例代码:简单的遗传算法 import java.util.ArrayList; impo…

Python基础语法学习(工程向)-Stage1

输出的方式: print(fabscwdasd {num}) print(asbduwiu %d, a) print(asnidoian %d %d %d,a,b,c)不换行 print(asbdiuabw,end )输入 a input(输入) 只能输入字符串形式,如果相当做数字用则将其转化为数字 只有合法的数字才能转化成功 a int(input()…

厂里资讯之异步通知文章上下架

kafka及异步通知文章上下架 1)自媒体文章上下架 需求分析 2)kafka概述 消息中间件对比 特性ActiveMQRabbitMQRocketMQKafka开发语言javaerlangjavascala单机吞吐量万级万级10万级100万级时效性msusmsms级以内可用性高(主从)高(主从&#…