ls -ld /dir, Solaris [중복]

ls -ld /dir, Solaris [중복]

출력을 실행하면 ls -ld /dir파일이 있는지 여부에 관계없이 항상 크기 = 512가 제공됩니다.

그러나 출력을 실행하면 du -sh디렉토리의 실제 크기(내용 포함)가 표시됩니다.

답변1

실제로, 파일이 많은 디렉토리가 있으면 더 큰 숫자를 얻게 됩니다. 새 디렉토리에 10000개의 빈 파일을 생성하면 숫자는 4096에서 262144로 변경됩니다.

시작 크기는 파일 시스템이 생성될 때 지정된 파일 시스템 및 블록 크기에 따라 달라집니다. 이는 디렉터리의 파일이 보유하는 데이터의 양이 아니라 디렉터리(그 안에 포함된 파일 및 디렉터리에 대해)가 보유하는 메타데이터의 양을 나타냅니다.

비교: 10,000개의 빈 파일이 포함된 디렉터리

 ls -ld . --> 262144
 du -sh . --> 260K

10,000개의 파일이 포함된 디렉터리(각각 100,000바이트):

 ls -ld . --> 262144
 du -sh . --> 977M

두 파일 세트 모두 동일한 메타데이터 크기를 갖습니다(정확히 동일한 이름도 가짐).

관련 정보