Hoe de mapgrootte te controleren vanaf de Linux-opdrachtregel?

0
86

Hoewel het Linux-commando ls de grootte van bestanden kan weergeven, doet het dat niet 8217;t werkt niet goed met mappen, die altijd worden weergegeven als 4096 bytes. U moet de opdracht du gebruiken om terug te keren naar submappen en een totaal af te drukken.

De du Command gebruiken

De beste vervanging voor ls is om du met een paar vlaggen te gebruiken:

du -had 1

De -h flag staat voor “human readable,” en formatteert de formaten voor u in KB, MB en GB in plaats van u een rekenmachine te laten ophalen.

De -a flag is “all,” en zal zowel individuele bestanden als mappen bevatten, waardoor het handig is om de manier waarop ls werkt na te bootsen.

De vlag -d 1 is een limiet voor hoe diep du de resultaten zal afdrukken. Standaard is het geconfigureerd om elke afzonderlijke submap af te drukken, wat lastig kan zijn als je veel geneste bestanden hebt. De vlag -d zal ze allemaal optellen en het totaal afdrukken voor elke zichtbare map van waaruit u de opdracht uitvoert.

Advertentie

Als u liever elke map vermeldt, kunt u de opdracht uitvoeren met de –apparent-size vlag, die de totale grootte van elke submap zal weergeven alsof u met de rechtermuisknop op > Eigenschappen in je bestandsverkenner.

Dit is echter allemaal door elkaar gegooid, dus als je de grootste mappen in de huidige map wilt zien, kun je de uitvoer naar het sort-commando pipen. Zorg ervoor dat u ook de vlag -h gebruikt, anders beschouwt sort 128 MB als een groter aantal dan 1 GB.

du -had 1 | sort -rh

Du gebruikt standaard de huidige directory, maar u kunt zich ook richten op specifieke directory's. Geef de locatie gewoon door als laatste argument.

du -had 1 ./world/

De grootste mappen op uw server vinden

Een veelvoorkomende taak op Linux is het debuggen van grote hoeveelheden schijfgebruik. Als u het totale gebruik voor elke schijf wilt zien, kunt u df -h gebruiken, of een controletool installeren zoals blikken, die het duidelijker laat zien:

Dit gaat echter niet dieper in mappen en zal de oorzaak van het probleem niet vinden. Daarvoor kun je du gebruiken, maar verwijder de vlag -d 1 zodat elke directory wordt doorzocht. Richt het op root, sorteer het en filter op de top 25 mappen zodat je scherm niet overloopt.

du -ah/| sorteer -rh | head -n 25

Hierdoor kunnen enkele fouten worden afgedrukt voor bestanden die kan geen toegang krijgen tot; zorg ervoor dat je het uitvoert met sudo.