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

Effektivt hitta filer och mappar med Linux

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

Effektiv hitta filer och mappar med Linux

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

Effektiv hitta filer och mappar med Linux

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.

Effektiv hitta filer och mappar med Linux

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

Effektivt hitta filer och mappar med Linux

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.

Effektivt hitta filer och mappar med Linux

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.

Effektivt hitta filer och mappar med Linux

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.

Effektivt hitta filer och mappar med Linux

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.

Effektiv hitta filer och mappar med Linux

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.