medan det finns många sätt som vi kan söka och hitta filer och kataloger på Linux, är det enklaste och snabbaste förmodligen via terminalen. Men inte många Linux-användare vet om det, vilket leder till onödig frustration. Här är en snabbguide som förhoppningsvis hjälper dig att hitta vad du letar efter i ditt system.
använd kommandot lokalisera
kommandot ”lokalisera” är den första utväg som en Linux-användare ska använda eftersom det är mycket snabbare än något annat där ute., Anledningen till denna oöverträffade hastighet är att lokalisera kommandot inte faktiskt söker din lokala hårddiskar för de filer eller kataloger som du behöver hitta, men mer som läser igenom mlocate.db databasfil som innehåller alla sökvägar i ditt system.
om du inte har installerat lokalisera ännu, Använd dessa kommandon:
Debian och Ubuntu
sudo apt-get install locate
CentOS
yum install locate
Förbered lokaliseringskommandot för första användning
för att uppdatera mlocate.,db databas innan första användning, kör:
sudo updatedb
för att använda lokalisera, öppna en terminal och skriv lokalisera följt av filnamnet du letar efter. I det här exemplet söker jag efter filer som innehåller ordet ”sunny” i deras namn.
locate sunny
lokalisera kan också berätta hur många gånger ett sökord matchas i databasen. Detta uppnås genom att inkludera en” – C ” – parameter i kommandot, som står för ”count”.,
locate -c sunny
vad användarna behöver tänka på här är att ”lokalisera” behöver det specifika och exakta namnet på filen du letar efter, i motsats till andra mer flexibla verktyg. Det betyder att lokalisera är bra för att hitta något som du är säker på dess namn, men inte så bra för när du inte exakt kommer ihåg filnamnet.
locate howtoforge
vs
locate Howtoforge
dessutom, och eftersom ”locate” läser en databasfil, kan resultaten vara föråldrade och inte helt sanna., För att mildra problemet kan du uppdatera din databas med sökvägar genom att skriva ”sudo updatedb” på en terminalsession.
ta en titt här för fler exempel på hur du använder kommandot lokalisera.
om du efter det fortfarande inte får det du letade efter, eller om du helt enkelt är överväldigad av resultatens nummer, fortsätt till nästa steg som är kommandot ”Sök”.
använd kommandot Sök
kommandot ”Sök” är ett mycket kraftfullare men också långsammare sökverktyg., Detta beror på att i motsats till kommandot” lokalisera”, ”hitta” faktiskt söker dina diskar efter de filer och kataloger som användaren är ute efter. Hitta är perfekt för när du försöker hitta en fil eller en katalog men du kan inte komma ihåg dess namn, eftersom ”hitta” kan söka efter filer som tillhör en viss användare eller grupp av användare, filer som har ändrats eller nås nyligen, filer som en viss storlek intervall, dolda filer, körbara, skrivskyddade filer och filer med vissa behörigheter., Det bästa är att en användare är fri att kombinera flera av ovanstående kriterier i ett” SÖK ” – kommando, vilket väsentligen begränsar resultaten.
När man talar om att minska ner, är det första du vill göra när du kör ”SÖK” att berätta för den att söka på en viss katalog. Detta kommer att påskynda sökprocessen avsevärt, men alltid beroende på katalogens storlek. Om du vet var filen kan vara, öppna terminalen, navigera till katalogen och kör ”sök”. ”. Den punkten berättar hitta att söka på den aktuella katalogen., Om du vill söka i din hemkatalog istället, ersätt pricken med”~/”, och om du vill söka i hela ditt filsystem, använd ”/” istället.
som ett exempel vill jag söka efter en fil som innehåller en affisch i min nedladdningskatalog. Jag vet att filnamnet innehåller ordet ”affisch” i det, men jag minns inte exakt namnet., Av den anledningen skulle jag navigera till min nedladdningsmapp via terminalen med ”cd-nedladdningar” och ange sedan kommandot:
sudo find . -name "*poster*"
här är resultatet:
det här säger mig att det finns en pdf-fil som heter ”billy_poster copy” i hämtningsmappen. Om jag inte visste var det var, skulle ”hitta” fortfarande låta mig veta att det är i mappen Nedladdningar om jag sökte på en överordnad katalog.
Nu, om jag ersätter parametern ”-name” med ”-iname”, kunde jag få resultat utan avseende på brevfall., Det är något som inte finns i ”lokalisera”, så ett annat användbart element för när du inte är säker på filnamnet.
sudo find . -iname "*poster*"
låt oss anta att jag fortfarande söker efter samma affischfil, och det enda jag kommer ihåg är att det är mindre än 5 MB storlek. Kommandot som jag skulle använda i så fall är:
find ~/ -size -5M
om jag visste att det är högre än låter säga 2MB, skulle kommandot vara ”hitta ~/ -Storlek +2M”. Det bästa är att hitta stöder booleska operatörer för att göra sökningen ännu starkare., I det här exemplet använder jag ett kommando som kombinerar min kunskap om att filen är mindre än 5 megabyte i storlek och även mer än 2. Kommandot för detta skulle vara:
find / -size -5M -and -size +2M
sist, låt oss föreslå att vi inte kommer ihåg någonting om filen men vi kommer ihåg att vi kom åt den inom tre minuter sedan. För att hitta den, använd kommandot Sök som:
find / -amin -3
det här skulle vara ”sök / -amin -30” i en halvtimme och ”-amin -120” i två timmar etc., Om du kom åt filen för två dagar sedan, Använd den här istället:
find / -time -2
detta visar alla filer som nås under de senaste två dagarna på platsen för sökningen.
Jag tror att ovanstående täcker de flesta av de vanliga användningsfallsscenarierna. För mer information om det kraftfulla kommandot ”hitta”, öppna en terminal och skriv ”man find”. Lycka till med att hitta det du letar efter.
fler exempel på Linux find-Kommandot finns här.
Leave a Reply