3 måder at finde en fil i Linux

Indholdsfortegnelse:

3 måder at finde en fil i Linux
3 måder at finde en fil i Linux

Video: 3 måder at finde en fil i Linux

Video: 3 måder at finde en fil i Linux
Video: ДИСНЕЙЛЕНД - Потрясающие впечатления от ЗВЕЗДНЫХ ВОЙН (и как подготовиться к вашему визиту) 2024, Kan
Anonim

Det kan være svært at finde en fil i et Linux -system, hvis du ikke ved hvordan. Den bedste måde at finde filer på er at bruge flere forskellige terminalkommandoer. At mestre disse kommandoer kan give dig fuldstændig kontrol over dine filer, og de er meget mere kraftfulde end de enkle søgefunktioner på andre operativsystemer.

Trin

Metode 1 af 3: Brug af "lokaliser"

690519 10 1
690519 10 1

Trin 1. Installer

finde funktionalitet.

Find -kommandoen fungerer generelt meget hurtigere end find, fordi den fungerer ud fra en database med din filstruktur. Ikke alle Linux -distributioner leveres med lokaliseringsfunktionen installeret, så indtast følgende kommandoer for at forsøge at installere den:

  • Skriv sudo apt-get update, og tryk på ↵ Enter.
  • Du kan installere det i Debian og Ubuntu sådan: Skriv sudo apt-get install mlocate og tryk på ↵ Enter. Hvis Find allerede er installeret, ser du meddelelsen mlocate allerede er den nyeste version.
  • I Arch Linux skal du bruge pacman -pakkehåndteringen: pacman -S mlocate
  • Til Gentoo, brug emerge: emerge mlocate
690519 11 1
690519 11 1

Trin 2. Opdater din

finde database.

Find -kommandoen vil ikke kunne finde noget, før databasen er blevet bygget og opdateret. Dette sker automatisk dagligt, men du kan også opdatere det manuelt. Du bliver nødt til at gøre dette, hvis du vil begynde at bruge Find med det samme.

Skriv sudo updatedb, og tryk på ↵ Enter

690519 12 1
690519 12 1

Trin 3. Brug

finde at udføre enkle søgninger.

Find -kommandoen er hurtig, men den har ikke så mange muligheder som kommandoen find. Du kan udføre en grundlæggende filsøgning på omtrent samme måde som kommandoen find.

find -i "*.jpg"

  • Denne kommando søger hele systemet efter filer med filtypenavnet.jpg. Jokertegnet * fungerer på samme måde som med kommandoen find.
  • Ligesom find -kommandoen ignorerer -i tilfældet med din forespørgsel.
690519 13 1
690519 13 1

Trin 4. Begræns dine søgeresultater

Hvis dine søgninger returnerer for mange resultater til at håndtere, kan du trimme dem ned ved hjælp af -n -indstillingen efterfulgt af det antal resultater, du vil have vist.

find -n 20 -i "*.jpg"

  • Kun de første 20 resultater, der matcher forespørgslen, vises.
  • Du kan også bruge | rør for at sende resultaterne til mindre for let rulning.

Metode 2 af 3: Brug af "find"

690519 1 1
690519 1 1

Trin 1. Søg efter en fil efter dens filnavn

Dette er den mest grundlæggende søgning, du kan udføre ved hjælp af kommandoen find. Kommandoen herunder søger efter forespørgslen i det aktuelle bibliotek og eventuelle underkataloger.

find -iname "filnavn"

Brug af -iname i stedet for -name ignorerer tilfældet med din forespørgsel. Kommandoen -name er skiftende til store og små bogstaver

690519 2 1
690519 2 1

Trin 2. Indstil søgningen til at starte i rodmappen

Hvis du vil søge i hele dit system, kan du tilføje / modifikatoren til forespørgslen. Dette vil fortælle finde at søge i alle mapper, der starter fra rodmappen.

find / -navn "filnavn"

  • Du kan starte søgningen i et bestemt bibliotek ved at erstatte /med en biblioteksti, f.eks. /Home /pat.
  • Du kan bruge en. i stedet for / for at tvinge søgningen til kun at blive udført på det aktuelle bibliotek og underkataloger.
690519 3 1
690519 3 1

Trin 3. Brug jokertegnet

* for at søge efter alt, der matcher den del af forespørgslen.

Wildcard * -tegnet kan være nyttigt til at finde noget, hvis du ikke kender det fulde navn, eller hvis du vil finde alt med en bestemt udvidelse.

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

  • Dette vil returnere alle.conf -filerne i Pats brugermappe (og underkataloger).
  • Du kan også bruge den til at finde alt, der matcher en del af filnavnet. For eksempel, hvis du har mange dokumenter relateret til wikiHow, kan du finde dem alle ved at skrive "*wiki*".
690519 4 1
690519 4 1

Trin 4. Gør dine søgeresultater lettere at administrere

Hvis du får masser af søgeresultater, kan det være svært at gennemse dem. Brug | tegn og send søgeresultaterne til det "mindre" filtreringsprogram. Dette kan give dig mulighed for at rulle igennem og filtrere resultaterne meget lettere.

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

690519 5 1
690519 5 1

Trin 5. Find bestemte typer resultater

Du kan bruge modifikatorer til kun at returnere bestemte typer resultater. Du kan søge efter almindelige filer (f), mapper (d), symbolske links (l), tegnenheder (c) og blokere enheder (b) ved at bruge den rigtige modifikator.

find / -type f -iname "filnavn"

690519 6 1
690519 6 1

Trin 6. Filtrer dine søgeresultater efter størrelse

Hvis du har mange filer med lignende navne, men kender den størrelse, du leder efter, kan du filtrere vores resultater efter størrelse.

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

  • Dette vil returnere resultater, der er 50 megabyte eller større. Du kan bruge + eller - til at søge efter større eller mindre størrelser. Hvis du udelader + eller - søger du efter filer nøjagtigt den angivne størrelse.
  • Du kan filtrere efter bytes (c), kilobytes (k), megabyte (M), gigabyte (G) eller 512-byte blokke (b). Bemærk, at størrelsesflaget er store og små bogstaver.
690519 7 1
690519 7 1

Trin 7. Brug boolske operatorer til at kombinere søgefiltre

Du kan bruge operatorerne -og, -eller og -ikke til at kombinere forskellige typer søgninger til en.

find /rejsebilleder -type f -størrelse +200k -ikke -navn "*2015*"

Kommandoen finder filer i biblioteket "travelphotos", der er større end 200 kilobytes, men som ikke har "2015" nogen steder i filnavnet

690519 8 1
690519 8 1

Trin 8. Søg efter filer efter ejer eller tilladelser

Hvis du forsøger at finde en bestemt fil, der ejes af en bruger, eller filer med bestemte tilladelser, kan du indsnævre søgningen.

find / -bruger pat -navn "filnavn" find / -grupper brugere -navn "filnavn" find / -perm 777 -navn "filnavn"

Ovenstående eksempler vil søge i de angivne brugere, grupper eller tilladelser efter forespørgslen. Du kan også udelade filnavnsforespørgslen for at returnere alle de filer, der matcher denne type. Find / -perm 777 returnerer f.eks. Alle filerne med 777 (ingen begrænsninger) -tilladelser

690519 9 1
690519 9 1

Trin 9. Kombiner kommandoer for at udføre handlinger, når der findes filer

Du kan kombinere find -kommandoen med andre kommandoer, så du kan udføre dem på de filer, der returneres af forespørgslen. Adskil find -kommandoen og den anden kommando med -exec -flag, og afslut derefter linjen med {};

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

Dette vil søge i det aktuelle bibliotek (og alle underkataloger) efter filer, der har 777 tilladelser. Det vil derefter bruge kommandoen chmod til at ændre tilladelserne til 755

Metode 3 af 3: Søgning efter tekst i filer

690519 14 1
690519 14 1

Trin 1. Brug

grep kommando til at søge efter tekststrenge i filer.

Hvis du leder efter en fil, der indeholder en bestemt sætning eller tegnstreng, kan du bruge kommandoen grep. En grundlæggende grep -kommando er formateret som følger:

grep -r -i "søgeforespørgsel"/sti/til/bibliotek/

  • -R sætter søgningen til "rekursiv", så den søger i det aktuelle bibliotek og i alle underkataloger efter en fil, der indeholder forespørgselsstrengen.
  • -I angiver, at forespørgslen ikke er store og små bogstaver. Hvis du vil tvinge søgningen til at være opmærksom på case, skal du udelade -i -operatøren.
690519 15 1
690519 15 1

Trin 2. Klip den ekstra tekst ud

Når du udfører en grep -søgning som ovenfor, ser du filnavnet sammen med teksten med den matchende forespørgsel fremhævet. Du kan skjule den matchende tekst og bare vise filnavne og stier ved at inkludere følgende:

grep -r -i "søgeforespørgsel"/sti/til/bibliotek/| klip -d: -f1

690519 16 1
690519 16 1

Trin 3. Skjul fejlmeddelelser

Kommandoen grep returnerer en fejl, når den forsøger at få adgang til mapper uden de korrekte tilladelser eller løber ind i tomme mapper. Du kan sende fejlmeddelelserne til /dev /null, som vil skjule dem for output.

grep -r -i "søgeforespørgsel"/sti/til/bibliotek/2>/dev/null

Anbefalede: