`

关于/dev/null及用途

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

禁止标准输出.

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

1 rm $badname 2>/dev/null
   2 #           这样错误信息[标准错误]就被丢到太平洋去了.
禁止标准输出和标准错误的输出.

1 cat $filename 2>/dev/null >/dev/null
   2 # 如果"$filename"不存在,将不会有任何错误信息提示.
   3 # 如果"$filename"存在, 文件的内容不会打印到标准输出.
   4 # 因此Therefore, 上面的代码根本不会输出任何信息.
   5 # 当只想测试命令的退出码而不想有任何输出时非常有用。
   6 #-----------测试命令的退出 begin ----------------------#
   7 # ls dddd 2>/dev/null 8
   8 # echo $?    //输出命令退出代码:0为命令正常执行,1-255为有出错。 
   9 #-----------测试命令的退出 end-----------# 
   10# cat $filename &>/dev/null
   11 #   也可以, 由 Baris Cicek 指出.
清除日志文件内容

1 cat /dev/null > /var/log/messages
   2 #  : > /var/log/messages   有同样的效果, 但不会产生新的进程.(因为:是内建的)
   3
   4 cat /dev/null > /var/log/wtmp
例子 28-1. 隐藏cookie而不再使用

1 if [ -f ~/.netscape/cookies ]  # 如果存在则删除.
   2 then
   3   rm -f ~/.netscape/cookies
   4 fi
   5
   6 ln -s /dev/null ~/.netscape/cookies
   7 # 现在所有的cookies都会丢入黑洞而不会保存在磁盘上了.

FROM: Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting
分享到:
评论

相关推荐

    /dev/null和/dev/zero文件使用详解和误删修复方法以及服务器磁盘IO测试详解

    关于linux系统文件/dev/null和/dev/zero文件的详解和/dev/null、/dev/zero文件误删后的修复方法以及服务器磁盘IO测速详解,和一些常见/dev/null /dev/zero文件的用途用法示例说明

    高级Bash脚本编程指南.docx

    通过本文的学习,我们不仅掌握了如何使用Bash脚本来清除日志文件的基本方法,还深入了解了特殊文件`/dev/null`和`/dev/zero`的功能及应用场景。这些知识不仅有助于日常的工作效率提升,也是深入探索Bash脚本编程的...

    Linux 的dev目录详解和Linux系统各个目录的作用.pdf

    * /dev/null:无限数据接收设备,相当于黑洞 * /dev/zero:无限零资源 * /dev/tty[0-63]:虚拟终端 * /dev/ttyS[0-3]:串口 * /dev/lp[0-3]:并口 * /dev/console:控制台 * /dev/fb[0-31]:framebuffer * /dev/...

    Linux 设备分配清单

    - /dev/null:黑洞设备,所有写入的数据都会被丢弃,读取时返回空数据。 - /dev/zero:零设备,提供无限的零字节流。 - /dev/core:旧版设备,已由/proc/kcore替代,用于获取进程核心转储。 4. 随机数生成器 - ...

    Linux设备文件.pdf

    - `/dev/null` 是一个空设备,写入的数据会被丢弃,读取时始终返回文件结束符(EOF)。 - `/dev/zero` 提供无穷的零字节流,只可读取。 - `/dev/full` 是一个模拟满设备,任何写入操作都会失败,设置 `errno` 为 `...

    Linux设备文件简介.pdf

    `/dev/null`是一个特殊的字符设备,它丢弃所有写入的数据,并在读取时始终返回文件结束符(EOF)。`/dev/zero`则是一个无限提供零字节的源。块设备中,`/dev/ram0`到`/dev/ram200`代表RAM磁盘,可以在系统启动时使用...

    03Linux目录结构及文件基本操作.pdf

    在Windows中,主要以盘符(如C盘、D盘)及分区来管理文件,目录则次之,用户文件放置在不同的目录下较为自由,所以Windows系统使用一段时间后,文件目录可能会变得杂乱无章。相反,Linux系统以目录为主,采用了树形...

    linux设备号详解.pdf

    - **/dev/null**:空设备,任何写入操作都会被忽略,读取时返回EOF(End Of File)。 - **/dev/zero**:零字节源,只提供无穷的零字节。 - **/dev/full**:满设备,任何写入操作都会失败,设置errno为enospc(表示...

    linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)

    本文将详细介绍Linux dev目录下的一些常见特殊设备,包括loop、null、zero、full、random等设备的功能及其应用场景。 #### 一、设备分类 在Linux系统中,根据硬件设备的特点,可以将其分为三类: 1. **字符型设备...

    Linux Shell常用技巧

    在 Linux 系统中,`/dev/null` 和 `/dev/tty` 都是特殊的设备文件,它们具有不同的用途和特性。 - **`/dev/null`**:通常用于丢弃不需要的数据或重定向不需要的输出。 - **`/dev/tty`**:代表当前终端(或终端仿真...

    兰州大学操作系统实验九设备管理实验报告

    - `/dev/null`:消耗所有输入,无需存储,常用于丢弃无用数据。 - `/dev/zero`:无限提供零字节,用于填充或初始化文件。 - `/dev/random` 和 `/dev/urandom`:提供随机数,前者更安全但可能延迟,后者更快但非真...

    linux下的dd和cpio命令.pdf

    同样,用`of=/dev/null`可以测量读取速度。 接下来是`cpio`命令,它主要用于文件系统的备份和恢复。`cpio`可以创建归档文件,包含指定目录或文件的所有内容。配合`find`命令,可以方便地备份特定路径下的所有文件和...

    linux下各文件夹的结构说明及用途介绍.docx

    2. **/dev**:设备特殊文件的存放地,Linux将硬件设备视为文件来处理,例如/dev/null、/dev/zero、/dev/sda(硬盘)和/dev/tty(终端)等。 3. **/etc**:系统配置文件的集中地,如网络配置(/etc/network/...

    详解Linux系统中虚拟设备文件的各种实用用法

    `/dev/null` 的主要用途之一是作为输出清理工具。在命令行操作中,标准输出(stdout)和标准错误输出(stderr)通常会显示在终端上。然而,有时我们不希望看到某些命令的输出,尤其是当它们包含大量无用信息时,如...

    Linux目录详解

    例如,硬盘(/dev/sda)、控制台(/dev/console)、IDE设备(/dev/hd)、SATA、USB、SCSI设备(/dev/sd)、软驱(/dev/fd)、虚拟控制台(/dev/tty)、远程虚拟控制台设备(/dev/pty)以及"黑洞"设备(/dev/null)。 4. **/etc**:...

    linux目录详解[文].pdf

    重要的设备文件包括`/dev/null`, `/dev/tty[1-6]`, `/dev/ttyS*`, `/dev/lp*`, `/dev/hd*`, `/dev/sd*`等。 6. **/etc**: 这里存放系统的主要配置文件,如用户账号密码、服务启动脚本等。文件通常是ASCII纯文本格式...

    linux下各文件夹的结构说明及用途详细介绍解析.pdf

    例如,/dev/null、/dev/zero和/dev/tty等。 8. **/tmp**:临时文件存储区域,任何程序都可以在此创建临时文件,但重启后这些文件会被清除。建议大型应用使用/var/tmp,因为它可能有更多的磁盘空间。 9. **/boot**...

    LINUX_SHELL

    - **注释**:第二行通常用于注释脚本名称,第三行及之后可以添加关于脚本功能的注释。 - **脚本内容**:从第四行开始编写实际的脚本内容。 - **执行权限**:通过 `chmod u+x ScriptName` 命令为脚本添加执行权限。 -...

Global site tag (gtag.js) - Google Analytics