3 måder at finde filer på Linux

Indholdsfortegnelse:

3 måder at finde filer på Linux
3 måder at finde filer på Linux

Video: 3 måder at finde filer på Linux

Video: 3 måder at finde filer på Linux
Video: Как наиболее эффективно заблокировать социальные сети с помощью роутера Mikrotik 2024, Kan
Anonim

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

Trin

Metode 1 af 3: Brug af "find"

690519 1
690519 1

Trin 1. Søg efter filer efter navn

Denne type søgning er den mest grundlæggende, og du kan gøre dette med kommandoen find. Kommandoen herunder udfører en søgning baseret på ordet, der er indtastet i det bibliotek, du er i, samt undermapperne i det.

find -iname "filnavn"

Hvis du bruger -iname i stedet for -name, har forskellen mellem store og små søgeord ingen effekt. Kommandoen -name betragter store og små bogstaver som forskellige tegn

690519 2
690519 2

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

Hvis du vil foretage en systemdækkende søgning, kan du tilføje / modifikatoren til søgeordet. Modifikatoren fortæller find -kommandoen til at søge grundigt, startende fra rodmappen.

find / -navn "filnavn"

  • Du kan starte en søgning i et bestemt bibliotek ved at erstatte /modifikatoren med bibliotekstien, f.eks. /Home /pat.
  • Du kan bruge. andet end / så at søgninger kun udføres i det bibliotek, du er i, og også undermapperne i det.
690519 3
690519 3

Trin 3. Brug jokertegn

* at søge efter noget, der delvist matcher dine søgeord.

Jokertegnet * kan bruges til at finde filer, hvis fulde navne du ikke kender, eller hvis du vil finde alle filer med en bestemt udvidelse.

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

  • Ovenstående kommando returnerer alle.conf -filer i brugermappen med navnet Pat (såvel som undermapperne deri).
  • Du kan også bruge det til at finde alt, hvis navn delvist matcher dette søgeord. For eksempel, hvis du har mange dokumenter relateret til wikiHow, kan du finde dem ved at skrive "*wiki*".
690519 4
690519 4

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

Hvis søgeresultaterne er for mange, vil det være svært for dig at finde den ønskede fil. Brug tegnet | og send søgeresultaterne tilbage til filterprogrammet "mindre". På den måde kan du lettere rulle igennem og filtrere søgeresultaterne.

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

690519 5
690519 5

Trin 5. Find søgeresultater med en bestemt type

Du kan bruge modifikatorer til kun at returnere bestemte typer resultater. Du kan søge efter almindelige filer (f), mapper (d), symbolske links (l), karakterenheder (c) og blokere enheder (b) ved hjælp af passende modifikatorer.

find / -type f -iname "filnavn"

690519 6
690519 6

Trin 6. Filtrer søgeresultaterne efter størrelse

Hvis du har masser af filer med lignende navne, men kender størrelsen på den ønskede fil, kan du filtrere søgningen efter størrelse.

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

  • Ovenstående kommando returnerer søgeresultater på 50 megabyte eller mere. Du kan bruge + eller - til at søge efter filer med en større eller mindre størrelse. Ved at udelade + eller - tegnet får søgningen kun resultater med den virkelig "korrekte" størrelse.
  • Du kan filtrere søgningen efter bytes (c), kilobytes (k), megabyte (M), gigabyte (G) eller 512 bytes (b) blokke. Vær opmærksom på, at markeringerne skelner mellem store og små bogstaver.
690519 7
690519 7

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

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

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

Ovenstående kommando søger efter filer i biblioteket "travelphotos", der er over 200 kilobytes store, men ikke har ordet "2015" i deres navn

690519 8
690519 8

Trin 8. Udfør en filsøgning efter ejernavn eller tilladelse

Hvis du forsøger at finde en bestemt fil, der tilhører en bestemt bruger, eller leder efter en fil med bestemte tilladelser, kan du indsnævre søgningen.

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

Eksemplerne ovenfor udfører en søgning efter en bestemt bruger, gruppe eller tilladelse inden for et søgeord. Du kan også udelade filnavnet for at returnere alle filer, der matcher denne type. Find / -perm 777 returnerer f.eks. Alle filer med 777 tilladelser (ingen begrænsninger)

690519 9
690519 9

Trin 9. Sammenkæd kommandoerne for at udføre handlingen, når filen er fundet

Du kan kombinere find -kommandoen med andre kommandoer, så du kan behandle filer, der returneres af søgeord med den kommando. Adskil find -kommandoen og den anden kommando med -exec -flag, og afslut derefter linjen med {};

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

Ovenstående kommando søger i biblioteket, du er i (og alle underkataloger i den) efter filer med 777 tilladelser. Derefter ændrer chmod -kommandoen tilladelserne til 755

Metode 2 af 3: Brug af "lokaliser"

690519 10
690519 10

Trin 1. Installer

finde funktionalitet. Find -kommandoen er generelt hurtigere end find -kommandoen på grund af databaseanvendelsen af dit filsystem. Ikke alle typer Linux er udstyret med en lokaliseringsfunktion, så indtast følgende kommando for at installere den:

  • Skriv sudo apt-get update, og tryk derefter på Enter.
  • Du kan installere det på Debian og ubuntu sådan: Skriv sudo apt-get install mlocate, og tryk derefter på Enter. Hvis lokaliseringsfunktionen blev installeret tidligere, vil du se, at meddelelsen mlocate allerede er den nyeste version.
  • På Arch Linux skal du bruge pacman package manager: pacman -Syu mlocate
  • Til Gentoo, brug emerge: emerge mlocate
690519 11
690519 11

Trin 2. Opdater

finde database Du. Find -kommandoen vil ikke kunne finde noget, før den er oprettet og opdateret. Processen udføres normalt automatisk hver dag, men du kan også opdatere den manuelt. Du skal gøre dette, hvis du vil bruge lokaliseringsfunktionen så hurtigt som muligt.

Indtast sudo updatedb, og tryk derefter på Enter

690519 12
690519 12

Trin 3. Brug

finde for at udføre en simpel søgning.

Find -funktionen fungerer hurtigt, men har ikke så mange muligheder som kommandoen find. Du kan udføre grundlæggende filsøgninger på samme måde som kommandoen find.

find -i "*.jpg"

  • Ovenstående kommando søger i hele systemet efter filer med filtypenavnet.jpg. Jokertegnet * fungerer på samme måde som kommandoen find.
  • Ligesom find -kommandoen laver -i -modifikatoren også store og små bogstaver i søgeord, der betragtes som de samme.
690519 13
690519 13

Trin 4. Begræns søgeresultater

Hvis din søgning giver så mange resultater, at det er svært for dig at bruge dem, kan du reducere disse resultater med -n -modifikatoren efterfulgt af antallet af resultater, du vil returnere.

find -n 20 -i "*.jpg"

  • Der vises kun 20 søgeresultater.
  • Du kan også bruge | at sende søgeresultater til det mindre filterprogram for lettere rulning af resultater.

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

690519 14
690519 14

Trin 1. Brug kommandoen

grep for at finde tekststrengen i filen.

Hvis du leder efter en fil, der indeholder en bestemt sætning eller tegnstreng, kan du bruge kommandoen grep. Den grundlæggende grep -kommando har følgende format:

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

  • -R -modifikatoren gør søgningen "rekursiv", så en søgning vil blive udført i biblioteket og alle undermapper i den for at finde filer, der indeholder tekst med søgeordet.
  • Modifikatoren -i angiver, at søgeordet ikke skelner mellem store og små bogstaver. Hvis du vil tvinge søgningen til at skelne mellem store og små bogstaver, skal du ignorere -i -modifikatoren.
690519 15
690519 15

Trin 2. Fjern overskydende tekst

Når du foretager en grep -søgning som ovenfor, ser du filnavnet med de matchende bogstaver fremhævet. Du kan skjule den matchende tekst og kun vise filmappens navn og sti ved at tilføje:

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

690519 16
690519 16

Trin 3. Skjul fejlmeddelelsen

Grep -kommandoen returnerer en fejl, når du forsøger at få adgang til et bibliotek uden de relevante tilladelser eller ved indtastning af et tomt bibliotek. Du kan sende fejlmeddelelser til /dev /null, så de ikke vises.

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

Anbefalede: