Hvordan finne en fil etter navn i Linux

Finn filene dine enkelt fra kommandolinjen i Linux

Brukere prøver vanligvis å finne en fil ved hjelp av GUI. Noen ganger blir det imidlertid en veldig kjedelig jobb å finne en individuell fil i den enorme haugen med filer på systemet ditt. Å finne det konvensjonelt kan være en tidkrevende oppgave. For å gjøre denne oppgaven enklere, tilbyr Linux visse kommandoer for å gjøre denne jobben for deg.

finne er en populær kommando som brukes i Linux-systemene som kan hjelpe deg med å søke etter forskjellige filer basert på navn, type, utvidelse, tillatelser, eier, etc.

I denne opplæringen vil vi fokusere på å finne filene etter navn. Vi vil se på de forskjellige argumentene som kan brukes med finne kommando. Vi vil også lære om Lokaliser kommando som også er en raskere måte å søke etter filene etter navn.

Syntaks for finne kommando

Bruker finne kommando på en riktig måte kan gjøre oppgaven din enklere. Å finne filene av en bestemt type eller utvidelse eller søke etter navn vil være mulig hvis du forstår den generelle syntaksen til denne kommandoen godt.

Den generelle syntaksen for finne kommandoen er som følger.

finn [søkebane] [uttrykk] [alternativer] [finn_hva]

Jeg har forsøkt å forenkle syntaksen til finne kommando for å forstå kommandoen bedre.

La oss se på hver attributt til syntaksen for å få en ide om betydningen av hver av dem.

Search_Path: Her kommer banen der vi spesifiserer banen fra der vi ønsker at systemet skal begynne å søke etter filen. Kort sagt, startkatalogen for å starte søket er spesifisert.

Uttrykk: Du kan spesifisere søkemønstrene for den bestemte filen du søker.

Alternativer: Du kan bruke de tilgjengelige alternativene som brukes med finne kommando i dette rommet.

finne hva: I dette attributtet legger du inn navnet eller en del av navnet på filen som skal søkes i.

La oss illustrere denne kommandoen med et eksempel.

finn /home/gaurav/workspace -navn "kilde.c"

I denne kommandoen bruker jeg finne kommando for å søke etter filen "source.c". Jeg har bedt spesifikt om å søke i '/home/gaurav/workspace'-banen. Bruker -Navn alternativet lar meg søke i filen spesifisert av 'source.c'.

Dette er den enkleste demonstrasjonen for bruk av finne kommando.

Søker etter filer i gjeldende katalog

Bruker finne kommandoen i sin enkleste form er å søke etter filene dine i din nåværende arbeidskatalog.

finne.

Denne kommandoen vil vise alle filene i din nåværende arbeidskatalog. Her er '.' betyr den 'nåværende arbeidskatalogen'. Følgende er utdata fra min nåværende arbeidskatalog. Alle filene som finnes i denne katalogen er oppført uten noen filtre

Produksjon:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

For å søke etter en fil hvis omtrentlige navn er kjent, bruk finne kommando som vist nedenfor.

finne. -navn [streng_fra_filnavn\*]

Eksempel:

finne. -navn kontekst\*

Denne kommandoen søker etter filene som inneholder strengen 'kontekst' i den.

Produksjon:

./context_log.policy ./context.xml ./context_preview.c

Alle filene i gjeldende katalog er oppført som inneholder strengen 'kontekst' i den.

Nå oppstår problemet med denne kommandoen når du prøver å ta deg friheten til sensitiviteten til store og små bokstaver mens du skriver inn filnavnet eller den omtrentlige strengen.

Linux er ganske forsiktig med hensyn til store og små bokstaver, og derfor er det en god sjanse for at søket ditt kan mislykkes. Jeg vil ikke få utdata for find-kommandoen hvis jeg bruker strengen som 'CONTEXT' i stedet for 'context'. Selv om en enkelt bokstav i filnavnet er i et annet tilfelle enn det opprinnelige filnavnet, vil søket mislykkes.

Men ingen grunn til å bekymre deg for det. Du kan ganske enkelt erstatte -Navn alternativet med -Jeg navngir. Dette lar deg søke etter filene uavhengig av tilfellene de heter i. Bare gjør denne enkle endringen i kommandoen din, så går det bra.

finne. -iname CONT\*

Utgangen vil være den samme, selv om jeg har brukt strengen med stor bokstav.

./context_log.policy ./context.xml ./context_preview.c

Søke filer i forskjellige kataloger

Du kan enkelt søke etter filene i hvilken som helst katalog på Linux-systemet, uavhengig av katalogen du jobber i.

finn [katalogbane] -iname [spesifikt_filnavn]

Eksempel:

finn /home/gaurav/tomcat -iname ath.html

Her har jeg søkt etter en spesifikk fil 'ath.html' og ikke etter lignende filer som denne strengen. Så utdataene vil bare være den spesifikke filen som nevnt ovenfor.

/home/gaurav/tomcat/ath.html

Anta nå at vi ikke kjenner det fullstendige filnavnet, men bare strengen til dette filnavnet. Deretter kan vi søke i filene på følgende måte.

finn /home/gaurav/tomcat -iname ath\*

Denne kommandoen vil søke etter alle filene som inkluderer strengen 'ath' i begynnelsen. Jeg har brukt -Jeg navngir alternativet her, så jeg trenger ikke å bekymre meg for sakssensitiviteten.

Produksjon:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

Du kan også bruke kommandoen til å søke i flere filer som ender med en lignende utvidelse i navnet.

Eksempel:

finn /home/gaurav/tomcat -iname "*.c"

Kommandoen vil søke etter alle filene i den angitte katalogen som inneholder .c som en utvidelse i filnavnet.

Produksjon:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Vi lærte om finne kommando for å søke etter filene spesifisert av filnavnet. La oss nå utforske en kommando til som er raskere enn den konvensjonelle finne kommando.

Lokaliser kommandooversikt

Det er en kommando til for å søke etter filene på systemet ditt, som er raskere enn finne kommando. Det er Lokaliser kommando. Denne kommandoen kommer ikke forhåndsinstallert på Linux-distribusjonene. Du kan bruke følgende trinn for å laste ned og installere Lokaliser kommandopakken på systemet ditt.

For Ubuntu- og Debian-systemer, bruk:

sudo apt-oppdatering sudo apt installer mlocate

For Cent Os og Fedora-systemer, bruk:

sudo yum installer mlocate

Lokaliseringskommandoen søker etter filen i henhold til det gitte mønsteret i inngangen. Lokaliser bruker databasefilen til å søke etter filene, denne databasefilen genereres av oppdatertb kommando.

sudo oppdatertb

Tiden det tar å oppdatere denne databasefilen kan variere fra bruker til bruker avhengig av filene på systemet ditt.

Bruker Lokaliser kommando

Du kan bruke Lokaliser kommando på følgende måte. Sørg for å oppdatere databasefilen ved å bruke kommandoen sudo oppdatertb.

Syntaks:

finn [filnavn_eller_del_av_filnavn]

Denne kommandoen vil starte søket fra rotkatalogen. Den vil returnere listen over alle filene på systemet som inneholder filnavnet eller en del av filnavnet som spesifisert i kommandoen.

Eksempel:

finn copy.c

Produksjon:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Den uthevede linjen viser at den eksakte filen 'copy.c' er funnet. Sammen med dette resultatet vises også visse andre filer som inneholder 'copy.c' som en del av filnavnet.

For å unngå rotet av andre uønskede filer og bare finne ønsket fil, kan du bruke locate-kommandoen på følgende måte.

finn -b '\filnavn'

Eksempel:

finn -b '\copy.c'

Produksjon:

/home/gaurav/Downloads/git-2.23.0/copy.c

Den spesifikke filen nevnt i søkekriteriene er oppført sammen med banen til katalogen der den ligger.

Bruker Lokaliser kommandoen kan virke litt vanskelig, men er en raskere metode for å søke etter filer når du ikke vet den nøyaktige plasseringen til filen. Henting av filene blir superrask når du har oppdatert databasefilen som locate-kommandoen bruker.

Konklusjon

I denne korte opplæringen lærte vi om to viktige kommandoer, finne og Lokaliser. Nå kan du enkelt søke etter filer på systemet uten å gå deg vill i stabelen med filer. Å bruke disse kommandoene vil sikkert vise seg å være tidsbesparende og effektivt for oppgaven din for å søke etter filer.