Senast uppdaterad den
Om du försöker söka efter en fil på Linux finns det några sätt att göra det, inklusive att använda terminalen eller appar på skärmen. Den här guiden visar dig hur.
Oavsett hur noggrann du är med filhantering kommer du till slut att undra var ett visst dokument är. Detta är sant på Mac, Windows och till och med Linux.
Hur söker man efter en fil i Linux? Som det visar sig har operativsystemet några mycket kraftfulla inbyggda verktyg för att göra filsökningar. Här är vad du behöver veta.
Hur man söker efter en fil i Linux från kommandoraden
Den mest kraftfulla metoden för att söka efter filer på Linux är att använda kommandoraden. Precis som Windows har en hitta kommando, det gör Linux också. UNIX-kommandot hitta kan mycket enkelt hitta alla typer av filer du letar efter. Utfört på rätt sätt, hitta kan till och med titta in i dina filer för att identifiera specifika textsträngar, och du kan begränsa din sökning till de filer som nyligen ändrats.
Grundläggande användning
Den grundläggande användningen av hitta ser ut som följande:
hitta /home/jeff -namn “*.jpg”
Det kommandot skulle söka i min hemkatalog efter alla filer som slutar på .jpg. Det finns dock mycket mer som kan göras med kommandot.
Följer symboliska länkar
Som standard är hitta kommandot ignorerar symboliska länkar. Men följande kommando följer dessa länkar:
hitta -O3 -L /var/www/ -namn "*.html"
I exemplet ovan skulle kommandot lista alla HTML-filer i /var/www katalogträd.
Hitta tomma filer
Låt oss nu säga att du ville identifiera alla tomma filer i en katalog. Följande kommando skulle göra just det:
hitta. -typ f -tom.
Nyckeln här är -typ och -tömma parametrar, används istället för -namn flagga i tidigare exempel.
Ytterligare exempel
Låt oss titta på ett mer grundläggande exempel, som kommer att returnera filer som ändrats under de föregående 6 dagarna.
hitta /hem -användare randomperson -mtime 6 -iname "*.db"
I detta kommando kommer alla filer som slutar på .db listas, ignorerar skiftläge, men bara om filerna har ändrats inom de senaste 6 dagarna av en användare som heter slumpmässig person.
Denna körning returnerar alla filer i den givna katalogen som ändrats under de senaste 11 dagarna
Användbara alternativ och optimeringar för att hitta Linux-filer
Ytterligare flaggor kan styra vilken ordning hitta tillämpar sina söktester. Som standard, hitta filtrerar sökresultaten efter filnamn först, innan du kör några andra tester. Denna flagga skulle vara -O1, men det finns egentligen ingen anledning att inkludera det.
Om du passerar -O2 flagga, hitta filter baserat på filnamnet och sedan filtyp. Det tredje valet, -O3, ordnar automatiskt om sökningen baserat på effektiv användning av resurser och sannolikheten för att returnera relevanta resultat.
Du kan ändra fler av standardbeteendena med dessa parametrar:
- -maxdjup X: söker i den angivna katalogen och dess underkataloger, till ett maximalt djup av X.
- -iname: söker efter filer, ignorerar versaler.
- -inte: ger bara resultat som inte matchar det angivna testfallet.
- -typ f: letar bara efter filer
- -typ d: söker endast efter kataloger
- -mtid X: returnerar endast de filer som ändrats i föregående X dagar.
Använda Grep för att hitta filer baserat på innehåll
Används på egen hand, hitta kommer bara att filtrera dina filer och kataloger baserat på filnamn och metadata. Det är dock möjligt att gräva ännu djupare och använda ett annat Linux-kommando för att söka efter filer baserat på vad de innehåller.
Verktyget för detta är det beprövade grep kommando. Så här fungerar det.
hitta. -typ f -exec grep "till exempel" '{}' \; -skriva ut.
Detta kommando kommer att titta igenom varje fil (-typ f) i det aktuella katalogträdet (noterat av . i kommandot). Därefter körs den grep "till exempel" på var och en av dessa filer, skriv ut de som innehåller till exempel.
I det här exemplet är hitta kommandot returnerar alla filer som innehåller texten "Hej"
I kommandot ovan, de lockiga hängslen ({}) är en platshållare för filresultaten som returneras av hitta kommando. Dessa är placerade inom enstaka citattecken (’) för att förhindra sändning grep ett missformat filnamn.
De -exec kommandot avslutas med semikolon (;), som behöver en flykt (\;) så Linux försöker inte tolka det som ett annat kommando eller parameter.
Använd Exec för att ta dina resultat ett steg längre
Nu när du vet hur du skickar din hitta resultat till ett annat kommando med hjälp av -exec, kommer du att vara intresserad av att lära dig att du kan göra mycket mer än bara grep dina sökresultat. Faktum är att den förmågan gör det ganska enkelt att snabbt och enkelt massmodifiera filer.
hitta. -namn "rc.conf" -exec chmod o+r '{}' \;
Utfärdad av root-användaren i /etc katalogen, skulle kommandot ovan söka efter alla namngivna filer rc.conf. Det skulle ändra behörigheterna för var och en av dessa filer för att ge filägaren läsbehörighet (chmod o+r).
Kom ihåg, -exec kommer att köras från rotkatalogen för din Linux-installation. Om du föredrar att köra ditt extra kommando från katalogen som innehåller den matchande filen, använd -execdir istället.
Som standard, -exec och -execdir kommer att fortsätta köra oavbrutet på egen hand. Om du hellre vill se uppmaningar innan det andra kommandot gör något, ersätt alternativen med -ok eller -okdir, respektive.
Använda -ok flagga, hitta kommer att fråga dig innan du vidtar någon åtgärd på filerna som matchar dina sökparametrar
Att verkligen få ut det mesta av hitta, det är avgörande att läs den manuella inmatningen för kommandot.
Hur man söker efter en fil i Linux med hjälp av GUI
Många GUI-filhanterare för Linux kommer också att stödja sökningar. I Ubuntu kan du söka efter specifika filer med hjälp av Filer Ansökan. Klicka bara på mappikonen i Dock och sedan på förstoringsglaset.
Detta GUI-verktyg låter dig filtrera efter filtyp och när filen senast öppnades eller ändrades. Vad du inte har med det här alternativet är möjligheten att köra andra kommandon snabbt på dina sökresultat.
Lär dig ins och outs med Linux
Oavsett om du är ny på operativsystemet Linux eller om du har kört det i flera år, kan du alltid fräscha upp dina kunskaper. Nu när du vet hur man söker efter en fil i Linux, kan det vara användbart att vet hur man använder SCP för att överföra filen till en annan maskin.
Om du vill begränsa åtkomsten till filer vill du det lista användarna på Linux först.
Så här rensar du Google Chromes cache, cookies och webbhistorik
Chrome gör ett utmärkt jobb med att lagra din webbhistorik, cache och cookies för att optimera webbläsarens prestanda online. Hennes hur man...