Att hitta filer på ett Linux -system kan vara svårt om du inte vet hur. Det bästa sättet att hitta filer på Linux är att använda några terminalkommandon. Att behärska några av dessa kommandon kan ge dig fullständig kontroll över filer, och de är mer användbara än de enkla sökfunktionerna i andra operativsystem.
Steg
Metod 1 av 3: Använda "hitta"
Steg 1. Sök efter filer efter namn
Denna typ av sökning är den mest grundläggande, och du kan göra detta med kommandot find. Kommandot nedan kommer att utföra en sökning baserat på ordet som anges i katalogen du befinner dig i samt underkatalogerna i den.
hitta -namn "filnamn"
Om du använder -namn istället för -namn har skillnaden mellan stora och små nyckelord ingen effekt. Kommandot -name anser att stora och små bokstäver är olika tecken
Steg 2. Ställ in sökningen så att den startar i rotkatalogen
Om du vill göra en systemomfattande sökning kan du lägga till / modifieraren till nyckelordet. Modifieraren säger till kommandot find att söka grundligt, med början från rotkatalogen.
hitta / -namn "filnamn"
- Du kan starta en sökning i en specifik katalog genom att ersätta /modifieraren med katalogsökvägen, till exempel /home /pat.
- Du kan använda. annat än / så att sökningar endast utförs i den katalog du befinner dig i och även underkatalogerna i den.
Steg 3. Använd jokertecken
* att söka efter allt som delvis matchar dina sökord.
Jokertecknet * kan användas för att hitta filer vars fullständiga namn du inte känner till, eller om du vill hitta alla filer med ett specifikt tillägg.
hitta /home /pat -iname "*.conf"
- Kommandot ovan returnerar alla.conf -filer i användarkatalogen som heter Pat (liksom underkatalogerna däri).
- Du kan också använda den för att hitta allt vars namn delvis matchar det sökordet. Om du till exempel har många dokument relaterade till wikiHow kan du hitta dem genom att skriva "*wiki*".
Steg 4. Gör sökresultaten enklare att hantera
Om sökresultaten är för många blir det svårt för dig att hitta filen du vill ha. Använd tecknet | och skicka sökresultaten tillbaka till "mindre" filterprogram. På så sätt kan du bläddra igenom och filtrera sökresultaten lättare.
hitta /home /pat -namn "*.conf" | mindre
Steg 5. Hitta sökresultat med en specifik typ
Du kan använda modifierare för att endast returnera vissa typer av resultat. Du kan söka efter vanliga filer (f), kataloger (d), symboliska länkar (l), teckenenheter (c) och blockera enheter (b) med hjälp av lämpliga modifierare.
hitta / -typ f -namn "filnamn"
Steg 6. Filtrera sökresultaten efter storlek
Om du har många filer med liknande namn, men vet storleken på filen du vill ha, kan du filtrera sökningen efter storlek.
hitta / -storlek +50M -namn "filnamn"
- Kommandot ovan returnerar sökresultat på 50 megabyte eller mer. Du kan använda + eller - för att söka efter filer med en större eller mindre storlek. Om du utelämnar + eller - tecknet får sökresultatet endast resultat med den "korrekta" storleken.
- Du kan filtrera sökningen efter byte (c), kilobyte (k), megabyte (M), gigabyte (G) eller 512 byte (b) block. Tänk på att markeringarna skiljer mellan stora och små bokstäver.
Steg 7. Använd booleska operatörer för att kombinera sökfilter
Du kan använda operatorerna -och, -eller och -inte för att kombinera olika sökningar.
hitta /resa bilder -typ f -size +200k -inte -namn "*2015*"
Kommandot ovan kommer att leta efter filer i katalogen "travelphotos" som är över 200 kilobyte stora, men som inte har ordet "2015" i sitt namn
Steg 8. Utför en filsökning med ägarens namn eller behörighet
Om du försöker hitta en specifik fil som tillhör en specifik användare eller letar efter en fil med vissa behörigheter kan du begränsa sökningen.
hitta / -användare pat -namn "filnamn" hitta / -gruppanvändare -namn "filnamn" hitta / -perm 777 -namn "filnamn"
Exemplen ovan utför en sökning efter en specifik användare, grupp eller behörighet inom ett nyckelord. Du kan också utelämna filnamnet för att returnera alla filer som matchar den typen. Till exempel returnerar / -perm 777 alla filer med 777 behörigheter (inga begränsningar)
Steg 9. Koppla samman kommandona för att utföra åtgärden när filen har hittats
Du kan kombinera find -kommandot med andra kommandon så att du kan bearbeta filer som returneras av nyckelord med det kommandot. Separera find -kommandot och det andra kommandot med -exec -flaggan, avsluta sedan raden med {};
hitta. -typ f -perm 777 -exec chmod 755 {};
Kommandot ovan söker i katalogen du befinner dig i (och alla underkataloger i den) efter filer med 777 behörigheter. Då kommer chmod -kommandot att ändra behörigheterna till 755
Metod 2 av 3: Använda "lokalisera"
Steg 1. Installera
lokalisera funktionalitet. Kommandot lokalisera är i allmänhet snabbare än kommandot find, på grund av databasanvändningen av ditt filsystem. Alla typer av Linux är inte utrustade med en lokaliseringsfunktion, så ange följande kommando för att installera det:
- Skriv sudo apt-get update och tryck sedan på Retur.
- Du kan installera den på Debian och ubuntu så här: Skriv sudo apt-get install mlocate och tryck sedan på Retur. Om lokaliseringsfunktionen installerades tidigare ser du att meddelandet mlocate redan är den senaste versionen.
- På Arch Linux, använd pakethanteraren pacman: pacman -Syu mlocate
- För Gentoo, använd emerge: emerge mlocate
Steg 2. Uppdatera
lokalisera databas Du. Kommandot lokalisera kommer inte att kunna hitta någonting förrän det skapas och uppdateras. Processen utförs vanligtvis automatiskt varje dag, men du kan också uppdatera den manuellt. Du måste göra detta om du vill använda lokaliseringsfunktionen så snart som möjligt.
Skriv in sudo updatedb och tryck sedan på Retur
Steg 3. Använd
lokalisera för att utföra en enkel sökning.
Lokaliseringsfunktionen fungerar snabbt, men har inte så många alternativ som kommandot find. Du kan utföra grundläggande filsökning på ett liknande sätt som kommandot find.
lokalisera -i "*.jpg"
- Kommandot ovan söker efter filer med filtillägget-j.webp" />
- Precis som kommandot find, gör -i -modifieraren också stora och små bokstäver i nyckelord som anses vara desamma.
Steg 4. Begränsa sökresultaten
Om din sökning ger så många resultat att det är svårt för dig att använda dem kan du minska dessa resultat med -n -modifieraren, följt av antalet resultat du vill returnera.
lokalisera -n 20 -i "*.jpg"
- Endast 20 sökresultat visas.
- Du kan också använda | för att skicka sökresultat till mindre filterprogram för enklare rullning av resultat.
Metod 3 av 3: Söka efter text i filer
Steg 1. Använd kommandot
grep för att hitta textsträngen i filen.
Om du letar efter en fil som innehåller en specifik fras eller teckensträng kan du använda kommandot grep. Det grundläggande grep -kommandot har följande format:
grep -r -i "sökfråga"/sökväg/till/katalog/
- Modifieraren -r gör sökningen "rekursiv", så en sökning kommer att utföras i katalogen och alla underkataloger i den för att hitta filer som innehåller text med sökordet.
- Modifieraren -i anger att sökordet inte skiljer mellan stora och små bokstäver. Om du vill tvinga sökningen att skilja mellan stora och små bokstäver, ignorera -i -modifieraren.
Steg 2. Ta bort överflödig text
När du gör en grep -sökning som ovan ser du filnamnet med matchande bokstäver markerade. Du kan dölja matchande text och bara visa filkatalogens namn och sökväg genom att lägga till:
grep -r -i "sökord"/sökväg/till/katalog/| klipp -d: -f1
Steg 3. Dölj felmeddelandet
Grep -kommandot returnerar ett fel när du försöker komma åt en katalog utan lämpliga behörigheter eller när du anger en tom katalog. Du kan skicka felmeddelanden till /dev /null så att de inte visas.
grep -r -i "sökord"/sökväg/till/katalog/2>/dev/null