Linux FIND-opdracht met voorbeelden
Weet u hoeveel bestanden er in een nieuwe Linux -installatie zitten ? Als u de PopOS! Linux-distributie(Linux distribution) als voorbeeld, er zijn meer dan 31.000 bestanden. Dat is voordat u begint met het maken van documenten, het opslaan van muziek, het downloaden van PDF's of het ordenen van afbeeldingen.
Hierdoor wordt het een uitdaging om het juiste bestand of de juiste map in Linux te vinden wanneer je het nodig hebt. In dit artikel leer je hoe je het Linux FIND- commando gebruikt, en we gaan je alle voorbeelden geven die we kunnen.
Linux FIND-opdrachtsyntaxis(Linux FIND Command Syntax)
Syntaxis verwijst naar hoe woorden of commando's worden samengesteld. Net(Just) zoals een normale zin onzin kan worden door de woorden gewoon te schudden, kunnen opdrachten mislukken als ze niet in de juiste syntaxis worden gebruikt.
vind [pad] [voorwaarden] [acties](find [path] [conditions] [actions])
Dit is wat dat betekent:
find - start het hulpprogramma Zoeken in (Find)Linux
pad(path ) – waar te zoeken
voorwaarden(conditions ) – argumenten die u op de zoekopdracht wilt toepassen
acties(actions ) - wat u wilt doen met de resultaten
Een eenvoudig voorbeeld waarin alle drie worden gebruikt, ziet er als volgt uit:
vind . -naam bestand-sample.rtf -print(find . -name file-sample.rtf -print)
Zoals je al geraden had, zal dit de bestandsnaam file-sample.rtf vinden(file-sample.rtf) .
Het pad met de punt ( . ) vertelt find om in de huidige map en alle mappen erin te zoeken.
De voorwaarde -name vertelt find om het bestand met die specifieke naam op te halen.
De actie -print vertelt FIND om de resultaten op het scherm weer te geven.
De punt en -print zijn standaardwaarden voor de opdracht find. Dus het zal nog steeds hetzelfde doen als je ze niet gebruikt. Dus, find -name file-sample.rtf geeft je dezelfde resultaten.
Linux VINDEN in een andere map(Linux FIND In Another Directory)
U kunt zoeken in een andere map dan die waarin u zich bevindt. Voer gewoon(Just) het pad naar de map in na FIND . Als je bij de root bent en je weet dat het bestand ergens in de home/user directory staat, zou je het volgende gebruiken:
find home/user -name file-sample.rtf
Het is nog steeds een recursieve zoekopdracht, dus het doorloopt elke map onder user .
Linux FIND Zoeken in meerdere mappen(Linux FIND Search Multiple Directories)
Als u in meerdere mappen tegelijk wilt zoeken, vermeld ze dan in de opdracht, gescheiden door een spatie.
find /lib /var /bin -name file-sample.rtf
Linux FIND zonder recursie of beperkende recursie(Linux FIND with No Recursion or Limiting Recursion)
Als u het bovenstaande FIND -commando op rootniveau zou gebruiken, zou het door elke map op het systeem kijken. Dus als u zich alleen bij de huidige map wilt houden, gebruikt u de optie -maxdepth . Het getal na -maxdepth vertelt Find hoe diep je moet gaan voordat je stopt.
Het gebruik van -maxdepth 1(-maxdepth 1 ) betekent alleen deze map.
find -name file-sample.rtf -maxdepth 1
Als u -maxdepth 2 of hoger gebruikt, betekent dit dat u zoveel niveaus dieper gaat.
find -maxdepth 5 -name file-sample.rtf
Linux FIND Wildcard Voorbeeld(Linux FIND Wildcard Example)
De opdracht FIND gebruikt de asterisk ( * ) als jokerteken. Gebruik het voor elk deel van de naam waar je niet zeker van bent. Het kan meer dan één keer in de naam worden gebruikt. Zonder het bestandstype als onderdeel van de bestandsnaam, zullen de resultaten ook mappen bevatten die overeenkomen.
find home/user -name file*sample*
Linux VINDEN op Type Voorbeeld(Linux FIND by Type Example)
Gebruik de optie -type en de juiste descriptor om alleen naar een bestand of een map te zoeken. Er zijn er een paar, maar de bestanden en mappen komen het meest voor:
f – bestand
d – map
b – apparaat blokkeren
c - karakterapparaat
l – symbolische link
s – stopcontact
find home/user -name file*sample* -type d
Linux FIND Hoofdletterongevoelig voorbeeld(Linux FIND Case Insensitive Example)
In tegenstelling tot Windows maakt Linux zich zorgen of een letter een hoofdletter of kleine letter is. Dus als je wilt dat het zoekt naar zowel File-Sample.rtf als file-sample.rtf, gebruik dan de -iname optie.
find home/user -iname File-Sample.rtf
Linux FIND Meerdere bestanden Voorbeeld(Linux FIND Several Files Example)
Stel dat u de .rtf- en .html-versies van een bestand wilt vinden. Dat kan in één commando met de -o (or) operator. In sommige distributies moet je de namen mogelijk tussen haakjes plaatsen, zoals ( -name file-sample.rtf -o -name file-sample.html ) .
find home/user -name file-sample.rtf -o -name file-sample.html
Linux FIND bestanden die niet overeenkomen met een naam(Linux FIND Files That Don’t Match a Name)
Misschien weet u dat er een .html - versie van een bestand is, maar niet als er andere zijn. U kunt de .html(.html) - versie uit de zoekopdracht filteren met de optie -not .
find home/user -name file-sample* -not -name *.html
Linux FIND zonder foutresultaten(Linux FIND Without Error Results)
In het voorbeeld van de vondst zonder recursie, merk op dat het elke directory vermeldde waarin het niet kon zoeken en het juiste resultaat. Dat is vervelend. Laten we stoppen met het tonen van al die " Toestemming(Permission) geweigerd"-mappen. Combineer het met een ander Linux-terminalcommando(Linux terminal command) , grep. Je kunt ook Zoeken(Find) met grep gebruiken om bestanden te zoeken met specifieke woorden erin(find files with specific words in them) .
find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v “Permission denied”
Laten we 2>&1 opsplitsen .
2 – staat voor stderr , wat een afkorting is voor standaardfoutuitvoer.
1 - staat voor stdout , wat een afkorting is voor standaarduitvoer
> – betekent om de output die zich links ervan bevindt om te leiden naar wat er rechts ervan staat.
& – betekent samenvoegen.
Dus 2>&1 betekent de standaardfouten nemen en ze omleiden, en ze vervolgens samen met de standaarduitvoer in één uitvoer plaatsen.
Laten we nu eens kijken naar | grep -v “Permission denied” .
| (een pijp genoemd) - vertelt Linux om de resultaten van wat zich links ervan bevindt, door te voeren naar wat zich rechts ervan bevindt. Het wordt doorgegeven aan het grep-commando.
grep - is een hulpprogramma voor het zoeken naar tekst.
-v – vertelt grep om te zoeken naar iets dat niet overeenkomt met tekst links van de -v. In dit geval zegt het grep om alleen iets te vinden dat niet de tekst of tekenreeks ' Toestemming(Permission) geweigerd' bevat. Dus grep toont u alleen de resultaten waarnaar u op zoek bent en eventuele fouten die niet overeenkomen met " Toestemming(Permission) geweigerd".
Linux FIND met machtigingen Voorbeeld(Linux FIND by Permissions Example)
Om dit goed te gebruiken, moet je Linux-machtigingen leren(learn Linux permissions) .
De voorbeeldbestanden hebben allemaal de machtigingen 664, behalve één met de machtigingen 775. Gebruik de optie -perm om deze te vinden.
find Documents/ -name file-sample* -type f -perm 775
Linux VINDEN op grootte Voorbeeld(Linux FIND by Size Example)
Het vinden van bestanden op grootte is handig om die enorme bestanden uw harde schijf te laten vullen. Gebruik de optie -size, de gewenste grootte en een van de volgende achtervoegsels. Als er geen achtervoegsel wordt gebruikt, wordt -size standaard ingesteld op b . Om bestanden te vinden die gelijk zijn aan en groter zijn dan een bepaalde grootte, plaatst u het plusteken (+) voor de grootte.
M – Megabytes
G – Gigabyte
k – Kilobytes
b – blokken (512 bytes – standaard)
c – bytes
w - woorden (twee bytes samen)
find -size +500k
Linux VINDEN door eigenaar(Linux FIND by Owner)
Er zijn twee manieren om bestanden op eigenaar te vinden. De ene is door de gebruikersnaam van een eigenaar en de andere is door de groep van de gebruiker. Gebruik de optie -user om op gebruikersnaam te zoeken , gevolgd door de gebruikersnaam. Gebruik -group gevolgd door de groepsnaam om te zoeken op gebruikersgroep.
zoek -user groepsnaam(find -user groupname ) of zoek -user gebruikersnaam(find -user username)
Linux FIND-bestanden volgens het laatst gewijzigde voorbeeld(Linux FIND Files by Last Modified Example)
Gebruik -mtime gevolgd door een getal om bestanden te vinden die in de afgelopen X dagen zijn gewijzigd of bewerkt. Als u een minteken ( – ) voor het nummer plaatst, wordt alles binnen zoveel dagen voor nu veranderd. Een plusteken ( + ) betekent binnen zoveel dagen voor nu.
find -name “file-sample*” -mtime +5 (greater than 5 days ago)
find -name “file-sample*” -mtime -5 (less than 5 days ago)
Om de laatste wijziging in minuten te vinden, gebruikt u de optie -mmin gevolgd door het aantal minuten. Gebruik de + en – zoals hierboven.
find -name “file-sample*” -mmin -5
find -name “file-sample*” -mmin +5
Linux FIND-bestanden op laatst geopende tijd Voorbeeld(Linux FIND Files by Last Accessed TIme Example)
De optie die wordt gebruikt om bestanden te vinden op basis van wanneer ze voor het laatst zijn geopend, is -atime voor dagen en -amin voor minuten. Volg het met het aantal dagen of minuten om terug te gaan en gebruik het + en – teken als groter dan en kleiner dan.
find -name “file-sample*” -atime -5
find -name “file-sample* -amin -5
Combineer FIND met andere Linux-opdrachten(Combine FIND with Other Linux Commands)
Er is hierboven één voorbeeld van het gebruik van find met het grep-commando, en je kunt het met vele andere gebruiken. Je kunt zien dat het gebruik van zoek- en andere commando's erg krachtig kan zijn en een enorme tijdwinst kan opleveren. Stel je(Imagine) voor dat je een heleboel van een bepaald type bestand moet verwijderen. In plaats van rond te zoeken in de bestandsverkenner, maakt u gewoon de juiste opdracht en het is binnen enkele seconden klaar. Hoe ga je nu de opdracht find gebruiken?
Related posts
Converteer afbeeldingen tussen formaten via de opdrachtregel in Ubuntu
Waarom het commando "minder" beter is dan "meer" in UNIX en Linux
Gebruik de Linux 'dd'-opdracht met een eenvoudige GUI
Zoek en wijzig uw hostnaam in Ubuntu
Chown Command in Linux: hoe het te gebruiken?
Veelvoorkomende redenen voor Ubuntu-crashes en hoe te herstellen
De 5 beste Linux-spellen
Hoe te upgraden naar de nieuwste Ubuntu
TCP/IP-bestanden instellen en configureren op Linux (TCP/IP-instellingen voor Linux)
Hoe bijna elke printer op Ubuntu te installeren?
Hoe Linux-apps op een Chromebook te installeren en uit te voeren?
HDG legt uit: wat is UNIX?
Installeer Adobe Digital Editions in Ubuntu Linux
10 Ubuntu-sneltoetsen om uw workflow te versnellen
5 goede redenen om Windows voor Linux te dumpen
Hoe Kali Linux te installeren en in te stellen
10 beste schermrecorders voor Linux
Hoe softwarepakketten op Linux te compileren
Linux Ifconfig-opdracht: hoe het te gebruiken?
Sluit uw computer af en start deze opnieuw op vanaf de Ubuntu-terminal