文件系统中的文件名

文件系统中的文件名

我有一个关于 Unix 中文件系统的奇怪问题。为什么同一目录下的两个文件不能使用相同的名称?

是否可以使用 ID 来区分具有相似名称的不同文件?

答案1

这样想:一个文件的姓名是一个唯一的人类可读标识符,用于明确引用命令中的文件。

现代 shell 能够理解相对路径,但是想想名字作为父目录的完整路径+文件名。

您应该问自己的真正问题是:使文件的唯一标识符不可读有什么好处吗?

答案2

将文件之间的歧义从文件名转移到 ID 没有任何帮助。我们所说的名字现在是ID,没问题!当然,除非您的文件名不再README92847109387477474.

答案3

没有文件系统(据我所知)允许一个人有两个同名的文件,如果其中任何一个文件这样做,许多应用程序都会被破坏或带来安全隐患。

如果您有 2 个同名文件,则会产生歧义:即使它们具有相同的文件名但不同的 ID,您如何告诉应用程序要引用哪个文件(可以完成此“按 ID 打开文件”,但会要求深刻的变化许多应用程序、库等...)?

相关内容