3 måter å finne en fil på Linux

Innholdsfortegnelse:

3 måter å finne en fil på Linux
3 måter å finne en fil på Linux

Video: 3 måter å finne en fil på Linux

Video: 3 måter å finne en fil på Linux
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Kan
Anonim

Å finne en fil i et Linux -system kan være vanskelig hvis du ikke vet hvordan. Den beste måten å finne filer på er å bruke flere forskjellige terminalkommandoer. Å mestre disse kommandoene kan gi deg full kontroll over filene dine, og de er mye kraftigere enn de enkle søkefunksjonene på andre operativsystemer.

Trinn

Metode 1 av 3: Bruk "lokaliser"

690519 10 1
690519 10 1

Trinn 1. Installer

Lokaliser funksjonalitet.

Find -kommandoen fungerer vanligvis mye raskere enn finn, fordi den fungerer ut fra en database med filstrukturen din. Ikke alle Linux -distribusjoner kommer med lokaliseringsfunksjonaliteten installert, så skriv inn følgende kommandoer for å prøve å installere den:

  • Skriv sudo apt-get update og trykk på ↵ Enter.
  • Du kan installere den i Debian og Ubuntu slik: Skriv sudo apt-get install mlocate og trykk på ↵ Enter. Hvis locate allerede er installert, ser du meldingen mlocate allerede er den nyeste versjonen.
  • I Arch Linux, bruk pakkebehandleren pacman: pacman -S mlocate
  • For Gentoo, bruk emerge: emerge mlocate
690519 11 1
690519 11 1

Trinn 2. Oppdater din

Lokaliser database.

Find -kommandoen vil ikke kunne finne noe før databasen er bygget og oppdatert. Dette skjer automatisk daglig, men du kan også oppdatere det manuelt. Du må gjøre dette hvis du vil begynne å bruke lokaliser umiddelbart.

Skriv sudo updatedb og trykk på ↵ Enter

690519 12 1
690519 12 1

Trinn 3. Bruk

Lokaliser for å utføre enkle søk.

Find -kommandoen er rask, men den har ikke så mange alternativer som finn -kommandoen. Du kan utføre et grunnleggende filsøk på omtrent samme måte som finn -kommandoen.

finn -i "*.jpg"

  • Denne kommandoen søker i hele systemet etter filer med filtypen.jpg. Jokertegnet * fungerer på samme måte som med kommandoen find.
  • I likhet med finn -kommandoen ignorerer -i tilfellet med spørringen din.
690519 13 1
690519 13 1

Trinn 4. Begrens søkeresultatene

Hvis søkene dine gir for mange resultater til å håndtere, kan du trimme dem ned med alternativet -n, etterfulgt av antall resultater du vil vise.

lokaliser -n 20 -i "*.jpg"

  • Bare de første 20 resultatene som samsvarer med spørringen vil bli vist.
  • Du kan også bruke | rør for å sende resultatene til mindre for enkel rulling.

Metode 2 av 3: Bruke "finn"

690519 1 1
690519 1 1

Trinn 1. Søk etter en fil etter filnavnet

Dette er det mest grunnleggende søket du kan utføre ved hjelp av kommandoen find. Kommandoen nedenfor søker etter spørringen i den nåværende katalogen og eventuelle underkataloger.

finn -iname "filnavn"

Ved å bruke -iname i stedet for -name ignoreres tilfellet med spørringen din. Kommandoen -name er saksfølsom

690519 2 1
690519 2 1

Trinn 2. Angi at søket skal starte i rotkatalogen

Hvis du vil søke i hele systemet, kan du legge til / modifikatoren i spørringen. Dette vil fortelle finne å søke i alle kataloger som starter fra rotkatalogen.

finn / -navn "filnavn"

  • Du kan starte søket i en bestemt katalog ved å erstatte /med en katalogbane, for eksempel /home /pat.
  • Du kan bruke en. i stedet for / for å tvinge søket til bare å bli utført på den nåværende katalogen og underkatalogene.
690519 3 1
690519 3 1

Trinn 3. Bruk jokertegnet

* for å søke etter alt som samsvarer med delen av spørringen.

Jokertegnet * kan være nyttig for å finne noe hvis du ikke kjenner hele navnet, eller hvis du vil finne alt med en bestemt utvidelse.

finn /home /pat -iname "*.conf"

  • Dette vil returnere alle.conf -filene i Pats brukermappe (og underkataloger).
  • Du kan også bruke den til å finne alt som samsvarer med en del av filnavnet. For eksempel, hvis du har mange dokumenter relatert til wikiHow, kan du finne dem alle ved å skrive "*wiki*".
690519 4 1
690519 4 1

Trinn 4. Gjør søkeresultatene enklere å administrere

Hvis du får mange søkeresultater, kan det være vanskelig å sile gjennom dem. Bruk | tegn og send søkeresultatene til det "mindre" filtreringsprogrammet. Dette kan tillate deg å bla gjennom og filtrere resultatene mye lettere.

finn /home /pat -iname "*.conf" | mindre

690519 5 1
690519 5 1

Trinn 5. Finn bestemte typer resultater

Du kan bruke modifikatorer for å bare returnere bestemte typer resultater. Du kan søke etter vanlige filer (f), kataloger (d), symbolske lenker (l), tegnenheter (c) og blokkere enheter (b) ved å bruke den riktige modifikatoren.

finn / -type f -iname "filnavn"

690519 6 1
690519 6 1

Trinn 6. Filtrer søkeresultatene etter størrelse

Hvis du har mange filer med lignende navn, men vet størrelsen du leter etter, kan du filtrere resultatene våre etter størrelse.

finn / -størrelse +50M -navn "filnavn"

  • Dette vil gi resultater som er 50 megabyte eller større. Du kan bruke + eller - for å søke etter større eller mindre størrelser. Hvis du utelater + eller - søker du etter filer nøyaktig den angitte størrelsen.
  • Du kan filtrere etter byte (c), kilobyte (k), megabyte (M), gigabyte (G) eller 512-byte blokker (b). Vær oppmerksom på at størrelsesflagget er store og små bokstaver.
690519 7 1
690519 7 1

Trinn 7. Bruk boolske operatører til å kombinere søkefiltre

Du kan bruke -og, -eller eller -operatørene til å kombinere forskjellige typer søk til ett.

finn /reisebilder -type f -størrelse +200k -ikke -navn "*2015*"

Kommandoen vil finne filer i "travelphotos" -katalogen som er større enn 200 kilobyte i størrelse, men som ikke har "2015" noe sted i filnavnet

690519 8 1
690519 8 1

Trinn 8. Søk etter filer etter eier eller tillatelser

Hvis du prøver å finne en bestemt fil som eies av en bruker, eller filer med visse tillatelser, kan du begrense søket.

finn / -bruker pat -navn "filnavn" finn / -gruppebrukere -navn "filnavn" finn / -perm 777 -navn "filnavn"

Eksemplene ovenfor søker etter de angitte brukerne, gruppene eller tillatelsene for spørringen. Du kan også utelate filnavnet for å returnere alle filene som samsvarer med denne typen. For eksempel vil find / -perm 777 returnere alle filene med 777 (ingen begrensninger) tillatelser

690519 9 1
690519 9 1

Trinn 9. Kombiner kommandoer for å utføre handlinger når filer blir funnet

Du kan kombinere finn -kommandoen med andre kommandoer slik at du kan utføre dem på filene som returneres av spørringen. Skill finn -kommandoen og den andre kommandoen med -exec -flagget, og avslutt deretter linjen med {};

finne. -type f -perm 777 -exec chmod 755 {};

Dette vil søke i den nåværende katalogen (og alle underkataloger) etter filer som har 777 tillatelser. Den vil deretter bruke kommandoen chmod til å endre tillatelsene til 755

Metode 3 av 3: Søke etter tekst i filer

690519 14 1
690519 14 1

Trinn 1. Bruk

grep kommando for å søke etter tekststrenger i filer.

Hvis du leter etter en fil som inneholder en bestemt frase eller tegnrekke, kan du bruke grep -kommandoen. En grunnleggende grep -kommando er formatert som følger:

grep -r -i "søk"/path/to/directory/

  • Den -r setter søket til "rekursiv", så det vil søke i den nåværende katalogen og alle underkataloger etter en fil som inneholder spørringsstrengen.
  • -I indikerer at spørringen ikke er store og små bokstaver. Hvis du vil tvinge søket til å ta hensyn til saken, utelat -i -operatøren.
690519 15 1
690519 15 1

Trinn 2. Klipp ut den ekstra teksten

Når du utfører et grep -søk som ovenfor, ser du filnavnet sammen med teksten med den matchende spørringen uthevet. Du kan skjule den matchende teksten og bare vise filnavnene og banene ved å inkludere følgende:

grep -r -i "søk"/path/to/directory/| kutt -d: -f1

690519 16 1
690519 16 1

Trinn 3. Skjul feilmeldinger

Grep -kommandoen returnerer en feil når den prøver å få tilgang til mapper uten de riktige tillatelsene eller kjører inn i tomme mapper. Du kan sende feilmeldingene til /dev /null, som vil skjule dem for utdataene.

grep -r -i "søk"/path/to/directory/2>/dev/null

Anbefalt: