关于Linux/Unix系统的设计思想:没有消息就是最好的消息
来源:互联网 发布:淘宝麻辣烫底料 编辑:程序博客网 时间:2024/05/29 14:12
在使用Unix系统时
假如该目录为空
那么输入ls命令,它只会返回命令提示符
[hacker4444@localhost /]$ ls[hacker4444@localhost /]$
很多人不明白,空目录为什么不能这样显示呢?
[hacker4444@localhost /]$ ls[hacker4444@localhost /]$ DIRECTORY : NO FILES FOUND
前者告诉了你:“房间是黑的”
而后者告诉你:“房间里没有任何光线”
这其中存在的差异十分微妙,然而,这个微妙差异却很重要。
那么,在没有数据返回时,命令仍安静运行到底有什么好处呢?
一方面,屏幕上只会包含有效数据,而不是充斥着杂乱的注释,他们几乎传递不了什么有用的信息;
另一方面,一个更具技术性的原因,大多数Unix命令经常被当做过滤器配合Unix管道机制一起使用。
例如:
[hacker4444@localhost /]$ ls -l | awk '{print $4}' | sort
管道“|”将ls命令的输出传递给awk命令作为输入,而“'{print $4}'”则让awk命令只打印ls每一行文本输出结果的第4个字段,并丢弃其余部分
系统将此字段传递给sort命令,它会对输出结果按字母顺序进行排序
通常情况下,该目录包含多个文件时,一切显示很正常,但当该目录为空时会出现什么情况呢?
由于ls命令没有输出,管道便断裂了,awk的进一步加工和排序动作不会发生
但如果ls输出一条像“DIRECTORY : NO FILES FOUND”(目录中没有发现任何文件)的信息并传入管道,这会导致一系列用户并不期望的结果发生。
也许ls不明确发出警告提示的行为并不算不上“用户友好”,但它的设计主旨在于既告诉用户目录为空,同时也能让ls命令用得上管道机制。
0 0
- 关于Linux/Unix系统的设计思想:没有消息就是最好的消息
- 关于linux系统消息队列的问题
- 分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章
- 分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章
- 分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章 .
- 分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章
- 消息系统的改进设计
- 消息推送系统的设计
- [文摘20070913]最好的消息
- 没有UI就是最好的UI
- linux关于消息队列中消息的大小的限制
- 网站的消息通知系统设计漫谈
- 关于消息协议的包头设计
- [架构设计]关于消息队列的使用
- 数据库设计---合适的就是最好的
- 关于系统消息定制的tCODE列表
- 关于系统消息定制的tCODE列表
- 关于系统消息定制的tCODE列表
- 备份
- CocoaPods安装和使用教程
- CoreData之条件查询 contains
- DWZ富客户端框架 api
- Java安全通信:HTTPS与SSL
- 关于Linux/Unix系统的设计思想:没有消息就是最好的消息
- N的阶乘(N!)中的末尾有多少个0?
- as导入eclipse的萌萌哒
- HDU 3308 LCIS(区间合并 + 单点更新)
- 22次会战,你们省有几个?
- C ++的this指针
- [Leetcode]Symmetric Tree
- Gulp--Less
- Libev使用