3 sätt att hitta en fil i Linux

Innehållsförteckning:

3 sätt att hitta en fil i Linux
3 sätt att hitta en fil i Linux

Video: 3 sätt att hitta en fil i Linux

Video: 3 sätt att hitta en fil i Linux
Video: How to Detect and Prevent Unauthorized Computer Access 2024, Maj
Anonim

Att hitta en fil i ett Linux -system kan vara svårt om du inte vet hur. Det bästa sättet att hitta filer är att använda flera olika terminalkommandon. Att behärska dessa kommandon kan ge dig fullständig kontroll över dina filer, och de är mycket kraftfullare än de enkla sökfunktionerna i andra operativsystem.

Steg

Metod 1 av 3: Använda "lokalisera"

690519 10 1
690519 10 1

Steg 1. Installera

lokalisera funktionalitet.

Kommandot lokalisera fungerar i allmänhet mycket snabbare än hitta, eftersom det fungerar från en databas över din filstruktur. Inte alla Linux -distributioner har lokaliseringsfunktionen installerad, så ange följande kommandon för att försöka installera den:

  • Skriv sudo apt-get update och tryck på ↵ Enter.
  • Du kan installera den i Debian och Ubuntu så här: Skriv sudo apt-get install mlocate och tryck på ↵ Enter. Om locate redan är installerat ser du meddelandet mlocate är redan den senaste versionen.
  • I Arch Linux använder du pakethanteraren pacman: pacman -S mlocate
  • För Gentoo, använd emerge: emerge mlocate
690519 11 1
690519 11 1

Steg 2. Uppdatera din

lokalisera databas.

Kommandot lokalisera kommer inte att kunna hitta någonting förrän databasen har byggts och uppdaterats. Detta sker automatiskt varje dag, men du kan också uppdatera det manuellt. Du måste göra detta om du vill börja använda lokalisera omedelbart.

Skriv sudo updatedb och tryck på ↵ Enter

690519 12 1
690519 12 1

Steg 3. Använd

lokalisera för att utföra enkla sökningar.

Kommandot lokalisera är snabbt, men det har inte så många alternativ som kommandot hitta. Du kan utföra en grundläggande filsökning på ungefär samma sätt som kommandot find.

lokalisera -i "*.jpg"

  • Detta kommando söker igenom hela systemet efter filer med filtillägget.jpg. Jokertecknet * fungerar på samma sätt som det gör med kommandot find.
  • Precis som kommandot find ignorerar -i fallet med din fråga.
690519 13 1
690519 13 1

Steg 4. Begränsa dina sökresultat

Om dina sökningar ger för många resultat att hantera kan du trimma ner dem med alternativet -n, följt av antalet resultat du vill visa.

lokalisera -n 20 -i "*.jpg"

  • Endast de första 20 resultaten som matchar frågan visas.
  • Du kan också använda | rör för att skicka resultaten till mindre för enkel rullning.

Metod 2 av 3: Använda "hitta"

690519 1 1
690519 1 1

Steg 1. Sök efter en fil efter dess filnamn

Detta är den mest grundläggande sökningen du kan utföra med hjälp av kommandot find. Kommandot nedan söker efter frågan i den aktuella katalogen och eventuella underkataloger.

hitta -namn "filnamn"

Att använda -iname istället för -name ignorerar fallet med din fråga. Kommandot -name är skiftlägeskänsligt

690519 2 1
690519 2 1

Steg 2. Ställ in sökningen så att den startar i rotkatalogen

Om du vill söka i hela systemet kan du lägga till / modifieraren i frågan. Detta visar hur du söker i alla kataloger från rotkatalogen.

hitta / -namn "filnamn"

  • Du kan starta sökningen i en specifik katalog genom att ersätta /med en katalogväg, till exempel /home /pat.
  • Du kan använda en. i stället för / för att tvinga sökningen att endast utföras i den aktuella katalogen och underkataloger.
690519 3 1
690519 3 1

Steg 3. Använd jokertecken

* för att söka efter allt som matchar den del av frågan.

Jokertecknet * kan vara användbart för att hitta något om du inte känner till hela namnet, eller om du vill hitta allt med ett specifikt tillägg.

hitta /home /pat -iname "*.conf"

  • Detta returnerar alla.conf -filer i Pats användarmapp (och underkataloger).
  • Du kan också använda den för att hitta allt som matchar en del av filnamnet. Om du till exempel har många dokument relaterade till wikiHow kan du hitta dem alla genom att skriva "*wiki*".
690519 4 1
690519 4 1

Steg 4. Gör dina sökresultat enklare att hantera

Om du får många sökresultat kan det vara svårt att bläddra igenom dem. Använd | tecken och skicka sökresultaten till "mindre" filtreringsprogram. Detta kan låta dig bläddra igenom och filtrera resultaten mycket enklare.

hitta /home /pat -namn "*.conf" | mindre

690519 5 1
690519 5 1

Steg 5. Hitta specifika typer av resultat

Du kan använda modifierare för att bara returnera specifika typer av resultat. Du kan söka efter vanliga filer (f), kataloger (d), symboliska länkar (l), teckenenheter (c) och blockera enheter (b) genom att använda rätt modifierare.

hitta / -typ f -namn "filnamn"

690519 6 1
690519 6 1

Steg 6. Filtrera dina sökresultat efter storlek

Om du har många filer med liknande namn, men vet vilken storlek du letar efter, kan du filtrera våra resultat efter storlek.

hitta / -storlek +50M -namn "filnamn"

  • Detta returnerar resultat som är 50 megabyte eller större. Du kan använda + eller - för att söka efter större eller mindre storlekar. Om du utelämnar + eller - söker du efter filer exakt den angivna storleken.
  • Du kan filtrera efter byte (c), kilobyte (k), megabyte (M), gigabyte (G) eller 512-byte-block (b). Observera att storleksflaggan är skiftlägeskänslig.
690519 7 1
690519 7 1

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 typer av sökningar till en.

hitta /resebilder -typ f -size +200k -inte -namn "*2015*"

Kommandot hittar filer i katalogen "travelphotos" som är större än 200 kilobyte men som inte har "2015" någonstans i filnamnet

690519 8 1
690519 8 1

Steg 8. Sök efter filer efter ägare eller behörigheter

Om du försöker hitta en specifik fil som ägs av en användare eller filer 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"

Ovanstående exempel söker efter de angivna användarna, grupperna eller behörigheterna för frågan. Du kan också utelämna filnamnsfrågan för att returnera alla filer som matchar den typen. Till exempel returnerar / -perm 777 alla filer med 777 (inga begränsningar) behörigheter

690519 9 1
690519 9 1

Steg 9. Kombinera kommandon för att utföra åtgärder när filer hittas

Du kan kombinera find -kommandot med andra kommandon så att du kan köra dem på filerna som returneras av frågan. Separera find -kommandot och det andra kommandot med -exec -flaggan och avsluta sedan raden med {};

hitta. -typ f -perm 777 -exec chmod 755 {};

Detta söker i den aktuella katalogen (och alla underkataloger) efter filer som har 777 behörigheter. Den använder sedan kommandot chmod för att ändra behörigheterna till 755

Metod 3 av 3: Söka efter text i filer

690519 14 1
690519 14 1

Steg 1. Använd

grep kommando för att söka efter textsträngar i filer.

Om du letar efter en fil som innehåller en viss fras eller teckensträng kan du använda kommandot grep. Ett grundläggande grep -kommando är formaterat enligt följande:

grep -r -i "sökfråga"/sökväg/till/katalog/

  • -R ställer in sökningen till "rekursiv", så den söker i den aktuella katalogen och alla underkataloger efter alla filer som innehåller frågesträngen.
  • -I anger att frågan inte är skiftlägeskänslig. Om du vill tvinga sökningen att uppmärksamma fall, utelämna -i -operatören.
690519 15 1
690519 15 1

Steg 2. Klipp ut den extra texten

När du utför en grep -sökning enligt ovan ser du filnamnet tillsammans med texten med matchande fråga markerad. Du kan dölja matchande text och bara visa filnamnen och sökvägarna genom att inkludera följande:

grep -r -i "sökfråga"/sökväg/till/katalog/| klipp -d: -f1

690519 16 1
690519 16 1

Steg 3. Dölj felmeddelanden

Grep -kommandot returnerar ett fel när det försöker komma åt mappar utan rätt behörighet eller stöter på tomma mappar. Du kan skicka felmeddelandena till /dev /null, vilket döljer dem från utdata.

grep -r -i "sökfråga"/sökväg/till/katalog/2>/dev/null

Rekommenderad: