Android

Vind grote bestanden in Linux

Bestanden en mappen in de CLI | Linux

Bestanden en mappen in de CLI | Linux

Inhoudsopgave:

Anonim

Na verloop van tijd kan uw schijfstation vol raken met veel onnodige bestanden die grote hoeveelheden schijfruimte in beslag nemen. Gewoonlijk hebben Linux-systemen onvoldoende schijfruimte vanwege grote log- of back-upbestanden.

In deze zelfstudie wordt uitgelegd hoe u de grootste bestanden en mappen in Linux-systemen kunt vinden met de opdrachten find en du .

Zoek grote bestanden met de opdracht Zoeken

De opdracht find is een van de krachtigste tools in het arsenaal van Linux-systeembeheerders. Hiermee kunt u naar bestanden en mappen zoeken op basis van verschillende criteria, waaronder de bestandsgrootte.

Als u bijvoorbeeld wilt zoeken naar bestanden met een grootte groter dan 100 MB, gebruikt u in de huidige werkmap de volgende opdracht:

sudo find. -xdev -type f -size +100M Vervangen . met het pad naar de map waar u naar de grootste bestanden wilt zoeken.

De uitvoer toont een lijst met bestanden zonder aanvullende informatie.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

De opdracht find kan ook worden gebruikt in combinatie met andere tools zoals ls of sort om bewerkingen op die bestanden uit te voeren.

In het onderstaande voorbeeld geven we de uitvoer van het zoekcommando door aan ls die de grootte van elk gevonden bestand zal afdrukken en vervolgens die uitvoer naar het sort zal leiden om het te sorteren op basis van de 5e kolom die de bestandsgrootte is.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

De uitvoer ziet er ongeveer zo uit:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Als de uitvoer veel regels informatie bevat, kunt u de opdracht head gebruiken om alleen de eerste 10 regels af te drukken:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Laten we het commando afbreken:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - zoek alleen naar bestanden ( -type f ) in de huidige werkmap ( . ), groter dan 100MB ( -size +100M ), laat geen mappen af ​​op andere bestandssystemen ( -xdev ) en druk de volledige bestandsnaam af op de standaarduitvoer, gevolgd door een nieuwe regel ( -print ). xargs ls -lh - de uitvoer van de opdracht find wordt xargs naar xargs die de opdracht ls -lh uitvoert waarmee de uitvoer wordt afgedrukt in een voor mensen leesbare indeling met een lange lijst. sort -k5, 5 -h -r - sorteer regels op basis van de 5e kolom ( -k5, 5 ), vergelijk de waarden in voor mensen leesbaar formaat ( -h ) en keer het resultaat om ( -r ). head : drukt alleen de eerste 10 regels van de leidinguitvoer af.

Het zoekcommando wordt geleverd met veel krachtige opties. U kunt bijvoorbeeld zoeken naar grote bestanden die ouder zijn dan x dagen, grote bestanden met een specifieke extensie of grote bestanden die tot een bepaalde gebruiker behoren.

Zoek grote bestanden en mappen met de opdracht du

De opdracht du wordt gebruikt om het gebruik van de bestandsruimte te schatten en is met name handig voor het vinden van mappen en bestanden die veel schijfruimte verbruiken.

Met de volgende opdracht worden de grootste bestanden en mappen afgedrukt:

du -ahx. | sort -rh | head -5

De eerste kolom bevat de grootte van het bestand en de tweede de bestandsnaam:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Uitleg van het commando:

  • du -ahx. : schat het gebruik van schijfruimte in de huidige werkmap ( . ), tel zowel bestanden als mappen ( a ), afdrukgrootten in een voor mensen leesbaar formaat ( h ) en sla mappen op verschillende bestandssystemen over ( x ). sort -rh : sorteer lijnen door waarden te vergelijken in voor mensen leesbaar formaat ( -h ) en keer het resultaat om ( -r ). head -5 : drukt alleen de eerste 5 regels van de leidinguitvoer af.

De opdracht du bevat andere opties die u kunt gebruiken om de uitvoer van het schijfgebruik te verfijnen.

Conclusie

Het vinden van grote bestanden is erg handig wanneer uw schijf vol is en u deze wilt vrijmaken.

Nu u de grootste bestanden op uw systeem hebt gevonden, wilt u misschien onze handleiding lezen over het verwijderen van bestanden en mappen met behulp van de Linux-opdrachtregel.

zoek schijfstation