Sådan søger og finder du filer i Linux med kommandoer

Ofte er det nødvendigt at søge efter bestemte typer filer i Linux -miljøer, og vi kender ikke den korrekte måde at søge ordentligt på dem uden at gå rundt med at spilde tid.

For Linux distros er der udviklet en kommando kaldet find, som er udviklet til rekursivt at filtrere objekter i filsystemet baseret på en betinget mekanisme. Med denne find -kommando kan vi søge efter en fil eller bibliotek i dets filsystem.

Hvis vi inkluderer parameteren -exec, kan filerne findes og behandles med det samme inden for den samme kommando.

1. Find filer efter navn eller udvidelse Linux -kommandoer


Vi kan bruge find fra kommandolinjen til at finde en bestemt fil efter navn eller udvidelse.

Dens syntaks er:

 find / home / brugernavn / -navn "* .udvidelse"
For eksempel vil vi kigge efter filer, der ender på .gz:

FORSTØRRE

2. Praktiske kommandoer og syntaks til brug med find Linux -kommandoer


Med kommandoen find har vi nogle parameterindstillinger som:
 finde muligheder start / sti udtryk
Option -attributten styrer søgeprocessens adfærd og optimeringsmetode. Hjem / sti-attributten vil definere biblioteket på øverste niveau, hvor find vil begynde at filtrere.

Udtryksattributten styrer de tests, der søger i bibliotekshierarkiet for at producere output.
For eksempel kan vi udføre følgende:

 find -O3 -L / var / www / -navn "* .html"
Denne kommando muliggør det maksimale optimeringsniveau (-O3) og giver dig mulighed for at følge de symbolske links (-L) for at søge i hele bibliotekstræet på stien / var / www / efter filer, der slutter med .html.

FORSTØRRE

3. Valgmuligheder og optimering med Find Linux -kommandoer


Findes standardkonfiguration til søgning ignorerer de symbolske links (genvejsfiler), hvis vi vil finde at følge og tage de symbolske links, kan vi tilføje -L til kommandoen, som vi så tidligere. Find har tre (3) optimeringsniveauer, som er -O1, -O2 og -O3.

-O1 -optimeringen er standard og tvinger dig til at søge efter filter baseret på filnavn, før du kører alle andre tests.

Optimering på -O2 -niveau prioriterer filnavnsfiltre som i -O1 og kører derefter al filtypefiltrering, før du fortsætter med andre mere ressourceintensive betingelser. Optimering af -O3 -niveau gør det muligt at finde en dybere optimering og ombestille alle tests baseret på deres relative forbrug og sandsynligheden for bedre resultater.

Nogle af mulighederne er:

Det er et filter baseret på det første filnavn

 -O1 (standard)

Brug først filnavnet og derefter filtypen

 -O2

Omarranger resultaterGør det muligt for søgning at automatisk omarrangere søgningen baseret på effektiv brug af ressourcer og sandsynligheden for bedre resultater.

 -O3

Søger i det aktuelle bibliotek samt i alle undermapper X -niveauer dybt

 -maks. dybde X

Søg uanset tekst

 -navn

Returnerer kun de resultater, der ikke matcher testsagen

 -ikke

Udfør en filsøgning

 -type f

Søg i biblioteker

 -type d

4. Find filer efter tidsændring Linux -kommandoer


Find -kommandoen har mulighed for at filtrere et bibliotekshierarki baseret på den sidste ændring af filen.
Syntaksen er:
 find / -navn "* conf" -mtime 8 find / home / user / -name "* conf" -mtime 2
Den første kommando viser en liste over alle filer i hele filsystemet, der slutter med conf -tegn og er blevet ændret i de sidste 8 dage. Den anden kommando filtrerer brugerens hjemmemappe for filer med navne, der slutter med conf -tegn og er blevet ændret i de foregående 2 dage.

Brug Grep til at finde indholdsbaserede filer Linux-kommandoerFind -kommandoen kan kun filtrere bibliotekshierarkiet baseret på et filnavn og metadata, så hvis du har brug for at søge baseret på filindhold, skal du bruge et værktøj som grep.

Vi vil bruge følgende syntaks:

 Find. -type f -exec grep "eksempel" '{}' \; -Print
Dette finder alle objekter i det aktuelle bibliotekshierarki (.), Som er en fil (-type f) og kører derefter grep-kommandoen "eksempel" for hver fil, der opfylder betingelserne. Matchende filer udskrives på skærmen (-print). Seler ({}) er en pladsholder for søgeresultaterne. {} Er omsluttet af enkelte anførselstegn (') for at undgå grep -gengivelse af et misdannet filnavn. Kommandoen -exec afsluttes med et semikolon "(;)", som skal undslippes "(\;)" for at undgå fortolkning af skallen.

Sådan finder og behandler du filer ved hjælp af Find Command Linux -kommandoerVi kan bruge indstillingen -exec til at køre kommandoer mod alle objekter, der matcher søgeudtrykket.

Dens syntaks er:

 Find. -navn "rc.conf" -exec chmod o + r '{}' \;
Dette filtrerer alle objekter i det aktuelle hierarki (.) For filer med navnet rc.conf og kør kommandoen chmod eller + r for at ændre tilladelserne for søgeresultaterne.

Så find er en allieret til fuld filsøgning på Linux.

wave wave wave wave wave