När det handlar om att hitta filer och mappar effektivt på ett Linux-system finns det två huvudkommandon tillgängliga: find och locate. Båda har sina egna styrkor och användningsområden. I denna guide får du veta hur du kan använda dessa kommandon för att snabbt och målmedvetet hitta de data du behöver, vare sig det är i hemkatalogen eller på hela disken.
Viktigaste insikter
- locate är snabbare eftersom det använder en databas, men kan vara gammal.
- find söker direkt på disken och är alltid aktuellt, men kan vara långsammare.
- Båda kommandona erbjuder olika alternativ för att förfina dina sökfrågor.
Steg-för-steg-guide
1. En första översikt: locate
Börja din sökning med kommandot locate. Det är särskilt enkelt om du känner till det exakta namnet eller en del av namnet på filen. Låt oss anta att du vill hitta filen "Sonne". Gå till din rotkatalog och skriv följande kommando:
locate Sonne
Med detta kommando kommer locate att söka igenom alla poster i databasen och lista de filer som innehåller sökordet "Sonne".

2. Ignorera stora och små bokstäver
Vill du ignorera stora och små bokstäver i din sökning? Då kan du använda alternativet -i:
locate -i sonne
Så får du en lista som innehåller både "Sonne" och "sonne".

3. Precision med hjälp av reguljära uttryck
Om du vill göra en mer exakt sökning kan du också använda reguljära uttryck med locate. Till exempel, för att bara söka exakt efter "ls", kan du använda alternativet -b i kombination med skyddade parenteser:
locate -b '/ls'
Detta säkerställer att du bara får resultat som exakt motsvarar "ls".

4. Uppdatera databasen
Om du har skapat en ny fil och vill se till att locate hittar den, måste du uppdatera databasen. Det gör du med kommandot:
sudo updatedb
Detta kommando uppdaterar databasen och gör den aktuell.

5. Användning av find
Find-kommandot är särskilt användbart när du vill definiera mer exakta kriterier för din sökning. För att söka efter en fil som heter "xyz" i hemkatalogen kan du använda följande kommando:
find ~/ -name 'xyz'
Detta söker endast igenom hemkatalogen efter "xyz".

6. Filtrera efter filtyp
För att bara söka efter specifika filtyper kan du använda alternativet -type. Till exempel, för att bara hitta mappar:
find /var/log -type d
Med detta kommando listar du alla mappar i katalogen /var/log.

7. Sök filer efter storlek
Om du vill söka efter filer baserat på deras storlek kan du använda alternativet -size. Till exempel, för att hitta filer som är större än 1 MB:
find / -type f -size +1M
Detta kommando söker på hela systemet efter filer som är större än 1 megabyte.

8. Hitta filer inom en viss tidsperiod
Du kan också söka efter filer som har ändrats inom en viss tid. Om du till exempel vill söka efter filer som har ändrats de senaste 48 timmarna, använder du:
find / -type f -mtime -2
Här står "-mtime -2" för filer som har ändrats under de senaste två dagarna.

9. Kombinationer av sökkriterier
Kombinationen av flera sökkriterier förbättrar precisionen i dina förfrågningar. Du kan filtrera efter filtyp och senaste ändringsdatum samtidigt:
find /opt -type f -mtime -1
Så hittar du alla filer i katalogen /opt som har ändrats under de senaste 24 timmarna.

10. Sammanfattning av filssökning
Med kommandona find och locate är du väl rustad för att effektivt hitta filer och mappar på ditt Linux-system. Du kan välja mellan hastighet och aktuell databas beroende på dina behov.
Sammanfattning – söka efter filer och mappar i Linux – find och locate i detalj
Att hitta filer och mappar i Linux är en barnlek med find och locate. Båda kommandona erbjuder olika möjligheter att anpassa sökningen.
Vanliga frågor
Vad är skillnaden mellan find och locate?find söker i realtid på disken, medan locate använder en databas och därför är snabbare, men kanske inte ger aktuella resultat.
Hur uppdaterar jag databasen för locate?Med kommandot sudo updatedb kan du uppdatera databasen för locate.
Kan jag söka efter filstorlek med find?Ja, det är möjligt genom att använda alternativet -size.
Hur kan jag begränsa min sökning efter fil- eller mappnamn?Använd alternativen -name eller -type för att specifikt söka efter vissa namn eller filtyper.
Vad är ett exempel på en kombination av sökkriterier?Du kan använda find för att söka efter filer av typ -type f och samtidigt ange att filerna har ändrats under de senaste 24 timmarna med -mtime -1.