Hvordan søke og finne filer i Linux med kommandoer

Ofte er det nødvendig å søke etter bestemte filtyper i Linux -miljøer, og vi vet ikke den riktige måten å søke på riktig måte uten å kaste bort tid.

For Linux -distroer er det utviklet en kommando kalt find som er utviklet for å rekursivt filtrere objekter i filsystemet basert på en betinget mekanisme. Med denne finn -kommandoen kan vi søke etter en fil eller katalog i filsystemet.

Hvis vi inkluderer parameteren -exec, kan filene bli funnet og behandlet umiddelbart innenfor den samme kommandoen.

1. Finn filer etter navn eller utvidelse Linux -kommandoer


Vi kan bruke finn fra kommandolinjen for å finne en bestemt fil ved navn eller utvidelse.

Syntaksen er:

 finn / home / brukernavn / -navn "* .utvidelse"
For eksempel vil vi se etter filer som slutter på .gz:

FORSTØRRE

2. Praktiske kommandoer og syntaks å bruke med å finne Linux -kommandoer


Med finn -kommandoen har vi noen parameteralternativer som:
 finne alternativer start / baneuttrykk
Alternativet attributt vil kontrollere oppførselen og optimaliseringsmetoden for søkeprosessen. Hjem / bane-attributtet vil definere katalogen på øverste nivå der finn vil begynne å filtrere.

Uttryksattributtet styrer testene som søker i kataloghierarkiet for å produsere utdata.
For eksempel kan vi utføre følgende:

 finn -O3 -L / var / www / -navn "* .html"
Denne kommandoen muliggjør maksimal optimaliseringsnivå (-O3) og lar deg følge de symbolske koblingene (-L) for å søke i hele katalogtreet på banen / var / www / etter filer som slutter med .html.

FORSTØRRE

3. Alternativer og optimalisering med Find Linux -kommandoer


Findes standardkonfigurasjon for søk vil ignorere de symbolske koblingene (snarveifiler). Hvis vi vil finne å følge og ta de symbolske koblingene, kan vi legge til -L -alternativet til kommandoen som vi så tidligere. Find har tre (3) optimaliseringsnivåer som er -O1, -O2 og -O3.

Optimaliseringen -O1 er standard og tvinger deg til å søke etter filter basert på filnavn før du kjører alle andre tester.

Optimalisering på -O2 -nivå prioriterer filnavnfiltre, som i -O1, og kjører deretter all filtypefiltrering før du fortsetter med andre mer ressurskrevende forhold. Optimering på -O3 -nivå gjør det mulig å finne en dypere optimalisering og omorganisere alle tester basert på deres relative utgif.webpter og sannsynligheten for bedre resultater.

Noen av alternativene er:

Det er et filter basert på det første filnavnet

 -O1 (standard)

Bruk filnavnet først og deretter filtypen

 -O2

Endre rekkefølge på resultateneTillater søk å automatisk omorganisere søket basert på effektiv bruk av ressurser og sannsynligheten for bedre resultater.

 -O3

Søker nåværende katalog, samt alle underkataloger X nivåer dypt

 -maksdyp X

Søk uavhengig av tekst

 -Jeg navngir

Returnerer bare resultatene som ikke samsvarer med testtilfellet

 -ikke

Utfør et filsøk

 -type f

Søk i kataloger

 -type d

4. Finn filer etter tidsendring Linux -kommandoer


Find -kommandoen har muligheten til å filtrere et kataloghierarki basert på den siste modifikasjonen av filen.
Syntaksen er:
 finn / -navn "* conf" -mtime 8 finn / home / user / -name "* conf" -mtime 2
Den første kommandoen viser en liste over alle filene i hele filsystemet som slutter med conf -tegn og har blitt endret de siste 8 dagene. Den andre kommandoen filtrerer brukerens hjemmekatalog for filer med navn som slutter med conf -tegn og har blitt endret i de to foregående dagene.

Bruk Grep til å finne innholdsbaserte filer Linux-kommandoerFind -kommandoen kan bare filtrere kataloghierarkiet basert på et filnavn og metadata, så hvis du trenger å søke basert på filinnhold, kan du bruke et verktøy som grep.

Vi bruker følgende syntaks:

 finne. -type f -exec grep "eksempel" '{}' \; -skrive ut
Dette finner alle objektene i det nåværende kataloghierarkiet (.) Som er en fil (-type f) og kjører deretter grep-kommandoen "eksempel" for hver fil som oppfyller betingelsene. Matchende filer skrives ut på skjermen (-trykk). Braces ({}) er en plassholder for søkeresultatene. {} Er omsluttet av enkle anførselstegn (') for å unngå at grep gjengir et feilaktig filnavn. Kommandoen -exec avsluttes med et semikolon "(;)", som må unngås "(\;)" for å unngå tolkning av skallet.

Hvordan finne og behandle filer ved hjelp av Find Command Linux -kommandoerVi kan bruke alternativet -exec til å kjøre kommandoer mot alle objekter som samsvarer med søkeuttrykket.

Syntaksen er:

 finne. -navn "rc.conf" -exec chmod o + r '{}' \;
Dette vil filtrere alle objekter i det nåværende hierarkiet (.) For filer som heter rc.conf og kjøre kommandoen chmod eller + r for å endre tillatelsene til søkeresultatene.

Så finn er en alliert for fullt filsøk på Linux.

wave wave wave wave wave