중첩 될 수있는 디렉토리는 몇 개입니까?


13

궁금합니다. 몇 개의 폴더를 중첩 할 수 있으며 그 이유는 무엇입니까? 한도가 있습니까?

중첩이 의미하는 것은 폴더 가이 구조에있을 때입니다.

folder
 |_ folder
     |_ folder
         |_ folder
             |_ ...

이건 아니야:

folder
 |_ folder
 |_ folder
 |_ folder
 |_ ...

제한이있는 경우 운영 체제 또는 파일 시스템에 의해 설정됩니까?

답변:


20

inode일반 파일과 같은 디렉토리는 각각 inode를 사용하므로 한계는 파티션 의 수입니다 .

다른 디렉토리 안의 디렉토리 안에 디렉토리를 만드는 것을 막을 수있는 것은 없습니다 inode.

쉘의 명령 행은 최대 길이를 가지므로 실제로 긴 경로에 문제가 발생할 수 있지만 cd대상 파일을 향해 점진적으로 진행할 수 있습니다 .


2
실제로, 실험에 의해 이것은 무엇 mkdir -p을하고 초과 할 수 있습니다 MAX_PATH. 이러한 파일은 정식 경로로 열 수 없지만 문제없이 만들 수 있습니다.
DepressedDaniel

1
사실 꽤 논리적입니다. 상대 경로는 현재 작업 디렉토리 인 inode에서 시작합니다. inode는 계층 적으로 배열되지 않습니다. 이름 계층에 깊이 링크 된 디렉토리와 파일 시스템의 루트 디렉토리 사이에는 차이가 없습니다.
Johan Myréen

3
@JuliePelletier POSIX (및 Linux) API는 명령 줄의 최대 길이보다 훨씬 짧은 최대 PATH_MAX (Linux의 경우 4096)를 정의합니다. 그리고 우리가 nitpicking하는 동안 : 최대 명령 줄은 실제로 쉘 제한이 아닙니다. execve시스템 호출 에 대한 인수 벡터 길이에 의해 제한이 적용되므로 모든 프로그램에 적용됩니다.
Johan Myréen

1
@ JohanMyréen : 이것들은 좋은 관찰이지만 내 요점은 그것이 얼마나 깊어도 상대적으로 여전히 액세스 할 수 있다는 것입니다.
Julie Pelletier

2
@Arin 사용해보십시오 df -i.
Johan Myréen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.