Hvordan bruke Find -kommandoen til å søke etter filer i Linux

Hvordan bruke Find -kommandoen til å søke etter filer i Linux

Det er tider når du vil ha tilgang til en bestemt fil, men ikke finner den på systemet ditt på grunn av mangel på mappeorganisasjon. Heldigvis gir Linux deg noen praktiske verktøy som lar deg enkelt søke etter filer på datamaskinen din.





Find -kommandoen er et slikt verktøy som kan brukes til å søke etter en fil ved å bruke filnavnet, tillatelsene, utvidelsen, størrelsen osv. Denne guiden forklarer Linux Find -kommandoen og gir noen eksempler som demonstrerer hvor kraftig dette verktøyet er.





Hva er Find -kommandoen?

Som navnet antyder, er finne kommandoen lar en bruker søke etter filer som er tilstede på den lokale lagringen. I motsetning til vanlige søkefunksjoner som finnes i Linux -filbehandlere, har kommandoen find flere funksjoner som kan filtrere filene i henhold til visse forhold.





Find -kommandoen gir også flere kriterier for å finne filer på en datamaskin. Du kan til og med bruke vanlige uttrykk for å matche en fils navn med et bestemt mønster.

Hvordan finne filer i Linux

Find -kommandoen har mange alternativer og funksjoner som filtrerer filene basert på de angitte forholdene.



Finn kommandosyntaks

Den grunnleggende syntaksen for finn -kommandoen er:

find [path] [options] [expression]

For eksempel vil følgende kommando søke etter tekstfiler i /hjem katalog.





find /home -type f -name '*.txt'

Husk at før du søker etter filer på lagringsplassen din, må du ha lesetillatelser for den aktuelle katalogen.

hvordan finne alle kontoer knyttet til en e -post

Søk etter filer etter navn

Den vanligste bruken av finn -kommandoen er å søke etter en fil ved navn. For å finne en fil med filnavnet, bruk -Navn flagg med standardkommandoen.





find /home -type f -name filename.txt

Kommandoen ovenfor vil søke etter en fil med navnet filnavn.txt i /hjem katalog. De -type f alternativet forteller systemet at vi leter etter en Fil .

Hvis du vil ignorere store og små bokstaver i filnavnet, må du erstatte -Navn alternativ med -Jeg navngir .

find /home -type f -iname FileName

Denne kommandoen finner en fil som har ett av følgende navn: Filnavn, filnavn, Filnavn, FiLename, etc.

Som alle andre Linux -kommandoer kan du bruke . (periode) for å spesifisere den relative banen til den nåværende katalogen også.

find . -type f -name filename.txt

På samme måte, / til /rot og ~ til /hjem kan også brukes.

Finn filer etter utvidelse

Å søke etter filer med en bestemt utvidelse kan hjelpe til med å begrense søkeresultatene. For å finne en fil i forlengelsen, bruk følgende vanlige uttrykk med -Navn og -Jeg navngir flagg.

find /home -type f -name '*.pdf'

Denne kommandoen viser en liste over alle filene som har .pdf Utvidelse. Vær oppmerksom på at du må unnslippe stjerne ( * ) karakter med enten sitater ( '' ) eller a bakover skråstrek ( ) slik at terminalen tolker det som et jokertegn.

Du kan også invertere kommandoen ovenfor ved å bruke -ikke flagg. Følgende kommando søker etter filer som ikke har .pdf Utvidelse.

find /home -type f -not -name '*.pdf'

Du kan til og med lede finn -kommandoen med andre Linux -kommandoer. For eksempel, for å endre modereringstillatelsene for hver fil som passer til betingelsen:

find /home - type f '*.pdf' -exec chmod -777 {} ;

Denne kommandoen vil søke etter alle PDF filer i /hjem katalogen og endre tillatelsene sine slik at alle kan lese, skrive og kjøre disse filene.

Søk etter spesifikke filtyper

I tillegg til filer kan kommandoen find også søke etter andre filtyper. Kataloger, symbolske lenker, sockets og karakterenheter er noen av filtypene som støttes av find.

Til nå har vi brukt -type f alternativet i finn -kommandoen. De f står for Fil . For å søke etter andre filtyper i Linux, erstatt f med andre reserverte tegn.

  • f : vanlige filer
  • d : kataloger
  • de : symbolske lenker
  • c : karakterenheter
  • b : blokker enheter
  • s : navngitt rør
  • s : stikkontakter

For å søke etter underkataloger som er tilstede i /hjem katalog:

find /home -type d

Finn filer etter størrelse

De -størrelse flag lar deg søke etter filer som tar en bestemt mengde plass på disken. Følgende suffikser angir de forskjellige filstørrelsene:

  • b : 512-byte blokker
  • c : byte
  • i : to-byte ord
  • til : Kilobyte
  • M : Megabyte
  • G : Gigabyte

For å finne alle filene som har en filstørrelse på 1 GB:

find /home -type f -size 1G

For å søke etter filer mindre enn 1 GB, legg til minus ( - ) tegn før du angir størrelsen:

find /home -type f -size -1G

På samme måte kan du bruke mer ( + ) for å finne filer som er større enn 1 GB:

find /home -type f -size +1G

Slik søker du etter filer innenfor et størrelsesområde:

find /home -type f -size +1M -size -10M

Finn filer ved hjelp av tidsstempler

Du vet det kanskje allerede Linux tildeler bestemte tidsstempler til hver fil på lagringen din. Disse tidsstemplene inneholder endringstid, endringstid og tilgangstid.

Slik finner du filer med en bestemt modifikasjonstid:

find /home -type f -name '*.txt' -mtime 5

Kommandoen ovenfor vil skrive ut alle filene som ble endret i løpet av de siste fem dagene. På samme måte kan du også bruke -en gang og -tid for å filtrere filene i henhold til tilgangstid og endringstid.

Du kan også bruke mer og minus tegn for å finne filer større eller mindre enn et bestemt tidsstempel.

find /home -type f -name '*.txt' -mtime +5

Søk etter filer med spesifikke tillatelser

De -perm alternativet lar brukerne søke etter filer med et bestemt sett med tillatelser.

find /home -type f -perm 777

Bruke skråstrek karakter ( / ) for å vise filen hvis minst én kategori har riktig settet med tillatelser.

dataskjermen blinker av og på
find /home -type f -perm /777

Finn filer etter eier

Bruke -bruker flagg for å få filer som tilhører en bestemt bruker.

find /home -user randomuser

Finn og slett filer

For å slette alle de filtrerte filene ved hjelp av finn, legg til -slette flagg på slutten av kommandoen.

find /home -type f -name '*.pdf' -delete

Kommandoen ovenfor vil slette alle PDF filer som finnes i /hjem katalog.

Du vil ikke kunne slette ikke-tomme kataloger med finn. Du må bruke rm -kommandoen for å slette slike mapper på ditt Linux -system.

Organisering av filer i Linux

Det er vanskelig å finne filer hvis du har hundrevis av kataloger på systemet ditt uten passende navn. Find -kommandoen er nyttig når du vil filtrere ut filer i en katalog i henhold til ett bestemt kriterium.

For å få mest mulig ut av lagringen din på et Linux -system, er filorganisasjon og -behandling et must. Riktig gruppering av mapper og fjerning av overflødige data kan hjelpe deg med å raskt få tilgang til filene du vil ha.

Dele Dele kvitring E -post 9 Viktige tips for å administrere og organisere datafiler

Det er ingen perfekt måte når det gjelder datafilbehandling, men disse tipsene hjelper deg med å skape orden fra kaos.

Les neste
Relaterte temaer
  • Linux
  • Filbehandling
  • Linux
Om forfatteren Deepesh Sharma(79 artikler publisert)

Deepesh er Junior Editor for Linux ved MUO. Han skriver informasjonsguider på Linux, med sikte på å gi alle nykommere en lykkelig opplevelse. Usikker på filmer, men hvis du vil snakke om teknologi, er han din fyr. På fritiden kan du finne ham lese bøker, lytte til forskjellige musikksjangre eller spille gitar.

Mer fra Deepesh Sharma

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere