Unix系统的使用困境与编程环境剖析
1. Unix的管道和文件重定向问题
在Unix系统中,管道和文件重定向的表现有时令人困惑。例如,有用户反馈xtpanel命令在使用文件重定向<和管道|时,会出现不同的结果。使用xtpanel -file xtpanel.out < .login时,会出现“unmatched braces”的错误提示,而使用cat .login | xtpanel -file xtpanel.out却能正常执行。这表明一些程序会特意让管道和文件重定向表现出差异。
2. Unix的文件查找工具find
在大型分层文件系统中,丢失文件是常见的情况。为解决这一问题,计算机系统提供了文件查找程序。苹果Macintosh和微软Windows的文件定位器功能强大、易于使用且非常可靠,而Unix的find程序则存在诸多问题。
- 设计初衷与适应性问题:
find最初是为配合cpio(Unix备份实用程序)而设计,没有考虑到网络和文件系统的增强功能,如符号链接。尽管经过大量修改,它在处理这些方面仍然表现不佳。 - 符号链接处理问题:
csh会跟随符号链接,而find不会