Een bestand vinden in Linux

Schrijver: Janice Evans
Datum Van Creatie: 26 Juli- 2021
Updatedatum: 23 Juni- 2024
Anonim
How to Find Files in Linux | Learning Terminal
Video: How to Find Files in Linux | Learning Terminal

Inhoud

Het vinden van een bestand op een Linux-systeem is best moeilijk als je niet weet hoe je het moet doen. Het is het beste om verschillende commando's te gebruiken die in de Terminal worden ingevoerd. Als je dergelijke commando's onder de knie hebt, heb je volledige controle over de bestanden; ook zijn deze opdrachten functioneler dan vergelijkbare zoekmachines in andere besturingssystemen.

Stappen

Methode 1 van 3: Het zoekprogramma

  1. 1 Zoek het bestand op naam. Zo'n eenvoudige zoekopdracht wordt uitgevoerd met behulp van het hulpprogramma vinden... De onderstaande opdracht zoekt naar een bestand in de huidige map en al zijn submappen.

    find -iname "bestandsnaam"

    • Binnenkomen -ik noem in plaats van -naamom hoofdletters in de ingevoerde bestandsnaam te negeren. Team -naam is hoofdlettergevoelig.
  2. 2 Begin met zoeken in de hoofdmap. Om een ​​systeembrede zoekopdracht te starten, voegt u de modifier toe aan de zoekopdracht /... In dit geval is het commando vinden zal het bestand in alle mappen zoeken vanaf de root.

    find / -iname "bestandsnaam"

    • U kunt beginnen met zoeken in een specifieke directory; om dit te doen, vervang / naar een directorypad, bijvoorbeeld / home / max.
    • Kan worden gebruikt . in plaats van /om het bestand alleen in de huidige map en zijn submappen te zoeken.
  3. 3 Gebruik een generalisatiesymbool.*om bestanden te vinden waarvan de naam overeenkomt met het deel van het verzoek. Het generalisatiesymbool gebruiken * u kunt een bestand vinden waarvan de volledige naam onbekend is, of u kunt alle bestanden met een specifieke extensie vinden.

    find / home / max -iname " *. conf"

    • Deze opdracht vindt alle bestanden met de extensie .conf in de Max-gebruikersmap (en zijn submappen).
    • Gebruik deze opdracht om alle bestanden te vinden die overeenkomen met een deel van de zoekopdracht. Als je bijvoorbeeld veel WikiHow-gerelateerde bestanden op je computer hebt staan, vind je alle bestanden door te typen " * wiki *".
  4. 4 Maak het gemakkelijker om zoekresultaten te beheren. Als er te veel zoekresultaten zijn, is het moeilijk om het bestand te vinden dat u zoekt. Gebruik het symbool |om de zoekresultaten met minder te filteren. Dit maakt het gemakkelijker om uw zoekresultaten te bekijken en te filteren.

    find / home / max -iname " *. conf" | minder

  5. 5 Zoek specifieke items. Gebruik modifiers om alleen specifieke items in zoekresultaten weer te geven. U kunt zoeken naar gewone bestanden (F), mappen (NS), symbolische links (ik), karakter I / O-apparaten (met) en apparaten blokkeren (B).

    find / -type f -iname "bestandsnaam"

  6. 6 Filter uw zoekresultaten op bestandsgrootte. Als je veel bestanden met vergelijkbare namen op je computer hebt staan, maar je weet hoe groot het bestand is dat je zoekt, filter dan de zoekresultaten op bestandsgrootte.

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

    • Met deze opdracht worden alle bestanden gevonden die groter zijn dan 50 MB. Gebruik een modifier + of -om een ​​toename of afname in grootte aan te geven. Als de modifier + of - nee, de opdracht zal bestanden vinden die exact dezelfde grootte hebben als de opgegeven grootte.
    • Zoekresultaten kunnen worden gefilterd op bytes (C), kilobyte (k), megabyte (m), gigabyte (G) of blokken van 512 bytes (B). Merk op dat de getoonde modifiers hoofdlettergevoelig zijn.
  7. 7 Gebruik logische operatoren (booleaanse operatoren) om zoekfilters te combineren. Operators kunnen worden gebruikt -en, -of, -nietom verschillende zoektermen te combineren in één zoekopdracht.

    zoek / reisfoto's -type f -grootte + 200k -niet -iname " * 2015 *"

    • Met deze opdracht worden bestanden in de map "Reisfoto's" gevonden die groter zijn dan 200 KB en die het nummer 2015 niet in hun naam hebben.
  8. 8 Zoek bestanden op eigenaar of machtigingen. Als u een bestand moet vinden dat eigendom is van een specifieke gebruiker of een bestand met specifieke toegangsrechten, kunt u uw zoekopdracht verfijnen.

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

    • De bovenstaande opdrachten vinden het bestand voor een specifieke gebruiker, groep of met specifieke toegangsrechten. U kunt ook de bestandsnaam in de query weglaten om alle bestanden te vinden die voldoen aan de opgegeven criteria. Bijvoorbeeld het commando zoek / -perm 777 vindt alle bestanden met permissies 777 (onbeperkt).
  9. 9 Combineer de opdrachten om specifieke acties uit te voeren nadat het zoeken naar bestanden is voltooid. Het team vinden kan worden gecombineerd met andere opdrachten die de gevonden bestanden zullen verwerken. Om dit te doen, tussen het team vinden en met het tweede commando enter -execen aan het einde van de regel enter {} ;

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

    • Deze opdracht vindt in de huidige map (en zijn submappen) alle bestanden met permissies 777, en gebruikt dan de opdracht chmod de toegangsrechten worden gewijzigd in 755.

Methode 2 van 3: zoek hulpprogramma

  1. 1 Installeer het hulpprogramma.bevind zich... Dit hulpprogramma is sneller dan het hulpprogramma vindenomdat het het bestandssysteem niet echt scant. Niet alle Linux-distributies worden echter met het hulpprogramma geleverd. bevind zichdus voer de volgende opdrachten in om het te installeren:
    • Binnenkomen sudo apt-get update en druk op ↵ Enter.
    • Op Debian en Ubuntu doet u het volgende: enter sudo apt-get install mlocate en druk op ↵ Enter... Indien bevind zich al geïnstalleerd, wordt een bericht weergegeven mlocate is al de nieuwste versie (Laatste versie geïnstalleerd).
    • Gebruik op Arch Linux de pacman-pakketbeheerder: pacman -Syu mlocate
    • Gebruik op Gentoo emerge: ontstaan ​​mlocate
  2. 2 Werk de hulpprogrammadatabase bij.bevind zich... Dit hulpprogramma kan niets vinden zonder een eerder gemaakte en bijgewerkte database (die een schijn van een momentopname van het bestandssysteem opslaat). De database wordt dagelijks in automatische modus bijgewerkt, maar dit kan handmatig worden gedaan. Update de database handmatig om er direct mee aan de slag te gaan bevind zich.
    • Binnenkomen sudo bijgewerktb en druk op ↵ Enter.
  3. 3 Gebruik maken van.bevind zichom eenvoudige zoekopdrachten uit te voeren. Nut bevind zich werkt snel, maar het is niet zo functioneel als het hulpprogramma vinden... Team bevind zich behandelt eenvoudige zoekopdrachten op dezelfde manier als de opdracht vinden.

    zoek -i " *.webp"

    • Deze opdracht vindt (in het hele systeem) alle bestanden met de extensie .webp... Hier het generalisatiesymbool * werkt hetzelfde als het team vinden.
    • Vind het team leuk vinden, modificatie -I negeert het geval van de zoekterm.
  4. .
  5. 4 Beperk het aantal zoekresultaten. Als er te veel zoekresultaten zijn, verkort ze dan met de modifier -N en een getal dat het aantal weergegeven zoekresultaten bepaalt.

    zoek -n 20 -i " *.webp"

    • Met deze opdracht worden de eerste 20 resultaten weergegeven die overeenkomen met uw zoekterm.
    • U kunt ook het symbool gebruiken |om de zoekresultaten met minder te filteren. Dit maakt het makkelijker om de zoekresultaten te zien.

Methode 3 van 3: Zoek tekst in bestanden

  1. 1 Gebruik de opdracht.grepom tekst in bestanden te zoeken. Doe dit om een ​​bestand te vinden dat een specifieke zin of regel bevat. Basis opdracht formaat grep als volgt:

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

    • Aanpasser -R maakt de zoekopdracht recursief, dus elk bestand dat een tekenreeks uit de zoekterm bevat, wordt gevonden in de huidige map (en alle submappen).
    • Aanpasser -I geeft aan dat het verzoek niet hoofdlettergevoelig is. Voer de modifier niet in om hoofdlettergevoelig te zijn -I.
  2. 2 Verberg overtollige tekst. Bij het uitvoeren van de opdracht grep (zoals hierboven beschreven) de bestandsnaam en tekst met de gemarkeerde zin of tekenreeks die is opgegeven in de zoekopdracht, worden op het scherm weergegeven. U kunt dergelijke tekst verbergen om alleen de bestandsnaam en het pad weer te geven. Voer hiervoor de volgende opdracht in:

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

  3. 3 Verberg foutmeldingen. Team grep geeft een foutmelding weer als het probeert toegang te krijgen tot mappen zonder de juiste machtigingen of in lege mappen terechtkomt. Dergelijke berichten kunnen worden verzonden naar / dev / null zodat ze niet op het scherm verschijnen.

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