Hur man hittar filer i Linux Terminal

Linux, oavsett vilken distro du använder, har ett antal GUI-verktyg som gör det möjligt att söka efter filer. Många moderna filhanterare har stöd för filsökning direkt i fillistan. Det finns dock ett antal situationer när du behöver använda konsolen, till exempel under en SSH-session eller när X-servern inte startar. Så här kan du snabbt hitta filer med hjälp av terminalen.
Om du kan använda det grafiska gränssnittet är det inget problem att söka efter filer. I min favoritskrivbordsmiljö XFCE gör filhanteraren Thunar det möjligt att söka efter filer genom att skriva in filnamnet direkt i fillistan.

Det finns också Catfish, ett populärt sökverktyg med ett sökindex, som kan hitta dina filer riktigt snabbt.

Jag skulle vilja dela med mig av de metoder jag själv använder när jag arbetar i terminal.
Den första metoden involverar verktyget find, som finns i alla distroer, till och med i inbyggda system byggda på busybox. Den andra metoden är kommandot locate.

För att hitta filer i Linuxterminalen gör du följande:

  1. Öppna din favoritterminalapp. XFCE4 terminal är min personliga preferens.
  2. Skriv följande kommando:
    find /path/to/folder/ -iname *file_name_portion*

    Argumenten ovan är följande:
    /path/to/folder/ – mappen där sökningen ska börja. Om det inte anges startas sökningen i den aktuella katalogen.
    Switchar som jag använder:
    -iname – söker efter filer och mappar som innehåller den angivna delen i namnet och ignorerar textbokstäver.

    Ett exempel:

    Här är kommandot jag kan använda för att hitta mina artiklar som jag har skrivit om webbläsaren Opera:

    find ~/Documents/winaero/ -iname *opera*.txt

  3. Om du bara behöver hitta filer eller mappar lägger du till alternativet -type f för filer eller -type d för kataloger. Här är några exempel:
  4. För att hitta nyligen ändrade filer och kataloger kan du använda följande alternativ till kommandot find:
    -mmin n – hitta filer som ändrades för n minuter sedan.-mtime n – hitta filer som ändrades för n*24 timmar sedan. När find räknar ut hur många 24-timmarsperioder sedan filen senast användes ignoreras alla bråkdelar, så för att matcha -mtime +1 måste en fil ha ändrats för minst två dagar sedan.
  5. Det är möjligt att utföra ett kommando för filer som hittats av din sökfråga. Se följande exempel:
    find ~/Documents/winaero/ -iname opera45.txt -type f -exec vim {} \;

    Här använder vi alternativet -exec för att köra textredigeraren vim för alla filer i sökresultatet. Delen ”{} ” står för filer som hittats av kommandot find. Avslutningen ”\;” anger slutet av kommandot för alternativet -exec.

The locate command

Sökverktyget locate använder en speciell fildatabas för att hitta filer direkt. Indexet för kommandot kan skapas och uppdateras med kommandot updatedb. Även om sökresultaten visas omedelbart måste du underhålla sökindexet och hålla det aktuellt, annars kan locate-kommandot hitta filer som raderats eller flyttats till en annan katalog.

I det allmänna fallet är syntaxen följande.

locate -i file_name

Optionen -i betyder ”ignorera text case”.

Här är ett exempel:

Bonustips: En annan metod som jag ofta använder är Midnight Commander (mc), konsolens filhanteringsapp. Till skillnad från find eller locate ingår mc inte som standard i alla Linux-distributioner jag har provat. Du kan behöva installera den själv.

Finn filer med mc

För att hitta filer som innehåller en viss specifik text med hjälp av Midnight Commander startar du appen och trycker på följande sekvens på tangentbordet:
Alt + Shift + ?
Detta kommer att öppna sökdialogrutan.

Fyller du in avsnittet ”Filnamn:” och trycker på Enter-knappen. Den kommer att hitta alla filer som matchar kriterierna.

Du kan placera dessa filer i den vänstra eller högra panelen med hjälp av alternativet Panelize och kopiera/flytta/ta bort/visa/göra vad du vill med dem.

That’s it.

Support us

Winaero förlitar sig mycket på ditt stöd. Du kan hjälpa webbplatsen att fortsätta ge dig intressant och användbart innehåll och programvara genom att använda dessa alternativ:

Lämna ett svar

Din e-postadress kommer inte publiceras.