Sådan bruges kommandoen find i Linux til at søge efter filer?

How Use Find Command Linux Search Files



Hvis du er en Linux -bruger, kan du ikke bare stole på GUI til at udføre forskellige opgaver, derfor er en solid forståelse af terminalkommandoer virkelig vigtig. Alle distributioner baseret på Linux kører kommandoerne til at udføre forskellige administrative opgaver.

Selvom Linux -terminalen er en tekstgrænseflade, der virker kompleks, er den faktisk meget fleksibel, let at bruge og et ganske nyttigt værktøj. Kommandoer kan let kopieres fra onlinekilder og indsættes i terminalen for at udføre forskellige operationer. Der er masser af kommandoer, men dette indlæg vil fokusere på find -kommandoen.







Find-kommandoen bruges til at finde, filtrere eller søge efter filer og mapper i dit system i henhold til brugerspecificerede forhold og udføre flere handlinger på dem.



Lad os diskutere, hvordan du bruger kommandoen find, dens syntaks og forskellige operationer udført af denne kommando i detaljer.



Syntaks for find -kommando i Linux

Find -kommandosyntaksen er vist nedenfor:





Find [sti] [muligheder] [udtryk]

Tre attributter følger med find -kommandoen:

  • [sti]: Det definerer biblioteket, hvor søgen skal begynde.
  • [optioner]: Det definerer kriterierne for filtrering f.eks. søge i en fil/mappe efter dets navn, tilladelse, tid eller dato.
  • [udtryk]: Det definerer, hvilke handlinger der skal udføres med filen.

Alle ovenstående attributter er valgfri, da de kan bruges i henhold til kravet.



Til demonstration har jeg oprettet forskellige mapper og nogle tekstfiler, se billedet herunder:

find/1%20copy.png

Find en fil efter navn

Hvis du vil søge i filen efter navn, skal du bruge kommandoen nedenfor:

$Find.-navnMyTextFile1.txt

find/2%20copy.png

Prikken efter find i ovenstående kommando angiver det aktuelle bibliotek.

Hvis du ikke kan huske det nøjagtige filnavn, kan søgningen yderligere forfines og gøre det ufølsomt ved at bruge -navnet i navnet:

$Find.-navnmytextfile1.txt

find/3%20copy.png

Find en fil efter type

Hvis du vil finde en fil efter dens type, skal du bruge indstillingen -type med bogstaver, der også kaldes deskriptorer, f.eks. F for filer, d for mapper, l for det symbolske link og s for stik.

For at søge i alle mapper, brug:

$Find.-typed

find/4%20copy.png

For at søge efter filer skal du bruge:

$Find.-typef

c%20copy.png

Find en fil ved hjælp af filtypen

For at søge i filen efter mønster, f.eks. Filtypenavn, f.eks. Visning af alle filerne med .txt, skal du bruge følgende kommando:

$Find.-navn *.txt

find/5%20copy.png

Alle filer med .txt vises sammen med deres tilhørende mapper.

Find og slet en fil

For at søge og slette en fil skal du bruge kommandoen herunder:

$Find.-navnmytextfile1.txt-eks rm {};

find/6%20copy.png

Ovenstående kommando søger først i filen og derefter sletter den. Billedet viser, at MyTextFile1 er blevet slettet.

For at slette alle filer med filtypenavnet .txt kan du bruge den vedhæftede kommando:

$Find.-navn *.txt-slet

find/7%20copy.png

Find en fil efter størrelse

Find -kommandoen kan også søge i en fil efter størrelse. Brug blot -size -indstilling sammen med dens deskriptorer, f.eks. B for 512 Kb -blokke, c for bytes, k for kilobyte, M og G for henholdsvis megabyte og gigabyte:

$Find.-typef-størrelse -1024c

find/8%20copy.png

Kommandoen nævnt ovenfor søger i alle filer med en størrelse mindre end 1024 bytes. Søgningen kan yderligere forfines, for eksempel hvis vi vil finde alle de filer, der er mindre end 1Mb, bruger vi kommandoen herunder:

$Find.-typef-størrelse1 mio

ab/a%20copy.png

For alle de filer, der er større end 1Mb, skal du bruge kommandoen herunder:

$Find.-typef-størrelse+1 mio

ab/b%20copy.png

Et størrelsesinterval kan også defineres ved hjælp af den vedhæftede kommando:

$Find. -typef-størrelse+1 mio-størrelse10 mio

Finde filer efter tilladelse

For at søge i en fil med tilladelse bruger vi -perm -indstillingen og derefter tilladelseskoden som vist nedenfor:

$Find.-perm 664

find/10%20copy.png

Find en tekst i tekstfiler

For at finde tekst i flere tekstfiler i dit system skal du bruge kommandoen nedenfor:

$Find.-typef-navn *.txt-eks greb'Hej'{};

find/12%20copy.png

Kommandoen søger efter Hej -ordet i tekstfilerne. Outputtet er tekststrenge fra tekstfilerne, der indeholder Hello.

Find en fil efter ændringsdato og -tidspunkt

For at få adgang til en fil ved dens sidste ændring skal du bruge kommandoen herunder:

$Find.-typef-navn *.txt-min+10

find/13%20copy.png

Kommandoen ovenfor søger efter en fil, der senest blev ændret for fire minutter siden, og m betegner ændringen.

$Find. -typef-navn *.txt-amin -10

find/14%20copy.png

Ovenstående kommando søger efter en fil, der sidst blev åbnet for 4 minutter siden, og a in amin betegner Access. For at få adgang til en fil, der blev ændret for fire dage siden, skal du bruge -mtime +4 i stedet for mmin +4.

Konklusion

Find -kommandoen i Linux er en meget nyttig kommando, der lader dig søge i en fil eller mappe ved hjælp af forskellige kriterier, og endda giver dig mulighed for at ændre filerne fra terminalen. I denne vejledning observerede vi syntaksen for find -kommandoen i Linux og lærte, hvordan man bruger kommandoen find til at udføre forskellige funktioner.