Linux-kommandolinjen og Bash-scripting på ekspertniveau · Lektion

Søgning efter filer (find, grep)

Opdag effektive kommandoer som 'find' og 'grep' til at finde filer og bestemte tekstmønstre i filer på hele Deres system.

Lektion 3 af 411 trin

Søgning efter filer (find, grep) er en gratis Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-kommandolinjen og Bash-scripting på ekspertniveau, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.

Hvorfor søge i Linux?

At finde filer og tekst er en daglig opgave i Linux. Forestil dig, at du skal finde en bestemt konfigurationsfil eller en kodelinje i et stort projekt!

Vi lærer to effektive kommandoer: find til at finde filer og mapper og grep til at søge *inde i* filer efter tekstmønstre.

Mød kommandoen `find`

Kommandoen find søger efter filer og mapper i et mappehierarki. Den er meget fleksibel!

Dens grundstruktur er: find [path] [expression]. [path] angiver, hvor find skal begynde søgningen, og [expression] definerer, hvad der skal findes.

Søgning efter filer efter navn

Den mest almindelige måde at bruge find på er at søge efter navn ved hjælp af indstillingen -name. Du kan bruge jokertegn som *.

Lad os finde alle filer, der slutter med .txt, i den aktuelle mappe.

cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"

Søgning efter filer efter type

Du kan angive, hvilken type post find skal søge efter, ved hjælp af indstillingen -type:

  • f for almindelige filer
  • d for mapper

Lad os finde alle mapper på den aktuelle placering.

cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type d

Søgning efter filer efter størrelse

Har du brug for at finde store filer? Brug indstillingen -size. Du kan angive enheder som c (bytes), k (KB), M (MB), G (GB).

  • +10M: større end 10 MB
  • -5k: mindre end 5 KB
  • 100c: præcis 100 bytes

Find filer, der er større end 1 KB.

cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k

Introduktion til `grep`

Mens find finder filer, søger grep (Global Regular Expression Print) *inde i* filer efter bestemte tekstmønstre.

Dens grundlæggende syntaks er: grep [pattern] [file...]. [pattern] er den tekst, du leder efter, og [file...] er de filer, der skal søges i.

`grep` til simpel tekst

Lad os oprette en simpel tekstfil og bruge grep til at finde et ord i den. grep udskriver hver linje, der indeholder mønsteret.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt

Indstillinger til `grep`: -i og -n

To praktiske indstillinger til grep:

  • -i: Ignorer store og små bogstaver under søgningen.
  • -n: Vis linjenummeret, hvor match'et blev fundet.

Lad os finde "coddykit" (uanset store og små bogstaver) og se linjenumrene.

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt

Kombination af `find` og `grep`

Du kan kombinere find og grep for at søge efter filer *og* deres indhold. Indstillingen -exec til find lader dig køre en anden kommando på hver fundet fil.

Her finder vi alle .txt-filer og søger efter "CoddyKit" i dem.

cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +

Hurtigt tjek

Du har en mappe med flere filer. Hvilken kommando finder alle filer med navnet log.txt eller error.log, der er større end 50 KB?

Opsummering: Søgning efter filer

Godt klaret! Du har lært, hvordan du effektivt søger efter filer og deres indhold i Linux:

  • find: Finder filer og mapper ud fra forskellige kriterier som navn, type og størrelse.
  • grep: Søger *inde i* filer efter bestemte tekstmønstre med indstillinger til søgning uden hensyn til store og små bogstaver samt visning af linjenumre.
  • Vi har også set, hvordan find og grep kan arbejde sammen til effektiv indholdssøgning.

Bliv ved med at øve dig på disse kommandoer, så du bliver fortrolig med navigation i Linux!

Gratis at komme i gang

Lær Bash med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
22
Lektioner
88

Ofte stillede spørgsmål

Er lektionen “Søgning efter filer (find, grep)” gratis?

Ja — hele teksten til “Søgning efter filer (find, grep)” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Søgning efter filer (find, grep)”?

Opdag effektive kommandoer som 'find' og 'grep' til at finde filer og bestemte tekstmønstre i filer på hele Deres system. Du øver dig i Linux-kommandolinjen og Bash-scripting på ekspertniveau med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Linux-kommandolinjen og Bash-scripting på ekspertniveau?

Der kræves ingen tidligere erfaring. Linux-kommandolinjen og Bash-scripting på ekspertniveau på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Søgning efter filer (find, grep)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion?

Ja. Alle Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Visning af filindhold (cat, less, head, tail)
  2. Forståelse af filrettigheder (chmod, chown)
  3. Søgning efter filer (find, grep)
  4. Oprettelse af links: hard links og symlinks
← Tilbage til Linux-kommandolinjen og Bash-scripting på ekspertniveau