Praktisk användning av find i Linux: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med 'Här är en motsvarande artikel för `find(1)` i samma stil: --- = Praktisk användning av find i Linux = == Ingress == Kommandot find(1) är ett kraftfullt verktyg för att söka efter filer och kataloger i Linux baserat på olika kriterier. Det används ofta för filhantering, automatisering och systemadministration, och kan kombineras med andra verktyg som grep(1), xargs(1) och rm(1). Denna artikel visar praktiska och verklighetsnära exempel på h...') |
(Ingen skillnad)
|
Versionen från 28 mars 2026 kl. 06.51
Här är en motsvarande artikel för `find(1)` i samma stil:
---
Praktisk användning av find i Linux
Ingress
Kommandot find(1) är ett kraftfullt verktyg för att söka efter filer och kataloger i Linux baserat på olika kriterier. Det används ofta för filhantering, automatisering och systemadministration, och kan kombineras med andra verktyg som grep(1), xargs(1) och rm(1).
Denna artikel visar praktiska och verklighetsnära exempel på hur find(1) används i olika situationer.
Hur find fungerar
Grundsyntaxen för find(1) är:
find [sökväg] [villkor] [åtgärd]
Exempel:
find . -name "fil.txt"
Detta söker efter filen *fil.txt* i aktuell katalog och alla underkataloger.
Söka efter filer
Sök efter en specifik fil:
find /home -name "rapport.txt"
Sök efter alla `.log`-filer:
find . -name "*.log"
Skilja på stora och små bokstäver
För skiftlägesokänslig sökning används:
find . -iname "*.txt"
Söka efter kataloger
För att hitta kataloger istället för filer:
find . -type d -name "backup"
Vanliga typer:
- `-type f` – filer
- `-type d` – kataloger
Söka baserat på storlek
Hitta filer större än 100 MB:
find . -size +100M
Hitta filer mindre än 1 KB:
find . -size -1k
Söka baserat på tid
Filer ändrade senaste 7 dagarna:
find . -mtime -7
Filer som inte ändrats på 30 dagar:
find . -mtime +30
Utföra kommandon på resultat
En av de mest kraftfulla funktionerna är `-exec`.
Ta bort alla `.tmp`-filer:
find . -name "*.tmp" -exec rm {} \;
Eller med xargs(1) (snabbare för många filer):
find . -name "*.tmp" | xargs rm
Praktiskt exempel: rensa gamla filer
Ta bort loggfiler äldre än 30 dagar:
find /var/log -name "*.log" -mtime +30 -exec rm {} \;
Praktiskt exempel: ändra rättigheter
Ändra rättigheter på alla `.sh`-filer:
find . -name "*.sh" -exec chmod +x {} \;
Praktiskt exempel: söka innehåll
Kombinera med grep(1):
find . -name "*.txt" -exec grep "fel" {} \;
Detta söker efter texten "fel" i alla `.txt`-filer.
Undvika kataloger
För att exkludera kataloger:
find . -path "./node_modules" -prune -o -name "*.js" -print
Alternativ metod
I enklare fall kan locate(1) användas:
locate fil.txt
Skillnaden är att locate(1):
- är mycket snabbare
- använder en databas
- inte alltid visar aktuella filer
När ska man använda find?
find(1) är särskilt användbart när man behöver:
- söka efter filer baserat på avancerade kriterier
- automatisera filhantering
- analysera filsystem
- kombinera med andra verktyg i pipelines
Sammanfattning
find(1) är ett av de mest flexibla och kraftfulla verktygen i Linux. Med sina många flaggor och möjligheten att köra kommandon direkt på resultatet är det oumbärligt för systemadministration och skriptning.
SE ÄVEN
find(1), grep(1), xargs(1), locate(1), rm(1)
Sidslut
Det här är AI-genererat innehåll.
Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på: https://www.linux.se/kontakta-linux-se/
Besök vår systersida GeekToys.se där vi publicerar artiklar om datorer genom åren.
Du hittar alla artiklar som finns på GeekToys på:
https://geektoys.se/links/