Å finne filer på et Linux -system kan være vanskelig hvis du ikke vet hvordan. Den beste måten å finne filer på Linux er å bruke noen få kommandoer. Å mestre noen av disse kommandoene kan gi deg full kontroll over filer, og de er mer nyttige enn de enkle søkefunksjonene til andre operativsystemer.
Steg
Metode 1 av 3: Bruke "finn"
Trinn 1. Søk etter filer etter navn
Denne typen søk er den mest grunnleggende, og du kan gjøre dette med finn -kommandoen. Kommandoen nedenfor vil utføre et søk basert på ordet som er angitt i katalogen du er i, samt underkatalogene i den.
finn -iname "filnavn"
Hvis du bruker -iname i stedet for -name, har forskjellen mellom store og små søkeord ingen effekt. Kommandoen -name anser store og små bokstaver for å være forskjellige tegn
Trinn 2. Angi at søket skal starte i rotkatalogen
Hvis du vil gjøre et systemomfattende søk, kan du legge til / modifikatoren til søkeordet. Modifikatoren forteller finn -kommandoen til å søke grundig, fra rotkatalogen.
finn / -navn "filnavn"
- Du kan starte et søk i en bestemt katalog ved å erstatte /modifikatoren med katalogbanen, for eksempel /home /pat.
- Du kan bruke. annet enn / slik at søk bare utføres i katalogen du er i, og også i underkatalogene i den.
Trinn 3. Bruk jokertegn
* for å søke etter alt som delvis samsvarer med søkeordene dine.
Jokertegnet * kan brukes til å finne filer du ikke kjenner de fulle navnene dine, eller hvis du vil finne alle filene med en bestemt utvidelse.
finn /home /pat -iname "*.conf"
- Kommandoen ovenfor vil returnere alle.conf -filene i brukerkatalogen Pat (i tillegg til underkatalogene der).
- Du kan også bruke den til å finne alt hvis navn delvis samsvarer med det søkeordet. For eksempel, hvis du har mange dokumenter relatert til wikiHow, kan du finne dem ved å skrive "*wiki*".
Trinn 4. Gjør søkeresultatene enklere å administrere
Hvis søkeresultatene er for mange, vil det være vanskelig for deg å finne filen du vil ha. Bruk tegnet | og send søkeresultatene tilbake til filterprogrammet "mindre". På den måten kan du lettere bla gjennom og filtrere søkeresultatene.
finn /home /pat -iname "*.conf" | mindre
Trinn 5. Finn søkeresultater med en bestemt type
Du kan bruke modifikatorer for å returnere bare visse typer resultater. Du kan søke etter vanlige filer (f), kataloger (d), symbolske lenker (l), tegnenheter (c) og blokkere enheter (b) ved å bruke passende modifikatorer.
finn / -type f -iname "filnavn"
Trinn 6. Filtrer søkeresultatene etter størrelse
Hvis du har mange filer med lignende navn, men vet størrelsen på filen du vil ha, kan du filtrere søket etter størrelse.
finn / -størrelse +50M -navn "filnavn"
- Kommandoen ovenfor vil returnere søkeresultater på 50 megabyte eller mer. Du kan bruke + eller - for å søke etter filer med en større eller mindre størrelse. Hvis du utelater + eller - -tegnet, får søkeresultatet bare resultater med den "riktige" størrelsen.
- Du kan filtrere søket etter byte (c), kilobyte (k), megabyte (M), gigabyte (G) eller 512 byte (b) blokker. Vær oppmerksom på at merkene skiller mellom store og små bokstaver.
Trinn 7. Bruk boolske operatører til å kombinere søkefiltre
Du kan bruke operatorene -og, -eller og -ikke for å kombinere forskjellige søk.
finn /reisefotografier -type f -størrelse +200k -ikke -navn "*2015*"
Kommandoen ovenfor vil se etter filer i "travelphotos" -katalogen som er over 200 kilobyte i størrelse, men som ikke har ordet "2015" i navnet
Trinn 8. Utfør et filsøk etter eiernavn eller tillatelse
Hvis du prøver å finne en bestemt fil som tilhører en bestemt bruker, eller leter etter en fil med visse tillatelser, kan du begrense søket.
finn / -bruker pat -navn "filnavn" finn / -gruppebrukere -navn "filnavn" finn / -perm 777 -navn "filnavn"
Eksemplene ovenfor vil utføre et søk etter en bestemt bruker, gruppe eller tillatelse innenfor et søkeord. Du kan også utelate filnavnet for å returnere alle filene som samsvarer med denne typen. For eksempel vil find / -perm 777 returnere alle filer med 777 tillatelser (ingen begrensninger)
Trinn 9. Koble sammen kommandoene for å utføre handlingen når filen er funnet
Du kan kombinere finn -kommandoen med andre kommandoer slik at du kan behandle filer som returneres av søkeord med den kommandoen. Skill finn -kommandoen og den andre kommandoen med -exec -flagget, og avslutt deretter linjen med {};
finne. -type f -perm 777 -exec chmod 755 {};
Kommandoen ovenfor søker i katalogen du er i (og alle underkataloger i den) etter filer med 777 tillatelser. Deretter vil chmod -kommandoen endre tillatelsene til 755
Metode 2 av 3: Bruk "lokaliser"
Trinn 1. Installer
Lokaliser funksjonalitet. Find -kommandoen er vanligvis raskere enn finn -kommandoen, på grunn av databaseanvendelsen av filsystemet ditt. Ikke alle typer Linux er utstyrt med en lokaliseringsfunksjon, så skriv inn følgende kommando for å installere den:
- Skriv sudo apt-get update, og trykk deretter Enter.
- Du kan installere den på Debian og ubuntu slik: Skriv sudo apt-get install mlocate, og trykk deretter Enter. Hvis lokaliseringsfunksjonen ble installert tidligere, ser du meldingen mlocate allerede er den nyeste versjonen.
- På Arch Linux, bruk pakkebehandler pacman: pacman -Syu mlocate
- For Gentoo, bruk emerge: emerge mlocate
Trinn 2. Oppdater
Lokaliser database Du. Find -kommandoen vil ikke kunne finne noe før den er opprettet og oppdatert. Prosessen utføres vanligvis automatisk hver dag, men du kan også oppdatere den manuelt. Du må gjøre dette hvis du vil bruke lokaliseringsfunksjonen så snart som mulig.
Skriv inn sudo updatedb, og trykk deretter Enter
Trinn 3. Bruk
Lokaliser for å utføre et enkelt søk.
Find -funksjonen fungerer raskt, men har ikke så mange alternativer som finn -kommandoen. Du kan utføre grunnleggende filsøk på lignende måte som finn -kommandoen.
finn -i "*.jpg"
- Kommandoen ovenfor søker etter filer med filtypen-j.webp" />
- I likhet med finn -kommandoen lager -i -modifikatoren også store og små bokstaver i søkeord som anses som de samme.
Trinn 4. Begrens søkeresultatene
Hvis søket gir så mange resultater at det er vanskelig for deg å bruke dem, kan du redusere resultatene med -n -modifikatoren, etterfulgt av antall resultater du vil returnere.
lokaliser -n 20 -i "*.jpg"
- Bare 20 søkeresultater vises.
- Du kan også bruke | for å sende søkeresultater til det mindre filterprogrammet for lettere rulling av resultatene.
Metode 3 av 3: Søke etter tekst i filer
Trinn 1. Bruk kommandoen
grep for å finne tekststrengen i filen.
Hvis du leter etter en fil som inneholder en bestemt frase eller tegnstreng, kan du bruke grep -kommandoen. Den grunnleggende grep -kommandoen har følgende format:
grep -r -i "søk"/path/to/directory/
- Modifikatoren -r gjør søket "rekursivt", så et søk vil bli utført i katalogen og alle underkatalogene i den for å finne filer som inneholder tekst med søkeordet.
- Modifikatoren -i indikerer at søkeordet ikke skiller mellom store og små bokstaver. Hvis du vil tvinge søket til å skille mellom store og små bokstaver, ignorer du -i -modifikatoren.
Trinn 2. Fjern overflødig tekst
Når du gjør et grep -søk som ovenfor, ser du filnavnet med de matchende bokstavene uthevet. Du kan skjule den matchende teksten og bare vise filkatalognavnet og banen ved å legge til:
grep -r -i "søkeord"/path/to/directory/| kutt -d: -f1
Trinn 3. Skjul feilmeldingen
Grep -kommandoen returnerer en feil når du prøver å få tilgang til en katalog uten de riktige tillatelsene eller når du skriver inn en tom katalog. Du kan sende feilmeldinger til /dev /null slik at de ikke vises.
grep -r -i "søkeord"/path/to/directory/2>/dev/null