Lær hvordan du bruker kommandoen finn i denne opplæringen fra våre arkiver.

Det går uten å si at alle gode Linux-skrivebordet miljø gir muligheten til å søke på fil systemet for å finne filer og mapper. Hvis din standard desktop ikke — fordi dette er Linux — du kan alltid installere en app for å gjøre søk filene i katalogen hierarki som en lek.

Men hva om kommandolinjen?, Hvis du tilfeldigvis ofte arbeider i kommandolinjen, eller du administrere GUI-mindre Linux-servere, hvor kan du vende deg til når du trenger å finne en fil? Heldigvis, Linux har akkurat det du trenger for å finne filer i spørsmålet, som er bygget rett inn i systemet.

– kommandoen i spørsmålet er å finne. For å gjøre forståelsen av denne kommandoen enda mer fristende, når du vet det, kan du begynne å jobbe det inn i Bash-skript. Det er ikke bare praktisk, det er kraft.,

La oss få opp til hastighet med finn-kommandoen, slik at du kan ta kontroll over å finne filer på din Linux-servere og stasjonære pc-er, uten at du trenger et GUI.

Hvordan å bruke kommandoen finn

Når jeg først skimtet Linux, tilbake i 1997, jeg forsto ikke helt hvordan finne kommandoen arbeidet, og derfor er det aldri så ut til å fungere som jeg forventet. Det virket enkelt; gi kommandoen finn FILNAVN (der FILNAVN er navnet på filen) og kommandoen var ment for å finne filen, og rapportere tilbake. Lite visste jeg at det var mer til kommando enn det. Mye mer.,

Hvis du gi kommandoen man finner, vil du se syntaksen for kommandoen finn er:

find 

Naturlig, hvis du ikke er kjent med hvordan mennesket fungerer, kan du bli forvirret om eller overveldet av at syntaks. For enkel forståelse, la oss forenkle det. Den mest grunnleggende syntaksen til en grunnleggende finne kommando vil se ut som dette:

find /path option filename

Nå skal vi se det på jobb.

Søk etter navn

La oss bryte ned det grunnleggende kommando for å gjøre det så klart som mulig., Den mest forenklede strukturen av finn-kommandoen bør inneholde en bane til filen som et alternativ, og filnavnet i seg selv. Du kan tenke, «Hvis jeg vet at banen til filen, hadde jeg allerede vet hvor du skal finne det!». Vel, banen til den filen, kan være roten av harddisken, slik at / ville være en legitim vei. Inn at så din vei ville ta lengre tid å finne prosessen — fordi det har å starte fra scratch, men hvis du har ingen anelse om hvor filen er, du kan starte fra det. I navnet på effektivitet, det er alltid best å ha minst en anelse om hvor du skal begynne å lete.,

neste bit av kommandoen er alternativet. Som med de fleste Linux-kommandoer, du har en rekke tilgjengelige alternativer. Men, vi starter fra begynnelsen, så la oss gjøre det enkelt. Fordi vi forsøker å finne en fil ved navn, vil vi bruke en av to valg:

  • navn – mellom store og små bokstaver

  • iname – mellom store og små bokstaver

Husk at Linux er veldig spesielt om saken, så hvis du leter etter en fil som heter Linux.odt, følgende kommando vil returnere noen resultater.,

find / -name linux.odt

Dersom, imidlertid, du var til å endre kommando ved å bruke-iname alternativet, finn-kommandoen ville finne din fil, uavhengig av sak. Så den nye kommandoen ser ut som:

find / -iname linux.odt

Søk etter type

Hva hvis du ikke er så opptatt med å finne en fil ved navn, men ville heller finne alle filer av en bestemt type?, Noen av de mer vanlige fil-beskrivelsene er:

  • f – vanlig fil

  • d – katalogen

  • l – symbolsk link

  • c – karakter enheter

  • b – blokkere enheter

Nå, la oss anta at du ønsker å finne alle blokkere enheter (en fil som refererer til en enhet) på systemet., Med hjelp av -type, kan vi gjøre det slik:

find / -type c

– kommandoen ovenfor ville resultere i ganske mye av utgang (mye av det indikerer permission denied), men ville inkludere output lik:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Nå! Blokkere enheter.

Vi kan bruke den samme muligheten til å hjelpe oss med å se for konfigurasjonsfiler. Si at du for eksempel vil finne alle vanlige filer som slutter i .conf extension., Denne kommandoen vil se omtrent slik ut:

find / -type f -name "*.conf"

– kommandoen ovenfor ville komme seg gjennom hele mappestrukturen for å finne alle vanlige filer som slutter på .conf. Hvis du vet de fleste av konfigurasjonsfilene ligger i /etc, kan du angi at slik:

find /etc -type f -name "*.conf”

– kommandoen ovenfor vil liste alle .conf-filene fra /etc (Figur 1).

Figur 1: Finne alle dine konfigurasjon filer i /etc.,

gi ut resultater til en fil

En virkelig hendig triks er å overføre resultatene av søket i en fil. Når du vet at utgang kan være omfattende, eller hvis du ønsker å gre gjennom resultatene senere, dette kan være utrolig nyttig. For dette, bruker vi samme eksemplet som over og rør resultatene inn i en fil som heter conf_search. Denne nye kommandoen vil da se slik ut:

find /etc -type f -name "*.conf” > conf_search

vil Du nå har en fil (conf_search) som inneholder alle resultatene fra kommandoen finn utstedt.,

søk etter filer etter størrelse

Nå får vi til et punkt der finn-kommandoen blir utrolig nyttig. Jeg har hatt tilfeller der stasjonære pc-er eller servere har funnet sine stasjoner på mystisk vis fylt. For å raskt gjøre plass (eller hjelper deg med å finne problemet), kan du bruke kommandoen finn for å finne filer av en viss størrelse. Si for eksempel at du vil gå til store og finne filer som er over 1000MB. Finn-kommandoen kan bli utstedt, med hjelp av -størrelse, for eksempel slik:

find / -size +1000MB

Du kan bli overrasket over hvor mange filer slå opp., Med output fra kommandoen, kan du gre gjennom katalogen struktur og frigjøre plass eller feilsøke for å finne ut hva som er på mystisk vis å fylle opp harddisken din.

Du kan søke med følgende størrelse beskrivelser:

  • c – byte

  • k – Kilobyte

  • M – Megabyte

  • G – Gigabyte

  • b – 512-byte blokker

Holde læring

Vi bare har skrapet overflaten av finn-kommandoen, men nå har en grunnleggende forståelse av hvordan å finne filer på din Linux-systemer., Sørg for å gi kommandoen man finne for å få en dypere og mer fullstendig, kunnskap om hvordan å gjøre dette kraftige verktøyet fungerer for deg.

Lære mer om Linux gjennom det gratis «Introduksjon til Linux» kurs fra Linux Foundation og edX.