为什么我不能拥有同名的文件夹和文件?

为什么我不能拥有同名的文件夹和文件?

我以前从未遇到过这个问题,但由于某种原因,我无法将文件夹重命名为packages/.

这是结构:

root
  -  packages_old/
  -  packages

当我尝试使用 Thunar 重​​命名文件夹时,收到一条错误消息,指出该文件已存在。与mv:相同

blender iso $ mv packages_old/ packages/
mv: accessing `packages/': Not a directory

为什么我无法将文件和文件夹重命名为相同的名称:

root
  -  packages/
  -  packages

发誓我以前做过这个。

答案1

在 Unix 中,几乎所有东西都是文件。目录是一种特殊类型的文件,从用户的角度来看,它可以“包含”其他文件。

出现该错误的Not a directory原因是您现有的文件不是目录,而目录是文件的一种类型,一个目录中不能有两个同名的文件,因此无法执行该操作。

答案2

因为如果你能够做这样的事情,那么当我尝试迭代目录中的文件时,像我这样的程序员的生活将会很痛苦。

对于以下伪代码:

isDir('/path/to/same_file_and_folder_name')

操作系统应该回答 true 还是 false?

相关内容