디렉토리를 압축하는 방법


21

때때로 일부 응용 프로그램은 야생으로 실행되며 디렉토리에 엄청난 양의 파일이 채워집니다. 버그를 수정하고 파일을 정리하면 디렉토리에 파일이 20-30 개만 있어도 디렉토리는 큰 크기 (> 50MB)로 유지됩니다.

디렉토리를 다시 만들지 않고 압축하는 명령이 있습니까?

보너스 포인트 : 거대한 빈 디렉토리가 해당 디렉토리의 액세스 성능에 영향을 줍니까? 나는 그것을 가정하고 있지만 귀찮게 할 가치가 없을 것입니다. ls이러한 디렉토리 에서 수행 하는 것이 더 느린 것 같습니다 .


나는 그런 것이 없다고 생각합니다 (그러나 물론 완전히 틀릴 수 있습니다). 어쩌면 일부 파일 시스템 관련 도구-어떤 FS를 사용하고 있습니까?
Mat

ext3, 그러나 나는 유닉스 세계에서 내가 다루었던 대부분의 파일 시스템에서 그 문제를 보았다. 나는 그러한 도구가 있다고 생각하지 않지만 잘못 입증되고 싶습니다.
Mathieu Longtin

4
이 질문은 파일 시스템에 따라 다르므로 질문에 "ext3"을 태그했습니다. 나는 ext3에 대한 답을 모른다 fsck. ext3 fsck에는 "최적화 디렉토리"패스가 있습니다. 나는 그것이 무엇을하는지 모르지만 어쩌면 너무 큰 디렉토리를 축소시킬 수 있습니까? 어쨌든, 데이터 포인트 FWIW로서, xfs는 파일이 제거 된 디렉토리를 자동 축소합니다.
Celada

우연히 열린 파일을 삭제 했습니까?
Karlson

1
BSD 및 Mac HFS의 ufs는 디렉토리를 즉시 축소합니다. ext3이 그렇지 않다는 사실에 놀랐습니다. ext4도 그렇게하지 않는 것 같습니다.
Kyle Jones

답변:


10

e2fsck -D마운트 해제 된 파일 시스템에서 실행 합니다.


1
나는 덜 파괴적인 것을 원했습니다.
Mathieu Longtin

1
@MathieuLongtin, 모든 것을 새 디렉토리로 옮기고 이전 디렉토리를 삭제하고 새 디렉토리의 이름을 바꿀 수 있습니다.
psusi

그 트릭에 대해 알고 있었지만 디렉토리를 현재 작업 디렉토리로 사용하여 프로세스를 망칠 수 있습니다.
Mathieu Longtin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.