举例来说:
cat /etc/passwd
为什么此文件没有诸如*.txt*
、*.dat*
等扩展名?或者扩展名存在,但被隐藏了?
这是否严格适用于类 Unix 系统?
答案1
没有扩展名。没有理由使用扩展名。这并非 Unix 独有。在 Unix 或 Windows 中,您不必使用文件扩展名。如果您双击该文件,Windows 将不知道如何处理它,但创建该文件的程序可能知道。
答案2
大多数(如果不是全部)旧式非 Unix 文件系统的文件名由(至少)两部分组成,即文件名本身及其扩展名。例如,FAT 使用固定长度结构(8.3),其中不存储分隔符点。这种结构在较新的 FAT 方案中仍然存在。Unix(据我所知)是第一个引入没有特定扩展存储或要求的文件名的操作系统。虽然在 Unix 下在某些情况下使用扩展名,例如源代码、对象、库、手册页等,但大多数 Unix 实用程序和应用程序并不关心并使用不同的启发式方法来确定文件类型。