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"
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
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
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.
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"
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
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.
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*".
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
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"
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.
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
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
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
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.
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
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