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.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave