hoewel er vele manieren zijn waarmee we bestanden en mappen op Linux kunnen zoeken en lokaliseren, is de makkelijkste en snelste waarschijnlijk via de terminal. Echter, niet veel Linux-gebruikers weten dat, wat leidt tot onnodige frustratie. Hier is een korte gids die hopelijk zal helpen u te vinden wat u zoekt in uw systeem.
gebruik het Locate Commando
Het “locate” commando is het eerste resort dat een Linux gebruiker zou moeten gebruiken omdat het veel sneller is dan wat dan ook., De reden voor deze ongeëvenaarde snelheid is dat het locate commando niet echt op uw lokale harde schijven zoekt naar de bestanden of mappen die u moet vinden, maar meer zoals leest door de mlocate.db databasebestand dat alle bestandspaden in uw systeem bevat.
Als u locate nog niet hebt geïnstalleerd, gebruik dan de volgende opdrachten:
Debian en Ubuntu
sudo apt-get install locate
CentOS
yum install locate
Prepare locate commando for first use
om het MLOCATE bij te werken.,voer voor het eerste gebruik:
sudo updatedb
om locate te gebruiken, open een terminal en typ locate gevolgd door de bestandsnaam die u zoekt. In dit voorbeeld ben ik op zoek naar bestanden die het woord ‘sunny’ in hun naam bevatten.
locate sunny
Locate kan u ook vertellen hoe vaak een zoekwoord wordt gevonden in de database. Dit wordt bereikt door een “-c” parameter in het commando op te nemen, wat staat voor “count”.,
locate -c sunny
wat gebruikers hier in gedachten moeten houden is dat” locate ” de specifieke en exacte naam van het bestand dat u zoekt nodig heeft, in tegenstelling tot andere meer flexibele tools. Dat betekent dat locate is geweldig voor het vinden van iets dat je zeker bent over de naam, maar niet zo geweldig voor wanneer u niet precies de bestandsnaam herinneren.
locate howtoforge
vs
locate Howtoforge
bovendien, en omdat” locate ” een databasebestand leest, kunnen de resultaten verouderd zijn en niet volledig waar zijn., Om dit probleem te beperken, kunt u uw bestandspaden-database bijwerken door “sudo updatedb” te typen op een terminalsessie.
kijk hier voor meer voorbeelden van het gebruik van het locate Commando.
Als u daarna nog steeds niet krijgt wat u zocht, of u bent gewoon overweldigd door het aantal van de resultaten, ga dan verder met de volgende stap, dat is het & Amp; Quot; find & amp; quot; commando.
gebruik het Find Commando
Het “find” commando is een veel krachtiger maar ook trager zoekprogramma., Dit is omdat in tegenstelling tot het” locate “Commando,” find ” eigenlijk uw schijven zoekt naar de bestanden en mappen die de gebruiker zoekt. Find is perfect voor wanneer u een bestand of een map probeert te vinden, maar u kunt de naam ervan niet onthouden, omdat “find” kan zoeken naar bestanden die behoren tot een bepaalde gebruiker of groep gebruikers, bestanden die onlangs zijn gewijzigd of benaderd, bestanden die een specifiek groottebereik hebben, verborgen bestanden, uitvoerbare bestanden, alleen-lezen bestanden en bestanden met bepaalde machtigingen., Het beste deel is dat een gebruiker vrij is om meerdere van de bovenstaande criteria te combineren in een “find” commando, in wezen het verkleinen van de resultaten.
Over vernauwing gesproken, het eerste wat je wilt doen bij het uitvoeren van “find” is het vertellen om te zoeken in een specifieke map. Dit zal het zoekproces aanzienlijk versnellen, maar altijd afhankelijk van de grootte van de map. Als je weet waar het bestand zou kunnen zijn, open de terminal, navigeer naar de directory en voer “find . ”. Die punt vertelt Zoeken om te zoeken in de huidige directory., Als je in plaats daarvan in je Home directory wilt zoeken, vervang dan de punt door “~/”, en als je in je hele bestandssysteem wilt zoeken, gebruik dan”/”.
als voorbeeld wil ik zoeken naar een bestand dat een poster bevat in mijn downloadmap. Ik weet dat de bestandsnaam bevat het woord “poster” in het, maar ik weet niet precies meer de naam., Om deze reden navigeer ik naar mijn downloadmap via de terminal met “cd Downloads”, en voer vervolgens het commando in:
sudo find . -name "*poster*"
Hier is het resultaat:
Dit vertelt me dat er een pdf-bestand is met de naam “billy_poster copy” in de Downloads-map. Als ik niet wist waar het was, “find” zou me nog steeds laten weten dat het in de map Downloads als ik zocht op een bovenliggende map.
nu, als ik de “-name” parameter vervang door “-iname”, zou ik resultaten kunnen krijgen zonder rekening te houden met letters., Dat is iets dat er niet is in “locate”, dus nog een nuttig element voor als je niet zeker bent over de bestandsnaam.
sudo find . -iname "*poster*"
nu, laten we aannemen dat ik nog steeds op zoek ben naar hetzelfde poster bestand, en het enige dat ik me herinner is dat het minder dan 5 MB groot is. Het commando dat ik in dat geval zou gebruiken is:
find ~/ -size -5M
als ik wist dat het hoger is dan laten we zeggen 2MB, zou het commando “find ~/ -size +2M”zijn. Het beste deel is dat find Booleaanse operators ondersteunt om de zoektocht nog sterker te maken., In dit voorbeeld zal ik een commando gebruiken dat mijn kennis combineert dat het bestand minder dan 5 megabytes groot is, en ook meer dan 2. Het commando hiervoor zou zijn:
find / -size -5M -and -size +2M
Laatste, laten we voorstellen dat we ons niets herinneren over het bestand, maar we herinneren ons dat we het binnen drie minuten geleden hebben geopend. Om het te vinden, gebruik je het find commando als:
find / -amin -3
Dit zou “find / – amin -30” zijn voor een half uur, en “-amin -120” voor twee uur etc., Als u het bestand twee dagen geleden hebt geopend, gebruik dan dit:
find / -time -2
Dit toont alle bestanden die de afgelopen twee dagen zijn geopend op de locatie van de zoekopdracht.
Ik denk dat het bovenstaande de meeste van de gebruikelijke use case scenario ‘ s dekt. Voor meer informatie over het krachtige “find” Commando, open een terminal en typ “man find”. Succes met het vinden van wat je zoekt.
Meer voorbeelden van Linux find Commando kunnen hier gevonden worden.
Leave a Reply