3 manieren om een bestand te vinden in Linux

Inhoudsopgave:

3 manieren om een bestand te vinden in Linux
3 manieren om een bestand te vinden in Linux

Video: 3 manieren om een bestand te vinden in Linux

Video: 3 manieren om een bestand te vinden in Linux
Video: Hoe ongeautoriseerde computertoegang te detecteren en te voorkomen 2024, Mei
Anonim

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

Stappen

Methode 1 van 3: "Lokaliseren" gebruiken

690519 10 1
690519 10 1

Stap 1. Installeer het

bevind zich functionaliteit.

Het lokatiecommando werkt over het algemeen veel sneller dan find, omdat het werkt vanuit een database van uw bestandsstructuur. Niet alle Linux-distributies worden geleverd met de locatiefunctionaliteit geïnstalleerd, dus voer de volgende opdrachten in om te proberen het te installeren:

  • Typ sudo apt-get update en druk op ↵ Enter.
  • Je kunt het als volgt in Debian en Ubuntu installeren: Typ sudo apt-get install mlocate en druk op ↵ Enter. Als Locate al is geïnstalleerd, ziet u het bericht mlocate is al de nieuwste versie.
  • Gebruik in Arch Linux de pacman-pakketbeheerder: pacman -S mlocate
  • Gebruik voor Gentoo emerge: emerge mlocate
690519 11 1
690519 11 1

Stap 2. Werk uw

bevind zich databank.

De opdracht location kan niets vinden totdat de database is gebouwd en bijgewerkt. Dit gebeurt dagelijks automatisch, maar u kunt het ook handmatig bijwerken. U moet dit doen als u Locate direct wilt gaan gebruiken.

Typ sudo updatedb en druk op ↵ Enter

690519 12 1
690519 12 1

Stap 3. Gebruik

bevind zich om eenvoudige zoekopdrachten uit te voeren.

Het find-commando is snel, maar heeft niet zoveel opties als het find-commando. U kunt een basiszoekopdracht naar bestanden uitvoeren op vrijwel dezelfde manier als de opdracht find.

zoek -i "*.jpg"

  • Deze opdracht doorzoekt je hele systeem naar bestanden met de extensie.jpg. Het jokerteken * werkt op dezelfde manier als bij de opdracht find.
  • Net als de opdracht find, negeert de -i het geval van uw zoekopdracht.
690519 13 1
690519 13 1

Stap 4. Beperk je zoekresultaten

Als uw zoekopdrachten te veel resultaten opleveren om te verwerken, kunt u ze inkorten met de optie -n, gevolgd door het aantal resultaten dat u wilt weergeven.

zoek -n 20 -i "*.jpg"

  • Alleen de eerste 20 resultaten die overeenkomen met de zoekopdracht worden weergegeven.
  • U kunt ook de |. gebruiken pipe om de resultaten naar minder te sturen om gemakkelijk te kunnen scrollen.

Methode 2 van 3: "vinden" gebruiken

690519 1 1
690519 1 1

Stap 1. Zoek een bestand op de bestandsnaam

Dit is de meest elementaire zoekopdracht die u kunt uitvoeren met de opdracht find. De onderstaande opdracht zoekt naar de zoekopdracht in de huidige map en eventuele submappen.

find -iname "bestandsnaam"

Het gebruik van -iname in plaats van -name negeert het hoofdlettergebruik van uw zoekopdracht. De opdracht -name is hoofdlettergevoelig

690519 2 1
690519 2 1

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

Als u uw hele systeem wilt doorzoeken, kunt u de / modifier aan de zoekopdracht toevoegen. Dit zal find vertellen om alle mappen te doorzoeken vanaf de hoofdmap.

find / -iname "bestandsnaam"

  • U kunt het zoeken in een specifieke map starten door de / te vervangen door een mappad, zoals /home/pat.
  • Je kunt een. in plaats van / om te forceren dat de zoekopdracht alleen wordt uitgevoerd op de huidige directory en subdirectories.
690519 3 1
690519 3 1

Stap 3. Gebruik het jokerteken

* om te zoeken naar iets dat overeenkomt met het deel van de zoekopdracht.

Het jokerteken * kan handig zijn om iets te vinden als u de volledige naam niet weet, of als u alles met een specifieke extensie wilt vinden.

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

  • Hiermee worden alle.conf-bestanden in Pat's gebruikersmap (en subdirectories) geretourneerd.
  • Je kunt het ook gebruiken om alles te vinden dat overeenkomt met een deel van de bestandsnaam. Als je bijvoorbeeld veel documenten hebt die verband houden met wikiHow, kun je ze allemaal vinden door "*wiki*" te typen.
690519 4 1
690519 4 1

Stap 4. Maak uw zoekresultaten gemakkelijker te beheren

Als u veel zoekresultaten krijgt, kan het moeilijk zijn om ze te doorzoeken. Gebruik de | teken en stuur de zoekresultaten naar het "minder" filterprogramma. Hierdoor kunt u veel gemakkelijker door de resultaten bladeren en deze filteren.

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

690519 5 1
690519 5 1

Stap 5. Zoek specifieke soorten resultaten

U kunt modifiers gebruiken om alleen specifieke soorten resultaten te retourneren. U kunt zoeken naar reguliere bestanden (f), mappen (d), symbolische koppelingen (l), tekenapparaten (c) en blokapparaten (b) door de juiste modifier te gebruiken.

find / -type f -iname "bestandsnaam"

690519 6 1
690519 6 1

Stap 6. Filter uw zoekresultaten op grootte

Als u veel bestanden met vergelijkbare namen heeft, maar de grootte weet die u zoekt, kunt u onze resultaten filteren op grootte.

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

  • Hiermee worden resultaten geretourneerd die 50 megabyte of groter zijn. U kunt + of - gebruiken om te zoeken naar grotere of kleinere maten. Als u de + of - weglaat, worden bestanden met exact de opgegeven grootte gezocht.
  • U kunt filteren op bytes (c), kilobytes (k), megabytes (M), gigabytes (G) of blokken van 512 bytes (b). Merk op dat de maatvlag hoofdlettergevoelig is.
690519 7 1
690519 7 1

Stap 7. Gebruik booleaanse operatoren om zoekfilters te combineren

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

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

De opdracht vindt bestanden in de map "reisfoto's" die groter zijn dan 200 kilobytes, maar die nergens "2015" in de bestandsnaam hebben

690519 8 1
690519 8 1

Stap 8. Zoek naar bestanden op eigenaar of machtigingen

Als u een specifiek bestand probeert te vinden dat eigendom is van een gebruiker, of bestanden met bepaalde machtigingen, kunt u de zoekopdracht verfijnen.

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

De bovenstaande voorbeelden zoeken in de opgegeven gebruikers, groepen of machtigingen voor de query. U kunt de bestandsnaamquery ook weglaten om alle bestanden te retourneren die met dat type overeenkomen. Bijvoorbeeld, find / -perm 777 zal alle bestanden retourneren met de 777 (geen beperkingen) permissies

690519 9 1
690519 9 1

Stap 9. Combineer opdrachten om acties uit te voeren wanneer bestanden worden gevonden

U kunt de opdracht find combineren met andere opdrachten, zodat u ze kunt uitvoeren op de bestanden die door de query worden 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 {};

Hiermee wordt in de huidige map (en alle submappen) gezocht naar bestanden met 777-machtigingen. Het zal dan het chmod-commando gebruiken om de machtigingen te wijzigen in 755

Methode 3 van 3: Zoeken naar tekst in bestanden

690519 14 1
690519 14 1

Stap 1. Gebruik de

grep commando om te zoeken naar tekstreeksen in bestanden.

Als u op zoek bent naar een bestand dat een bepaalde zin of reeks tekens bevat, kunt u het grep-commando gebruiken. Een basis grep-commando is als volgt geformatteerd:

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

  • De -r stelt de zoekopdracht in op "recursief", dus het zal de huidige map en alle submappen doorzoeken op elk bestand dat de queryreeks bevat.
  • De -i geeft aan dat de query niet hoofdlettergevoelig is. Als u de zoekopdracht wilt forceren om aandacht te schenken aan hoofdletters, laat dan de operator -i weg.
690519 15 1
690519 15 1

Stap 2. Knip de extra tekst uit

Wanneer u een grep-zoekopdracht uitvoert zoals hierboven, ziet u de bestandsnaam samen met de tekst met de overeenkomende zoekopdracht gemarkeerd. U kunt de overeenkomende tekst verbergen en alleen de bestandsnamen en paden weergeven door het volgende op te nemen:

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

690519 16 1
690519 16 1

Stap 3. Verberg foutmeldingen

Het grep-commando retourneert een fout wanneer het probeert toegang te krijgen tot mappen zonder de juiste machtigingen of wanneer het in lege mappen loopt. U kunt de foutmeldingen naar /dev/null sturen, waardoor ze voor de uitvoer worden verborgen.

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

Aanbevolen: