같은 이름의 폴더와 파일을 가질 수없는 이유는 무엇입니까? 문제가 발생한 적이 없지만

이전에이 문제가 발생한 적이 없지만 어떤 이유로 폴더 이름을로 바꿀 수 없습니다 packages/.

이것은 구조입니다 :

root
  -  packages_old/
  -  packages

Thunar로 폴더 이름을 바꾸려고하면 파일이 이미 존재한다는 오류 메시지가 나타납니다. 동일 mv:

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

파일과 폴더의 이름을 같은 이름으로 바꿀 수없는 이유는 무엇입니까?

root
  -  packages/
  -  packages

나는 맹세 내가 전에 이런 짓을했습니다.



답변

유닉스에서는 거의 모든 것이 파일입니다. 디렉토리는 사용자 관점에서 다른 파일을 “포함”할 수있는 특수한 유형의 파일입니다.

Not a directory기존 파일이 디렉토리가 아니고 디렉토리가 파일 유형이고 하나의 디렉토리에 동일한 이름의 파일이 두 개있을 수 없으므로 오류 가 발생합니다.


답변

당신이 그런 일을 할 수 있다면 디렉토리에있는 파일을 반복하려고 할 때 나와 같은 프로그래머에게는 인생이 비참 할 수 있기 때문입니다.

다음 의사 코드의 경우 :

isDir('/path/to/same_file_and_folder_name')

OS가 true 또는 false로 응답해야합니까?