동일한 이름의 폴더와 파일을 가질 수 없는 이유는 무엇입니까?

동일한 이름의 폴더와 파일을 가질 수 없는 이유는 무엇입니까?

이전에는 이런 문제가 발생하지 않았지만 어떤 이유로 폴더 이름을 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')

운영 체제는 참 또는 거짓으로 대답해야 합니까?

관련 정보