화장실은 차이점을 보여줍니다

화장실은 차이점을 보여줍니다

다음과 같이 2개의 디렉토리가 있습니다.

/appl/exe/04/dat>ls -alrt
total 290
drwxrwxr-x  30 exceed   exceed      1024 Jun 11 09:04 ..
drwxrwxrwx   2 exceed   exceed    138240 Aug 17 03:56 .

/appl/exe/13/dat>ls -alrt
total 18
drwxrwxr-x  28 exceed   exceed      1024 Jul  6 13:12 ..
drwxrwxrwx   2 exceed   exceed      7680 Aug 16 20:46 .

화장실은 왜 차이를 보일까요? 무슨 뜻이에요?

wc -l /appl/exe/04/dat -> 다음 출력을 표시합니다.

   4 /appl/exe/04/dat

wc -l /appl/exe/13/dat -> 다음 출력을 표시합니다.

   0 /appl/exe/13/dat

답변1

먼저, 실행 중이라는 점에 유의하세요 wc -l.목차. 이 명령은 텍스트 파일의 줄 수를 계산하는 데 사용됩니다. 따라서 wc는 기본적으로 파일 시스템이 디렉토리를 표시하기 위해 사용하는 내부 바이너리 형식을 살펴보고 0x0a 바이트의 발생 횟수를 세는데, 이는 아마도 유용한 정보를 제공하지 못할 것입니다.

즉, 두 디렉터리가 모두 비어 있더라도 크기가 04/dat훨씬 크다는 점에 유의하세요. 이는 한때 많은 파일이 포함되어 있었지만 이후 삭제되었음을 의미합니다. 그러나 파일을 삭제해도 디렉터리 블록의 모든 추적이 삭제되지는 않습니다. 파일 시스템에 따라 inode를 0으로 설정하거나 디렉터리 항목을 블록의 이전 항목에 병합할 수도 있습니다.

따라서 기본적으로 한 디렉터리에는 다른 디렉터리보다 훨씬 더 많은 CRUD가 남아 있으므로 더 많은 CRUD에 더 많은 줄 바꿈(바이트 0xa)이 포함되는 것은 놀라운 일이 아닙니다. 이 바이트는 파일 이름의 일부일 필요는 없으며 숫자의 일부일 수도 있습니다.

관련 정보