Selvom Linux-terminalen er en tekstgrænseflade, der virker kompleks, er den faktisk meget fleksibel, nem at bruge og et ganske nyttigt værktøj. Kommandoer kan let kopieres fra online kilder og indsættes i terminalen for at udføre forskellige operationer. Der er mange kommandoer, men dette indlæg vil fokusere på kommandoen "find".
Kommandoen "find" bruges til at finde, filtrere eller søge efter filer og mapper i dit system i henhold til brugerdefinerede betingelser og udføre flere handlinger på dem.
Lad os diskutere, hvordan man bruger kommandoen "find", dens syntaks og forskellige operationer, der udføres af denne kommando i detaljer.
Syntaks for "find" Kommando i Linux
Kommandosyntaks “Find” vises nedenfor:
find [sti] [valgmuligheder] [udtryk]Tre attributter følger kommandoen "find":
- [sti]: Den definerer kataloget, hvor søgningen skal begynde.
- [optioner]: Den definerer kriterierne for filtrering e.g. søgning i en fil / mappe efter 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 nedenfor:
Finde en fil efter navn
For at søge i filen efter navn skal du bruge kommandoen nedenfor:
$ find . -navn MyTextFile1.txt
Prikken efter "find" i ovenstående kommando angiver den aktuelle mappe.
Hvis du ikke kan huske det nøjagtige filnavn, kan søgningen yderligere raffineres og gøre det store og små bogstaver ved at bruge "-iname" i stedet for "name":
$ find . -iname mytextfile1.txt
Find en fil efter type
For at finde en fil efter dens type skal du bruge indstillingen “-type” med bogstaver, der også er kendt som deskriptorer såsom “f” for filer, “d” for mapper, “l” for det symbolske link og “s” for stikkontakter.
For at søge i alle mapper skal du bruge:
$ find . -type d
For at søge efter filer skal du bruge:
$ find . -type f
Find en fil ved hjælp af filtypen
For at søge i filen efter mønster, e.g., filtypenavn, såsom at vise alle filerne med “.txt ”, brug følgende kommando:
$ find . -navn *.txt
Alle filer med “.txt ”vises sammen med deres tilsvarende mapper.
Find og slet en fil
Brug kommandoen nedenfor for at søge og slette en fil:
$ find . -iname mytextfile1.txt -exec rm \;
Ovenstående kommando søger først i filen og sletter den derefter. Billedet viser, at “MyTextFile1” er blevet slettet.
For at slette alle filer med udvidelse “.txt ”, kan du bruge den vedlagte kommando:
$ find . -navn *.txt-slet
Sådan finder du en fil efter størrelse
Kommandoen "find" kan også søge i en fil efter størrelse. Brug blot “-størrelse” -indstillingen sammen med dens deskriptorer som “b” til 512 Kb-blokke, “c” for byte, “k” for kilobyte, “M” og “G” for henholdsvis megabyte og gigabyte:
$ find . -type f -størrelse -1024c
Den ovennævnte kommando søger i alle filer med en størrelse mindre end 1024 bytes. Søgningen kan yderligere forbedres, for eksempel hvis vi vil finde alle de filer, der er mindre end 1 MB, så bruger vi kommandoen nedenfor:
$ find . -skriv f -størrelse 1M
For alle de filer, der er større end 1 MB, skal du bruge kommandoen nedenfor:
$ find . -skriv f -størrelse + 1M
En række størrelser kan også defineres ved hjælp af den vedhæftede kommando:
$ find . -skriv f -størrelse + 1M -størrelse 10MFinde filer efter tilladelse
For at søge i en fil med tilladelse bruger vi indstillingen “-perm” og derefter tilladelseskode som vist nedenfor:
$ find . -perm 664
Find en tekst i tekstfiler
For at finde tekst i flere tekstfiler på dit system skal du bruge kommandoen nedenfor:
$ find . -skriv f-navn *.txt -exec grep 'Hej' \;
Kommandoen søger efter "Hello" -ordet i tekstfilerne. Outputtet er tekststrenge fra tekstfilerne, der indeholder “Hej”.
Find en fil efter ændringsdato og -tid
For at få adgang til en fil ved den sidste ændring skal du bruge kommandoen nedenfor:
$ find . -skriv f -navn *.txt -mmin +10
Ovenstående kommando søger efter en fil, der sidst blev ændret for fire minutter siden, og "m" betyder "Modifikation".
$ find . -skriv f -navn *.txt -amin -10
Ovenstående kommando søger efter en fil, der sidst blev åbnet for 4 minutter siden, og "a" i "amin" betyder "Adgang". 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 kommandoen "find" i Linux og lærte, hvordan man bruger kommandoen "find" til at udføre forskellige funktioner.