Bestanden en mappen zoeken in Linux met behulp van de opdrachtregel

00_different_commands_for_finding_items

De meeste mensen gebruiken een grafische bestandsbeheerder om bestanden in Linux te vinden, zoals Nautilus in Gnome, Dolphin in KDE en Thunar in Xfce. Er zijn echter verschillende manieren om de opdrachtregel te gebruiken om bestanden in Linux te vinden, ongeacht welke desktopmanager u gebruikt.

01_search_in_nautilus

Gebruik het zoekcommando

Met de opdracht “find” kunt u bestanden zoeken waarvan u de geschatte bestandsnamen kent. De eenvoudigste vorm van de opdracht zoekt naar bestanden in de huidige map en recursief door de submappen die voldoen aan de opgegeven zoekcriteria. U kunt bestanden zoeken op naam, eigenaar, groep, type, machtigingen, datum en andere criteria.

Als u de volgende opdracht bij de prompt typt, worden alle bestanden in de huidige map weergegeven.

find .

De punt na “find” geeft de huidige directory aan.

02_find_dot_command

Om bestanden te vinden die overeenkomen met een specifiek patroon, gebruikt u de -name argument. U kunt metatekens voor bestandsnamen gebruiken (zoals * ), maar je moet ofwel een escape-teken ( ) voor elk ervan of tussen aanhalingstekens.

Als we bijvoorbeeld alle bestanden willen vinden die beginnen met “pro” in de map Documenten, gebruiken we de cd Documents/ opdracht om naar de map Documenten te gaan en typ vervolgens de volgende opdracht:

find . -name pro*

Alle bestanden in de huidige directory die beginnen met “pro”, worden weergegeven.

OPMERKING: De opdracht find is standaard hoofdlettergevoelig. Als u wilt dat de zoekopdracht naar een woord of zin niet hoofdlettergevoelig is, gebruikt u de -iname optie met het find commando. Het is de hoofdlettergevoelige versie van de -name opdracht.

03_zoek_gebruik_naam_argument

Als find vindt geen bestanden die aan uw criteria voldoen, het produceert geen uitvoer.

Het zoekcommando heeft veel opties beschikbaar om de zoekopdracht te verfijnen. Voor meer informatie over de opdracht find, voer je uit man find in een Terminal-venster en druk op Enter.

Met behulp van het lokaliseren commando

Het lokaliseercommando is sneller dan het zoekcommando omdat het een eerder gebouwde database gebruikt, terwijl het zoekcommando in het echte systeem door alle daadwerkelijke mappen en bestanden zoekt. Het lokaliseercommando retourneert een lijst met alle padnamen die de opgegeven groep tekens bevatten.

De database wordt periodiek bijgewerkt vanuit cron, maar u kunt deze ook op elk moment zelf bijwerken, zodat u tot op de minuut nauwkeurige resultaten kunt krijgen. Typ hiervoor de volgende opdracht bij de prompt:

sudo updatedb

Voer uw wachtwoord in wanneer daarom wordt gevraagd.

04_updating_locate_database

De basisvorm van het lokaliseercommando vindt alle bestanden in het bestandssysteem, beginnend bij de root, die alle of een deel van de zoekcriteria bevatten.

locate mydata

Met de bovenstaande opdracht zijn bijvoorbeeld twee bestanden gevonden die ‘mydata’ bevatten en één bestand met ‘data’.

05_using_basic_locate_command

Als u alle bestanden of mappen wilt vinden die exact en alleen uw zoekcriteria bevatten, gebruikt u de -b optie met het lokaliseer commando, als volgt.

locate -b ‘mydata’

De backslash in de bovenstaande opdracht is een globbing-teken, dat een manier biedt om jokertekens in een niet-specifieke bestandsnaam uit te breiden naar een set specifieke bestandsnamen. Een jokerteken is een symbool dat kan worden vervangen door een of meer tekens wanneer de uitdrukking wordt geëvalueerd. De meest voorkomende jokertekens zijn het vraagteken ( ? ), wat staat voor een enkel teken en de asterisk ( * ), wat staat voor een aaneengesloten reeks tekens. In het bovenstaande voorbeeld schakelt de backslash de impliciete vervanging van “mydata” door “* mydata *” uit, zodat u alleen resultaten krijgt die “mydata” bevatten.

06_locate_with_b_option

Het mlocate-commando is een nieuwe implementatie van lokaliseren. Het indexeert het volledige bestandssysteem, maar de zoekresultaten bevatten alleen bestanden waartoe de huidige gebruiker toegang heeft. Wanneer u de mlocate-database bijwerkt, houdt het tijdstempelinformatie in de database. Hierdoor kan mlocate weten of de inhoud van een map is gewijzigd zonder de inhoud opnieuw te lezen en worden updates van de database sneller en minder veeleisend voor uw harde schijf.

Wanneer u mlocate installeert, verandert het / usr / bin / localiseringsbestand zodat het naar mlocate verwijst. Om mlocate te installeren, typ je de volgende opdracht bij de prompt als het nog niet in je Linux-distributie is opgenomen.

sudo apt-get install mlocate

OPMERKING: We zullen u later in dit artikel een commando laten zien waarmee u kunt bepalen waar het uitvoerbare bestand voor een commando zich bevindt, als het bestaat.

07_installing_mlocate

Het mlocate-commando gebruikt niet hetzelfde databasebestand als het standaardlokalisatie-commando. Daarom wilt u de database wellicht handmatig maken door de volgende opdracht achter de prompt te typen:

sudo /etc/cron.daily/mlocate

De opdracht mlocate werkt niet totdat de database handmatig is gemaakt of wanneer het script wordt uitgevoerd vanuit cron.

08_creating_the_database

Typ voor meer informatie over de opdracht find of mlocate man locate of man mlocate in een Terminal-venster en druk op Enter. Voor beide opdrachten wordt hetzelfde helpscherm weergegeven.

Met behulp van het welke commando

De “which” -opdracht retourneert het absolute pad van het uitvoerbare bestand dat wordt aangeroepen wanneer een opdracht wordt gegeven. Dit is handig bij het vinden van de locatie van een uitvoerbaar bestand voor het maken van een snelkoppeling naar het programma op het bureaublad, een paneel of een andere plaats in de bureaubladbeheerder. Typ bijvoorbeeld de opdracht which firefox geeft de resultaten weer die in de onderstaande afbeelding worden weergegeven.

09_gebruik_welk_commando

Het welke commando geeft standaard alleen het eerste overeenkomende uitvoerbare bestand weer. Om alle overeenkomende uitvoerbare bestanden weer te geven, gebruikt u de -a optie met het commando:

which -a firefox

U kunt in één keer naar meerdere uitvoerbare bestanden zoeken, zoals weergegeven in de volgende afbeelding. Alleen de paden naar gevonden uitvoerbare bestanden worden weergegeven. In het onderstaande voorbeeld is alleen het uitvoerbare bestand “ps” gevonden.

10_user_which_command_multiple_programs

OPMERKING: het commando welke zoekt alleen naar de PATH-variabele van de huidige gebruiker. Als u zoekt naar een uitvoerbaar bestand dat alleen beschikbaar is voor de rootgebruiker als normale gebruiker, worden er geen resultaten weergegeven.

Voor meer informatie over welke opdracht, typ je “man which” (zonder de aanhalingstekens) bij de opdrachtprompt in een Terminal-venster en druk je op Enter.

Met behulp van het Whereis-commando

Het whereis-commando wordt gebruikt om erachter te komen waar de binaire bestanden, de broncode en de manpaginabestanden voor een commando zich bevinden. Bijvoorbeeld typen whereis firefox bij de prompt worden resultaten weergegeven zoals weergegeven in de volgende afbeelding.

11_using_whereis_command

Als u alleen het pad naar het uitvoerbare bestand wilt weergeven, en niet de paden naar de bron- en de man (ual) pagina’s, gebruik dan de -b keuze. Bijvoorbeeld het commando whereis -b firefox wordt alleen weergegeven /usr/bin/firefox als resultaat. Dit is handig omdat u hoogstwaarschijnlijk vaker naar het uitvoerbare bestand van een programma zoekt dan naar de bron- en manpagina’s voor dat programma. U kunt ook zoeken naar alleen de bronbestanden ( -s ) of alleen voor de manpages ( -m ).

Typ voor meer informatie over de opdracht whereis man whereis in een Terminal-venster en druk op Enter.

Het verschil begrijpen tussen het Whereis-commando en het welke-commando

Het whereis-commando toont je de locatie voor de binaire, source- en man-pagina’s voor een commando, terwijl het welke-commando je alleen de locatie van het binaire voor het commando laat zien.

Het commando whereis doorzoekt een lijst met specifieke mappen voor de binaire, bron- en man-bestanden, terwijl het commando de mappen doorzoekt die worden vermeld in de PATH-omgevingsvariabele van de huidige gebruiker. Voor het whereis commando kan de lijst met specifieke directories gevonden worden in de FILES sectie van de manpages voor het commando.

Als het gaat om resultaten die standaard worden weergegeven, geeft het commando whereis alles weer wat het vindt, terwijl het commando alleen het eerste uitvoerbare bestand weergeeft dat het vindt. U kunt dat wijzigen met de -a optie, eerder besproken, voor het welke commando.

Omdat de opdracht whereis alleen paden gebruikt die hard gecodeerd zijn in de opdracht, vindt u mogelijk niet altijd wat u zoekt. Als u op zoek bent naar een programma waarvan u denkt dat het is geïnstalleerd in een map die niet wordt vermeld in de man-pagina’s voor het whereis-commando, wilt u misschien het which-commando gebruiken met de -a optie om alle exemplaren van de opdracht in het hele systeem te vinden.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in