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

Ble*_*der 26 directory filenames rename files

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

这是结构:

root
  -  packages_old/
  -  packages
Run Code Online (Sandbox Code Playgroud)

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

blender iso $ mv packages_old/ packages/
mv: accessing `packages/': Not a directory
Run Code Online (Sandbox Code Playgroud)

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

root
  -  packages/
  -  packages
Run Code Online (Sandbox Code Playgroud)

发誓我以前做过这件事。

Chr*_*own 40

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

Not a directory出现这个错误是因为你现有的文件不是目录,由于目录是一种文件,一个目录下不能有两个同名文件,所以无法进行操作。

  • 至于你的内存问题,可能以前你的文件和目录同名但大小写不同,比如“package”和“Package”。文件名区分大小写,这样就可以了。 (6认同)

Sco*_*ang 5

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

对于以下伪代码:

isDir('/path/to/same_file_and_folder_name')
Run Code Online (Sandbox Code Playgroud)

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

  • isAlive("[薛定谔的猫](http://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat)") :-) (5认同)
  • @G-Man 类型预期布尔值,得到对象(承诺)。 (3认同)