3 manieren om bestanden te vinden op Linux

Inhoudsopgave:

3 manieren om bestanden te vinden op Linux
3 manieren om bestanden te vinden op Linux

Video: 3 manieren om bestanden te vinden op Linux

Video: 3 manieren om bestanden te vinden op Linux
Video: Finally Stop Spam Emails with this Gmail Trick! 2024, November
Anonim

Bestanden vinden op een Linux-systeem kan moeilijk zijn als u niet weet hoe. De beste manier om bestanden op Linux te vinden, is door een paar terminalopdrachten te gebruiken. Als u enkele van deze commando's onder de knie hebt, kunt u volledige controle over bestanden krijgen, en ze zijn nuttiger dan de eenvoudige zoekfuncties van andere besturingssystemen.

Stap

Methode 1 van 3: "vinden" gebruiken

690519 1
690519 1

Stap 1. Zoek naar bestanden op naam

Dit type zoekopdracht is de meest eenvoudige en u kunt dit doen met de opdracht find. De onderstaande opdracht voert een zoekopdracht uit op basis van het woord dat is ingevoerd in de directory waarin u zich bevindt en de subdirectories erin.

find -iname "bestandsnaam"

Als u -iname gebruikt in plaats van -name, heeft het verschil tussen trefwoorden in hoofdletters en kleine letters geen effect. De opdracht -name beschouwt hoofdletters en kleine letters als verschillende tekens

690519 2
690519 2

Stap 2. Stel de zoekopdracht in om te starten in de hoofdmap

Als u een systeembrede zoekopdracht wilt uitvoeren, kunt u de / modifier aan het trefwoord toevoegen. De modifier vertelt het find-commando om grondig te zoeken, beginnend vanuit de hoofdmap.

find / -iname "bestandsnaam"

  • U kunt een zoekopdracht starten in een specifieke directory door de / modifier te vervangen door het directorypad, bijvoorbeeld /home/pat.
  • Je kunt gebruiken. anders dan / zodat zoekopdrachten alleen worden uitgevoerd binnen de directory waarin u zich bevindt en ook de subdirectories erin.
690519 3
690519 3

Stap 3. Gebruik jokertekens

* om te zoeken naar iets dat gedeeltelijk overeenkomt met uw zoekwoorden.

Het jokerteken * kan worden gebruikt om bestanden te vinden waarvan u de volledige naam niet weet, of als u alle bestanden met een specifieke extensie wilt vinden.

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

  • De bovenstaande opdracht retourneert alle.conf-bestanden in de gebruikersdirectory met de naam Pat (evenals de subdirectories daarin).
  • U kunt het ook gebruiken om iets te vinden waarvan de naam gedeeltelijk overeenkomt met dat trefwoord. Als je bijvoorbeeld veel documenten hebt die gerelateerd zijn aan wikiHow, kun je ze vinden door "*wiki*" te typen.
690519 4
690519 4

Stap 4. Maak zoekresultaten gemakkelijker te beheren

Als de zoekresultaten te veel zijn, zal het moeilijk voor u zijn om het gewenste bestand te vinden. Gebruik het teken | en stuur de zoekresultaten terug naar het "minder" filterprogramma. Zo kun je makkelijker door de zoekresultaten scrollen en filteren.

zoek /home/pat -iname "*.conf" | minder

690519 5
690519 5

Stap 5. Zoek zoekresultaten met een specifiek type

U kunt modifiers gebruiken om alleen bepaalde soorten resultaten te retourneren. U kunt zoeken naar reguliere bestanden (f), mappen (d), symbolische koppelingen (l), tekenapparaten (c) en blokapparaten (b) met behulp van de juiste modificaties.

find / -type f -iname "bestandsnaam"

690519 6
690519 6

Stap 6. Filter de zoekresultaten op grootte

Als u veel bestanden met vergelijkbare namen hebt, maar de grootte van het gewenste bestand weet, kunt u de zoekopdracht filteren op grootte.

find / -size +50M -iname "bestandsnaam"

  • De bovenstaande opdracht retourneert zoekresultaten van 50 megabyte of meer. U kunt + of - gebruiken om te zoeken naar bestanden met een groter of kleiner formaat. Als u het + of - teken weglaat, levert de zoekopdracht alleen resultaten op met de echt "juiste" grootte.
  • U kunt de zoekopdracht filteren op bytes (c), kilobytes (k), megabytes (M), gigabytes (G) of 512 bytes (b) blokken. Houd er rekening mee dat de markeringen onderscheid maken tussen hoofdletters en kleine letters.
690519 7
690519 7

Stap 7. Gebruik booleaanse operatoren om zoekfilters te combineren

U kunt de operators -en, -or en -not gebruiken om verschillende zoekopdrachten te combineren.

find /travelphotos -type f -size +200k -not -iname "*2015*"

De bovenstaande opdracht zoekt naar bestanden in de map "reisfoto's" die groter zijn dan 200 kilobytes, maar die het woord "2015" niet in hun naam hebben

690519 8
690519 8

Stap 8. Voer een bestandszoekopdracht uit op naam van de eigenaar of per toestemming

Als u een specifiek bestand probeert te vinden dat aan een specifieke gebruiker toebehoort, of een bestand met bepaalde machtigingen zoekt, kunt u de zoekopdracht verfijnen.

find / -user pat -iname "bestandsnaam" find / -group gebruikers -iname "bestandsnaam" find / -perm 777 -iname "bestandsnaam"

De bovenstaande voorbeelden voeren een zoekopdracht uit naar een specifieke gebruiker, groep of toestemming binnen een trefwoord. U kunt de bestandsnaam ook weglaten om alle bestanden terug te geven die met dat type overeenkomen. Zoek / -perm 777 zal bijvoorbeeld alle bestanden met 777-machtigingen retourneren (geen beperkingen)

690519 9
690519 9

Stap 9. Voeg de opdrachten samen om de actie uit te voeren wanneer het bestand is gevonden

U kunt de opdracht find combineren met andere opdrachten, zodat u bestanden kunt verwerken die op trefwoord met die opdracht zijn geretourneerd. Scheid de opdracht find en de tweede opdracht met de vlag -exec en beëindig de regel met {};

vind. -type f -perm 777 -exec chmod 755 {};

De bovenstaande opdracht doorzoekt de map waarin u zich bevindt (en alle submappen daarin) naar bestanden met machtigingen voor 777. Vervolgens zal de chmod-opdracht de machtigingen wijzigen in 755

Methode 2 van 3: "Lokaliseren" gebruiken

690519 10
690519 10

Stap 1. Installeer

bevind zich functionaliteit. De opdracht location is over het algemeen sneller dan de opdracht find, vanwege het databasegebruik van uw bestandssysteem. Niet alle typen Linux zijn uitgerust met een locatiefunctie, dus voer het volgende commando in om het te installeren:

  • Typ sudo apt-get update en druk vervolgens op Enter.
  • U kunt het op Debian en ubuntu als volgt installeren: Typ sudo apt-get install mlocate en druk vervolgens op Enter. Als de locatiefunctie eerder is geïnstalleerd, ziet u de melding mlocate is al de nieuwste versie.
  • Gebruik op Arch Linux pacman package manager: pacman -Syu mlocate
  • Gebruik voor Gentoo emerge: emerge mlocate
690519 11
690519 11

Stap 2. Bijwerken

bevind zich database Jij. De lokatie-opdracht kan niets vinden totdat deze is gemaakt en bijgewerkt. Het proces wordt meestal elke dag automatisch uitgevoerd, maar u kunt het ook handmatig bijwerken. Dit moet u doen als u de lokaliseringsfunctie zo snel mogelijk wilt gebruiken.

Typ sudo updatedb en druk vervolgens op Enter

690519 12
690519 12

Stap 3. Gebruik de

bevind zich om een eenvoudige zoekopdracht uit te voeren.

De functie lokaliseren werkt snel, maar heeft niet zoveel opties als de opdracht find. U kunt op dezelfde manier zoeken naar bestanden als met de opdracht find.

zoek -i "*.jpg"

  • De bovenstaande opdracht doorzoekt het hele systeem naar bestanden met de extensie.jpg. Het jokerteken * werkt op dezelfde manier als de opdracht find.
  • Net als de opdracht find, maakt de modifier -i ook hoofdletters en kleine letters in trefwoorden die als hetzelfde worden beschouwd.
690519 13
690519 13

Stap 4. Beperk zoekresultaten

Als uw zoekopdracht zoveel resultaten oplevert dat u ze moeilijk kunt gebruiken, kunt u die resultaten verkleinen met de -n-modifier, gevolgd door het aantal resultaten dat u wilt retourneren.

zoek -n 20 -i "*.jpg"

  • Er worden slechts 20 zoekresultaten weergegeven.
  • U kunt ook |. gebruiken om zoekresultaten naar het minder filterprogramma te sturen om gemakkelijker door de resultaten te bladeren.

Methode 3 van 3: Zoeken naar tekst in bestanden

690519 14
690519 14

Stap 1. Gebruik het commando

grep om de tekststring in het bestand te vinden.

Als u op zoek bent naar een bestand dat een specifieke zin of tekenreeks bevat, kunt u de opdracht grep gebruiken. Het basis commando grep heeft het volgende formaat:

grep -r -i "zoekopdracht" /pad/naar/map/

  • De -r modifier maakt de zoekopdracht "recursief", dus er zal een zoekopdracht worden uitgevoerd binnen de directory en alle subdirectories daarin om bestanden te vinden die tekst bevatten met het zoekwoord.
  • De -i modifier geeft aan dat het zoekwoord geen onderscheid maakt tussen hoofdletters en kleine letters. Als u de zoekopdracht wilt forceren om onderscheid te maken tussen hoofdletters en kleine letters, negeert u de -i-modifier.
690519 15
690519 15

Stap 2. Verwijder overtollige tekst

Wanneer u een grep-zoekopdracht uitvoert zoals hierboven, ziet u de bestandsnaam met de overeenkomende letters gemarkeerd. U kunt de overeenkomende tekst verbergen en alleen de naam en het pad van de bestandsmap weergeven door toe te voegen:

grep -r -i "zoekwoord" /pad/naar/map/ | knippen -d: -f1

690519 16
690519 16

Stap 3. Verberg de foutmelding

Het grep-commando retourneert een fout bij een poging om toegang te krijgen tot een map zonder de juiste machtigingen of bij het invoeren van een lege map. U kunt foutmeldingen naar /dev/null sturen zodat ze niet verschijnen.

grep -r -i "zoekwoord" /pad/naar/map/ 2>/dev/null

Aanbevolen: