2.5.5.2 特殊文件:/dev/null 与 /dev/tty
2024-08-29 21:51:31
UNIX 系统提供了两个对Shell编程特别有用的特殊文件。
第一个文件 /dev/null ,就是大家所熟知的位桶(bit bucket)。传送到此文件的数据都会被丢掉。换句话说,当程序将数据写入到此文件时,会认为它已经完成写入数据的操作,而实际上什么事都没做。如果需要的是命令的退出状态,而非它的输出,此功能会很有用。
例如,测试一个文件是否包含某个模式(pattern):
if grep pattern myfile > /dev/null
then
... 找到pattern时需要做的操作
else
... 未找到pattern时需要做的操作
fi
[many@avention test]$ cat 6.txt
fdsv
[many@avention test]$ if grep a 6.txt > /dev/null
> then
> echo "a in 6.txt"
> else
> echo "a not in 6.txt"
> fi
a not in 6.txt
相对地,读取 /dev/null 则会立即返回文件结束符号(end-of-file)。读取 /dev/null的操作很少会出现在Shell程序里。
另一个特殊文件为 /dev/tty 。当程序打开此文件时,UNIX会自动将它重定向到一个终端 【一个实体的控制台(console)或串行端口(serial port),也可能是一个通过网络与窗口登录的伪终端(pseudoterminal)】再与程序结合。这在程序必须读取人工输入(如用户名、密码等)特别有用。
最新文章
- ORACLE查看补丁出现“OPatch failed with error code 1”
- 重新注册IIS
- 使用Axis2建立WebService
- AXIS最佳实践
- MySQL(三) 数据库表的查询操作【重要】
- UVALive 5066 Fire Drill --BFS+DP
- 后缀数组 POJ 3974 Palindrome &;&; URAL 1297 Palindrome
- 多版本Python管理及Python连接MySQL
- C#实现微信公众号群发消息(解决一天只能发一次的限制)
- 不同tomcat配置不同的jdk
- poj3415
- DSL简介(转)
- LeetCode之Sort List
- Apache 的常见问题
- python基础教程第二版 第一章
- OSX: Scripts,让BootCamp在不论什么Mac上支持生成Windows7的USB安装盘
- sqlserver一些对象的创建
- [转]【docker】CMD ENTRYPOINT 区别
- java知识点3
- js 一些方法