把/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
分享到:
相关推荐
关于linux系统文件/dev/null和/dev/zero文件的详解和/dev/null、/dev/zero文件误删后的修复方法以及服务器磁盘IO测速详解,和一些常见/dev/null /dev/zero文件的用途用法示例说明
通过本文的学习,我们不仅掌握了如何使用Bash脚本来清除日志文件的基本方法,还深入了解了特殊文件`/dev/null`和`/dev/zero`的功能及应用场景。这些知识不仅有助于日常的工作效率提升,也是深入探索Bash脚本编程的...
* /dev/null:无限数据接收设备,相当于黑洞 * /dev/zero:无限零资源 * /dev/tty[0-63]:虚拟终端 * /dev/ttyS[0-3]:串口 * /dev/lp[0-3]:并口 * /dev/console:控制台 * /dev/fb[0-31]:framebuffer * /dev/...
- /dev/null:黑洞设备,所有写入的数据都会被丢弃,读取时返回空数据。 - /dev/zero:零设备,提供无限的零字节流。 - /dev/core:旧版设备,已由/proc/kcore替代,用于获取进程核心转储。 4. 随机数生成器 - ...
- `/dev/null` 是一个空设备,写入的数据会被丢弃,读取时始终返回文件结束符(EOF)。 - `/dev/zero` 提供无穷的零字节流,只可读取。 - `/dev/full` 是一个模拟满设备,任何写入操作都会失败,设置 `errno` 为 `...
`/dev/null`是一个特殊的字符设备,它丢弃所有写入的数据,并在读取时始终返回文件结束符(EOF)。`/dev/zero`则是一个无限提供零字节的源。块设备中,`/dev/ram0`到`/dev/ram200`代表RAM磁盘,可以在系统启动时使用...
在Windows中,主要以盘符(如C盘、D盘)及分区来管理文件,目录则次之,用户文件放置在不同的目录下较为自由,所以Windows系统使用一段时间后,文件目录可能会变得杂乱无章。相反,Linux系统以目录为主,采用了树形...
- **/dev/null**:空设备,任何写入操作都会被忽略,读取时返回EOF(End Of File)。 - **/dev/zero**:零字节源,只提供无穷的零字节。 - **/dev/full**:满设备,任何写入操作都会失败,设置errno为enospc(表示...
本文将详细介绍Linux dev目录下的一些常见特殊设备,包括loop、null、zero、full、random等设备的功能及其应用场景。 #### 一、设备分类 在Linux系统中,根据硬件设备的特点,可以将其分为三类: 1. **字符型设备...
在 Linux 系统中,`/dev/null` 和 `/dev/tty` 都是特殊的设备文件,它们具有不同的用途和特性。 - **`/dev/null`**:通常用于丢弃不需要的数据或重定向不需要的输出。 - **`/dev/tty`**:代表当前终端(或终端仿真...
- `/dev/null`:消耗所有输入,无需存储,常用于丢弃无用数据。 - `/dev/zero`:无限提供零字节,用于填充或初始化文件。 - `/dev/random` 和 `/dev/urandom`:提供随机数,前者更安全但可能延迟,后者更快但非真...
同样,用`of=/dev/null`可以测量读取速度。 接下来是`cpio`命令,它主要用于文件系统的备份和恢复。`cpio`可以创建归档文件,包含指定目录或文件的所有内容。配合`find`命令,可以方便地备份特定路径下的所有文件和...
2. **/dev**:设备特殊文件的存放地,Linux将硬件设备视为文件来处理,例如/dev/null、/dev/zero、/dev/sda(硬盘)和/dev/tty(终端)等。 3. **/etc**:系统配置文件的集中地,如网络配置(/etc/network/...
`/dev/null` 的主要用途之一是作为输出清理工具。在命令行操作中,标准输出(stdout)和标准错误输出(stderr)通常会显示在终端上。然而,有时我们不希望看到某些命令的输出,尤其是当它们包含大量无用信息时,如...
例如,硬盘(/dev/sda)、控制台(/dev/console)、IDE设备(/dev/hd)、SATA、USB、SCSI设备(/dev/sd)、软驱(/dev/fd)、虚拟控制台(/dev/tty)、远程虚拟控制台设备(/dev/pty)以及"黑洞"设备(/dev/null)。 4. **/etc**:...
重要的设备文件包括`/dev/null`, `/dev/tty[1-6]`, `/dev/ttyS*`, `/dev/lp*`, `/dev/hd*`, `/dev/sd*`等。 6. **/etc**: 这里存放系统的主要配置文件,如用户账号密码、服务启动脚本等。文件通常是ASCII纯文本格式...
例如,/dev/null、/dev/zero和/dev/tty等。 8. **/tmp**:临时文件存储区域,任何程序都可以在此创建临时文件,但重启后这些文件会被清除。建议大型应用使用/var/tmp,因为它可能有更多的磁盘空间。 9. **/boot**...
- **注释**:第二行通常用于注释脚本名称,第三行及之后可以添加关于脚本功能的注释。 - **脚本内容**:从第四行开始编写实际的脚本内容。 - **执行权限**:通过 `chmod u+x ScriptName` 命令为脚本添加执行权限。 -...