我有一个关于 Unix 中文件系统的奇怪问题。为什么同一目录下的两个文件不能使用相同的名称?
是否可以使用 ID 来区分具有相似名称的不同文件?
答案1
这样想:一个文件的姓名是一个唯一的人类可读标识符,用于明确引用命令中的文件。
现代 shell 能够理解相对路径,但是想想名字作为父目录的完整路径+文件名。
您应该问自己的真正问题是:使文件的唯一标识符不可读有什么好处吗?
答案2
将文件之间的歧义从文件名转移到 ID 没有任何帮助。我们所说的名字现在是ID,没问题!当然,除非您的文件名不再README
是92847109387477474
.
答案3
没有文件系统(据我所知)允许一个人有两个同名的文件,如果其中任何一个文件这样做,许多应用程序都会被破坏或带来安全隐患。
如果您有 2 个同名文件,则会产生歧义:即使它们具有相同的文件名但不同的 ID,您如何告诉应用程序要引用哪个文件(可以完成此“按 ID 打开文件”,但会要求深刻的变化许多应用程序、库等...)?