Jak skompresować katalog


21

Co jakiś czas niektóre aplikacje działają dziko i zapełniają katalog ogromną ilością plików. Po naprawieniu błędu i wyczyszczeniu plików katalog pozostaje duży (> 50 MB), mimo że zawiera tylko 20-30 plików.

Czy jest jakieś polecenie, które kompaktuje katalog bez konieczności jego ponownego tworzenia?

Punkty bonusowe: czy ogromny pusty katalog wpływa na wydajność dostępu do tego katalogu? Zakładam, że tak, ale może nie warto się tym przejmować. Wydaje się, że lsw takim katalogu jest to wolniejsze .


Nie sądzę, żeby coś takiego istniało (ale oczywiście mogę się całkowicie mylić). Być może jednak niektóre narzędzia specyficzne dla systemu plików - jakiego FS używasz?
Mat

ext3, ale widziałem ten problem na większości systemów plików, z którymi miałem do czynienia w świecie unix. Nie sądzę też, aby istniało takie narzędzie, ale chciałbym się dowieść, że się mylę.
Mathieu Longtin

4
Oznacziłem twoje pytanie jako „ext3”, ponieważ pytanie to jest bardzo specyficzne dla systemu plików. Nie znam odpowiedzi na ext3 (podejrzewam, że musisz ponownie utworzyć katalog, aby go zmniejszyć), ale czy próbowałeś wymusić fsck? ext3 fsckma przepustkę „Katalog optymalizacji”. Nie wiem co to robi, ale może zmniejsza katalogi, które są zbyt duże? W każdym razie, jako punkt danych FWIW, xfs autoshrink kataloguje, z których usunięto pliki.
Celada

Czy przypadkiem usunąłeś otwarte pliki?
Karlson

1
ufs na BSD i Mac HFS oba zmniejszają katalogi w locie. Jestem zaskoczony, gdy dowiedziałem się, że ext3 nie. Wydaje się, że ext4 też tego nie robi.
Kyle Jones

Odpowiedzi:


10

Uruchomić e2fsck -Dna nieoprawione plików.


1
Miałem nadzieję na coś mniej szkodliwego.
Mathieu Longtin

1
@MathieuLongtin, możesz także przenieść wszystko do nowego katalogu, usunąć stary i zmienić nazwę nowego z powrotem.
psusi

Wiedziałem o tej sztuczce, ale może zepsuć procesy, używając katalogu jako bieżącego katalogu roboczego.
Mathieu Longtin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.