Sist oppdatert den
Hvis du prøver å søke etter en fil på Linux, er det noen måter å gjøre det på, inkludert å bruke terminalen eller appene på skjermen. Denne guiden viser deg hvordan.
Uansett hvor nøye du er med filbehandling, vil du etter hvert finne deg selv i å lure på hvor et bestemt dokument er. Dette er sant på Mac, Windows og til og med Linux.
Hvordan søker du etter en fil i Linux? Som det viser seg, har operativsystemet noen svært kraftige innebygde verktøy for å gjøre filsøk. Her er det du trenger å vite.
Hvordan søke etter en fil i Linux fra kommandolinjen
Den kraftigste metoden for å søke etter filer på Linux er ved å bruke kommandolinjen. Akkurat som Windows har en finne kommando, det samme gjør Linux. UNIX-kommandoen finne kan veldig enkelt finne alle typer filer du leter etter. Utført på riktig måte, finne kan til og med se inni filene dine for å identifisere bestemte tekststrenger, og du kan begrense søket til de filene som nylig er endret.
Grunnleggende bruk
Den grunnleggende bruken av finn ser slik ut:
finn /home/jeff -navn "*.jpg"
Den kommandoen ville søke i hjemmekatalogen min etter alle filer som slutter på .jpg. Det er imidlertid mye mer som kan gjøres med kommandoen.
Følger symbolske lenker
Som standard er finne kommandoen vil ignorere symbolske lenker. Imidlertid vil følgende kommando følge disse koblingene:
finn -O3 -L /var/www/ -navn "*.html"
I eksemplet ovenfor vil kommandoen vise alle HTML-filer i /var/www katalogtre.
Finne tomme filer
La oss nå si at du ønsket å identifisere alle tomme filer i en katalog. Følgende kommando ville gjøre akkurat det:
finne. -type f -tom.
Nøkkelen her er -type og -tømme parametere, brukt i stedet for -Navn flagg i tidligere eksempler.
Ytterligere eksempler
La oss se på et mer grunnleggende eksempel, som vil returnere filer endret i løpet av de foregående 6 dagene.
finn /home -user randomperson -mtime 6 -iname "*.db"
I denne kommandoen vil alle filer som slutter på .db bli oppført, ignorerer store og små bokstaver, men bare hvis filene har blitt endret i løpet av de siste 6 dagene av en bruker som heter tilfeldig person.
Denne utførelsen returnerer alle filene i den gitte katalogen som er endret i løpet av de siste 11 dagene
Nyttige alternativer og optimaliseringer for å finne Linux-filer
Ytterligere flagg kan kontrollere hvilken rekkefølge finne bruker sine søketester. Som standard, finne filtrerer søkeresultatene etter filnavn først, før du kjører andre tester. Dette flagget ville vært -O1, men det er egentlig ingen grunn til å inkludere det.
Hvis du passerer -O2 flagg, finne filtre basert på filnavnet og deretter filtypen. Det tredje valget, -O3, omorganiserer søket automatisk basert på effektiv bruk av ressurser og sannsynlighet for å returnere relevante resultater.
Du kan endre flere av standardatferdene ved å bruke disse parameterne:
- -maksdybde X: søker i den angitte katalogen og dens underkataloger, til en maksimal dybde på X.
- -Jeg navngir: søker i filer, ignorerer store bokstaver.
- -ikke: produserer bare resultater som ikke samsvarer med det spesifiserte testtilfellet.
- -type f: ser bare etter filer
- -type d: ser bare etter kataloger
- -mtime X: returnerer bare de filene som ble endret i forrige X dager.
Bruke Grep for å finne filer basert på innhold
Brukes alene, finne vil kun filtrere filene og katalogene dine basert på filnavn og metadata. Det er imidlertid mulig å grave enda dypere og bruke en annen Linux-kommando for å søke etter filer basert på hva de inneholder.
Verktøyet for dette er det velprøvde grep kommando. Slik fungerer det.
finne. -type f -exec grep "forinstance" '{}' \; -skrive ut.
Denne kommandoen vil se gjennom hver fil (-type f) i det gjeldende katalogtreet (notert av . i kommandoen). Deretter kjører den grep "for eksempel" på hver av disse filene, skriv ut de som inneholder for eksempel.
I dette eksemplet er finne kommandoen returnerer alle filer som inneholder teksten "Hei"
I kommandoen ovenfor, de krøllete seler ({}) er en plassholder for filresultatene som returneres av finne kommando. Disse er plassert i enkle anførselstegn (’) for å forhindre sending grep et misformet filnavn.
De -exec kommandoen avsluttes med semikolon (;), som trenger en flukt (\;) så Linux prøver ikke å tolke det som en annen kommando eller parameter.
Bruke Exec for å ta resultatene et skritt videre
Nå som du vet hvordan du sender din finne resultater til en annen kommando ved hjelp av -exec, vil du være interessert i å lære at du kan gjøre mye mer enn bare grep søkeresultatene dine. Faktisk gjør denne muligheten det ganske enkelt å raskt og enkelt massemodifisere filer.
finne. -navn "rc.conf" -exec chmod o+r '{}' \;
Utstedt av root-brukeren i /etc katalogen, vil kommandoen ovenfor søke etter alle navngitte filer rc.conf. Det vil endre tillatelsene for hver av disse filene for å gi fileieren lesetillatelser (chmod o+r).
Husk, -exec vil kjøre fra rotkatalogen til Linux-installasjonen. Hvis du foretrekker å kjøre tilleggskommandoen fra katalogen som inneholder den samsvarende filen, bruk -eksecdir i stedet.
Som standard, -exec og -eksecdir vil fortsette å kjøre uavbrutt på egenhånd. Hvis du heller vil se spørsmål før den andre kommandoen gjør noe, erstatt alternativene med -ok eller -okdir, henholdsvis.
Bruker -ok flagg, finne vil spørre deg før du gjør noe med filene som samsvarer med søkeparametrene dine
Å virkelig få mest mulig ut av finne, det er avgjørende å les den manuelle oppføringen for kommandoen.
Hvordan søke etter en fil i Linux ved hjelp av GUI
Mange GUI-filbehandlere for Linux vil også støtte søk. I Ubuntu kan du søke etter spesifikke filer ved å bruke Filer applikasjon. Bare klikk på mappeikonet i Dock og deretter på forstørrelsesglasset.
Dette GUI-verktøyet lar deg filtrere etter filtype og når filen sist ble åpnet eller endret. Det du ikke har med dette alternativet er muligheten til å kjøre andre kommandoer raskt på søkeresultatene dine.
Lær inn og ut av Linux
Enten du er ny på Linux-operativsystemet eller du har kjørt det i årevis, kan du alltid friske opp ferdighetene dine. Nå som du vet hvordan du søker etter en fil i Linux, kan det være nyttig å vet hvordan du bruker SCP for å overføre filen til en annen maskin.
Hvis du vil begrense tilgangen til filer, vil du det liste opp brukerne på Linux først.
Slik sletter du Google Chrome-buffer, informasjonskapsler og nettleserlogg
Chrome gjør en utmerket jobb med å lagre nettleserloggen, bufferen og informasjonskapslene for å optimalisere nettleserens ytelse på nettet. Slik gjør hun...