Android

Finn store filer i Linux

Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Innholdsfortegnelse:

Anonim

Over tid kan diskstasjonen bli rotete med mange unødvendige filer som tar store mengder diskplass. Vanligvis har Linux-systemer tom for diskplass på grunn av store logg- eller sikkerhetskopifiler.

Denne opplæringen forklarer hvordan du finner de største filene og katalogene i Linux-systemer ved hjelp av kommandoene find og du .

Finn store filer ved hjelp av finnkommandoen

find kommandoen er et av de kraftigste verktøyene i Linux-systemadministratorens arsenal. Det lar deg søke etter filer og kataloger basert på forskjellige kriterier inkludert filstørrelse.

Hvis du for eksempel vil søke etter filer med en størrelse som er større enn 100MB, vil du bruke følgende kommando i den gjeldende arbeidskatalogen:

sudo find. -xdev -type f -size +100M Bytt ut . med banen til katalogen der du vil søke etter de største filene.

Utgangen vil vise en liste over filer uten ytterligere informasjon.

/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

find kommandoen kan også brukes i kombinasjon med andre verktøy som ls eller sort å utføre operasjoner på disse filene.

I eksemplet nedenfor sender vi utdataene fra finnkommandoen til ls som vil skrive ut størrelsen på hver funnet fil og deretter rør den som sendes ut til sort å sortere den basert på den femte kolonnen som er filstørrelsen.

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

Utgangen vil se slik ut:

-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

Hvis utdataene inneholder mange informasjonslinjer, kan du bruke hodekommandoen til å skrive ut bare de første 10 linjene:

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

La oss bryte ned kommandoen:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - bare søk etter filer ( -type f ) i gjeldende arbeidskatalog ( . ), større enn 100MB ( -size +100M ), ikke nedkataloger på andre filsystemer ( -xdev ) og skriv ut hele filnavnet på standardutgangen, etterfulgt av en ny linje ( -print ). xargs ls -lh - utdataene fra find kommandoen føres til xargs som utfører ls -lh kommandoen som vil skrive ut utdataene i lang liste over menneskelig lesbart format. sort -k5, 5 -h -r - sorteringslinjer basert på 5. kolonne ( -k5, 5 ), sammenlign verdiene i menneskelig lesbart format ( -h ) og snu resultatet ( -r ). head : skriver bare ut de første 10 linjene i rørutgangen.

Finnkommandoen kommer med mange kraftige alternativer. Du kan for eksempel søke etter store filer som er eldre enn x dager, store filer med en bestemt utvidelse eller store filer som tilhører en bestemt bruker.

Finn store filer og kataloger ved å bruke kommandoen

du kommandoen brukes til å estimere bruken av filområdet, og den er spesielt nyttig for å finne kataloger og filer som bruker store mengder diskplass.

Følgende kommando skriver ut de største filene og katalogene:

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

Den første kolonnen inkluderer filstørrelsen og den andre filnavnet:

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

Forklaring av kommandoen:

  • du -ahx. : estimer bruken av diskplass i gjeldende arbeidskatalog ( . ), tell både filer og kataloger ( a ), utskriftsstørrelser i et menneskelig lesbart format ( h ) og hopp over kataloger på forskjellige filsystemer ( x ). sort -rh : sorter linjer ved å sammenligne verdier i menneskelig lesbart format ( -h ) og snu resultatet ( -r ). head -5 : skriver bare ut de første fem linjene i rørutgangen.

du kommandoen inneholder andre alternativer som du kan bruke til å avgrense utdataene fra diskplassbruken.

Konklusjon

Å finne store filer er veldig nyttig når disken er full og du vil frigjøre den.

Nå som du har funnet de største filene på systemet ditt, kan det være lurt å lese guiden vår om hvordan du fjerner filer og kataloger ved å bruke Linux-kommandolinjen.

finn diskterminal