이 빈 디렉토리가 3.5MB 인 이유는 무엇입니까?


16

방금이 질문을 읽었습니다. 'ls -l'명령의 출력에서 ​​디렉토리의 크기는 무엇을 의미합니까?

... 내 질문에 대답하지 않습니다. 기본적으로 파일을 NAS로 옮깁니다. 이미 이동 한 폴더는 완전히 비어 있으며 숨겨진 파일이나 기타 항목이 없으며 du여전히 3.5MB 크기를보고합니다. 분명히, 그들은 이전에 긴 파일 이름을 가진 많은 수의 파일을 포함했습니다.

이 크기는 단순히 해당 디렉토리에있는 파일의 수량과 이름 길이 때문입니까? 폴더가 비어있어 (ext4 파일 시스템) 크기가 줄어들지 않은 이유는 무엇입니까?


1
du는 사람과 다르게 생각하는 경향이 있으며 일부 파일 시스템 설정에 따라 보고서를 제공합니다. : 당신은 여기에 '--apparent 크기'로 확인하실 수 있습니다 gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson

새로 생성 된 빈 디렉토리를 NAS에 복사 할 때 크기가 어떻게보고됩니까? 예를 들어 tune2fs를 실행할 수있는 NAS에 액세스 할 수 있습니까?
slm

스냅 샷을 설명했습니까?
mdpc

@ slm-보통 4096 (바이트?) 크기로 나옵니다.
shearn89

@mdpc-스냅 샷?
shearn89

답변:


16

디렉토리에서 모든 파일을 삭제하면 대부분의 파일 시스템에서 디렉토리의 크기는 동일하게 유지됩니다.

디렉토리가 비어 있으면

rmdir ./directory_name; mkdir ./directory

결과 새 디렉토리는 더 작아집니다. 그러나 파일이 추가되면 더 커집니다. 단일 디렉토리에있는 파일 수만큼 디렉토리 파일 크기에 대해 걱정하지 마십시오. 단일 디렉토리에있는 수많은 파일은 파일 조회 성능에 부정적인 영향을 미칩니다. 충분한 inode 캐싱을 사용하는 경우에도 마찬가지입니다.


4
하나의 디렉토리에있는 많은 파일은 실제로 ext 파일 시스템에만 중요합니다. xfs, btrfs, reiser 등과 같은 다른 것들은 같은 문제가 없습니다.
Patrick

2
맞아요. 그러나 ufs는 다른 사람들처럼 문제가 있습니다. 이 질문은 엄격히 ext4이지만 문제는 어디에나 있기 때문에 언급했습니다.
jim mcnamara

을하고 -을 제외하고 디렉터리에 너무 많은 파일을 넣어 성능 문제에서 다른 문제가 발생할 수 rm *는 1024 명 이상의 파일이있는 경우 문제가 발생할 수 있습니다.
Sean McSomething

@SeanMcSomething 무슨 문제인가요?
Hatshepsut

1
@SeanMcSomething 나는 당신이 어디 에서이 쓰레기를 얻었는지 전혀 모른다. 프로세스의 명령 행은 0.5MB 이상일 수 있습니다. 파일 수와는 아무런 관련이 없으며 명령 줄의 총 크기에는 한계가 있습니다.
peterh-복 직원 모니카
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.