web-dev-qa-db-ja.com

同じ名前のフォルダーとファイルを作成できないのはなぜですか?

これまでにこの問題が発生したことはありませんが、何らかの理由でフォルダの名前をpackages/に変更できません。

これは構造です:

root
  -  packages_old/
  -  packages

Thunarでフォルダの名前を変更しようとすると、ファイルが既に存在するというエラーメッセージが表示されます。 mvと同じ:

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

ファイルとフォルダーの名前を同じ名前に変更できないのはなぜですか。

root
  -  packages/
  -  packages

誓う私はこれを以前にやったことがある。

22
Blender

Unixでは、ほとんどすべてがファイルです。ディレクトリは、ユーザーの観点から他のファイルを「含む」ことができる特別なタイプのファイルです。

エラー Not a directoryは、既存のファイルがディレクトリではなく、ディレクトリはファイルの一種であり、1つのディレクトリに同じ名前のファイルを2つ含めることができないため、操作を実行できません。

36
Chris Down

あなたがそのようなことをすることができたなら、私がディレクトリのファイルを反復しようとするとき、私のようなプログラマーにとって人生は悲惨になるでしょう。

次の疑似コードの場合:

isDir('/path/to/same_file_and_folder_name')

OSはtrueまたはfalseで応答する必要がありますか?

2
Scott Yang