40 Best Examples of Find command in Linux

De Linux-versie discover command is een krachtig hulpmiddel waarmee systeembeheerders bestanden en mappen kunnen lokaliseren en beheren op foundation van een breed scala aan zoekcriteria. Het kan mappen en bestanden vinden op foundation van hun naam, hun kind of extensie, grootte, machtigingen, enz.

Naast het lokaliseren van bestanden en mappen, het combineren van de discover Met anderen kunt u actie ondernemen op foundation van de resultaten. Het toevoegen van de -exec Met deze optie kunnen systeembeheerders externe opdrachten uitvoeren en acties uitvoeren zoals het kopiëren, verplaatsen, verwijderen of wijzigen van de machtigingen van de bestanden die voldoen aan de opgegeven standards, zoals grootte, naam, enz.

In dit artikel zullen we beginnen met het uitleggen van de foundation Linux-zoekopdrachten met voorbeelden. Dit laat u zien hoe u bestanden en mappen kunt vinden. Wij laten u dan zien hoe u de app kunt gebruiken -exec optie om op de bestanden of mappen te reageren op foundation van hun grootte, machtigingen, enz.

De algemene syntaxis voor de find-opdracht is

discover {path} {title -of-file or dir-to-search} {action-to-take}

Waar,

  • path specificeert de map.
  • name-of file or dir-to-search : Naam van het bestand of de map waarnaar moet worden gezocht
  • action-to-take: zoals kopiëren, verwijderen, verplaatsen, enz.

In deze zelfstudie leggen we uit hoe u bestanden en mappen kunt vinden die overeenkomen met gespecificeerde patronen. We zullen ook zien hoe we acties kunnen uitvoeren op de bestanden of mappen die de find-opdracht lokaliseert. De handleiding is gebaseerd op Ubuntu, maar is van toepassing op de meeste Linux-distributies en -versies.

Vind bestanden en mappen

Zoek specifieke bestanden op naam of extensie

Om naar een specifiek bestand te zoeken, voert u de volgende opdracht uit vanuit de hoofdmap (/). De opdracht bevat de exacte naam van het bestand waarnaar u zoekt.

discover . -name file22.txt

Uitvoer

./take a look at/file22.txt
./gross sales/file22.txt

Houd er rekening mee dat de resultaten het pad omvatten. Dit is belangrijk als u niet weet in welke map het bestand zich bevindt, of als het zich op meer dan één plaats bevindt.

U kunt het bestand ook in een andere map zoeken terwijl u zich nog op de huidige locatie bevindt. In dit geval moet u het pad opgeven voor de map waarin u wilt zoeken.

discover ./take a look at -name file22.txt

Zoeken naar specifieke bestanden in een andere map

In ons geval gaan we op zoek naar alle letters die met de letters beginnen bestand in de testmap.

discover ./take a look at -name file*

Uitvoer

./take a look at/file22.txt
./take a look at/file30.doc
./take a look at/file1.txt
./take a look at/file5,doc

Zoek naar bestanden op extensie

Om een ​​bestand in Linux met een bepaalde extensie te vinden, voegt u het toe aan de opdracht.

discover . -name *.txt

Uitvoer

./take a look at/subtest/subfil.txt
./take a look at/file22.txt
./take a look at/file1.txt
./home1/files32.txt
./home2/file22.txt
./qa/tags.txt

Zoek bestanden en mappen op naam

Gebruik de onderstaande opdracht om te zoeken naar bestanden en mappen die met de letters beginnen qa. Op onze laptop hebben we de qatree.txt En qa.txt bestanden en een map met de naam qa.

Als we de opdracht uitvoeren;

discover ./ -name "qa*"

Het retourneert de volgende uitvoer

./take a look at/qatree.pdf
./take a look at/qa.txt
./dwelling/qa

De opdracht retourneert zowel de bestanden als de mappen die voldoen aan de zoekcriteria. Om alleen bestanden of mappen te vinden, moet u dit in de opdracht opgeven.

Vind alleen bestanden of mappen

Alleen voor bestanden gebruikt u de kind f schakelaar.

Alleen bestanden

discover ./ -type f -name "qa*"

Uitvoer

./take a look at/qatree.pdf
./take a look at/qa.txt

Alleen mappen

Voeg de kind d optie om alleen mappen te lokaliseren.

discover ./ -type d -name "qa*"

Uitvoer

./dwelling/qa

Hoofdletterongevoelige zoekopdracht

Alle zoekopdrachten met -name swap zijn hoofdlettergevoelig en geven geen resultaten met hoofdletters. Om alle circumstances te krijgen, gebruik je de -iname keuze.

discover ./ -iname "qa*"

Uitvoer

./take a look at/qatree.pdf
./take a look at/qa.txt
./take a look at/QAtest.txt
./dwelling/qa

Zoek naar een bestand uit meerdere mappen

Om de bestanden in verschillende mappen te vinden, voegt u hun paden toe in de opdracht. In ons geval zullen we inchecken take a look at En numeric mappen.

discover ./take a look at ./numeric -name file22.txt -type f

Uitvoer

./take a look at/file22.txt
/root/numeric/file22.txt

Vind meerdere bestanden met verschillende extensies uit alle mappen

U kunt de opdracht discover gebruiken om meerdere bestanden te vinden die verschillende extensies delen, zoals *.doc, *.txt *.pdfenz. Dit kan afzonderlijk worden gedaan, één extensie tegelijk, of met slechts één opdracht die alle gewenste extensies bevat.

discover . -type f ( -name "*.txt" -o -name "*.pdf" -o -name "*.doc" )

uitgang

./take a look at/subtest/subfil.txt
./take a look at/qatree.pdf
./take a look at/file22.txt
./take a look at/qa.txt
./take a look at/file30.doc
./books/acro.pdf
./data1/FILE22.txt
./docs/files32.txt

Zoek bestanden die bepaalde tekst bevatten

Soms wilt u toegang krijgen tot een bestand dat bepaalde tekst bevat, maar kunt u de bestandsnaam of locatie niet meer oproepen. Met deze opdracht kunt u alle bestanden vinden die uw doeltekst bevatten.

Om alle bestanden te zoeken die het woord hyperconvergentie bevatten, gebruikt u;

discover / -type f -exec grep -l -i "hyperconvergence" {} ;

Uitvoer

/root/numeric/hci
/root/HCIP

De –i Met de optie kan de opdracht hoofdletters negeren en de tekst vinden, al dan niet met hoofdletters, dwz hyperconvergence, Hyperconvergence , enz.

Om de bestanden in een specifieke map te zoeken, voegt u ze eenvoudigweg toe aan de opdracht

discover ./numeric -type f -exec grep -l -i "hyperconvergence" {} ;

Uitvoer

./numeric/hci

Ontdek meer voorbeelden van grep-opdrachten.

Vind bestanden en mappen op foundation van grootte

U kunt alle bestanden of mappen vinden die kleiner, gelijk of groter zijn dan een bepaalde grootte, binnen een bepaald bereik of leeg zijn. Gebruik het juiste formaatformaat, afhankelijk van het kind bestanden of mappen waarnaar u zoekt.

Maatopties omvatten;

c – bytes

ok – kilobytes

M – Megabytes

G – Gigabytes

Vind bestanden van een bepaalde grootte – gelijk aan 30 MB

Om te zoeken, vindt u alle bestanden van 30 MB

discover / -size 30M

Vind bestanden die groter zijn dan een opgegeven grootte

discover -size +2M

Uitvoer

. /Downloads/ubuntu18043.iso 
./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Zoek bestanden van minder dan 10 MB in de huidige map

discover . -type f -size -10M

Vind bestanden met een grootte tussen 100 en 200 MB

Bij het zoeken naar bestanden binnen een specifiek bereik, zoals tussen 100 en 200 MB

discover / -size +100M -size -200M

Zoek naar mappen die groter zijn dan 20 kb

discover / -type d -size +20k

Vind lege bestanden en mappen.

Bestanden

discover ./ -type f -size 0

of

discover ./ -type f –empty

Directories

discover ./ -type d –empty

Zoek bestanden op leeftijd of wijzigingstijd

Vind bestanden ouder dan n dagen

discover /path/ -type f -name '*.txt' -mtime +8

De -mtime +8 zal zoeken txt bestanden die ouder zijn dan 8 dagen.

Op wijzigingsdatum

Er wordt gezocht naar bestanden die in de afgelopen 17 uur zijn gewijzigd

discover . -mtime -17 -type f 

Zoekt naar mappen die in de afgelopen 10 dagen zijn gewijzigd

discover . -mtime -10 -type d 

Vind bestanden op foundation van toegang of wijziging

Vind bestanden op foundation van de datum of tijd waarop ze zijn geopend. Hiermee kunt u bestanden zien die binnen een bepaalde periode wel of niet zijn geopend.

Om bestanden te zien die de afgelopen 10 dagen niet zijn geopend in de thuismap.

discover /dwelling -atime +10

Bestanden die precies 10 dagen geleden zijn geopend

discover /dwelling -atime 10

Geopend in de afgelopen 10 dagen

discover /dwelling -atime -10

Vind bestanden die in de afgelopen n dagen zijn gewijzigd

U kunt ook naar de bestanden zoeken in de /dwelling listing gewijzigd in de afgelopen 10 dagen met behulp van de opdracht;

discover /dwelling -mtime -10 

Vind bestanden die binnen een specifieke periode zijn gewijzigd.

Alle bestanden zijn bijvoorbeeld tussen 6 en 15 dagen geleden gewijzigd in de homedirectory.

discover /dwelling -type f -mtime +6 -mtime -15

Bestanden en mappen die in de afgelopen 10 minuten zijn geopend

Om de bestanden te vinden die de afgelopen 10 minuten zijn geopend, gebruikt u de optie -amin.

discover . -amin -10 -type f

Uitvoer

./.bash_history
./.profileroot@ubuntu1804:~#

Listing’s die in de afgelopen 10 minuten zijn geopend

discover . -amin -10 -type d

Zoek bestanden die overeenkomen met specifieke machtigingen

Syntaxis

$ discover -perm mode

Waarbij modus de toestemming is die numeriek is, zoals 644, 655, 700, 777enz., of letters zoals u=x, a=r+x, enz.

U kunt de modus op de volgende drie verschillende manieren opgeven.

  1. Zonder voorvoegsel als u bestanden wilt vinden met de exacte opgegeven machtigingen.
  2. Met “-“ voor bestanden met minimaal de opgegeven machtiging. Dit retourneert bestanden met de opgegeven en aanvullende hogere machtigingen.
  3. Gebruik makend van “/” vereist dat u de eigenaar of groep opgeeft met toestemming voor het bestand.

Vind bestanden met toestemming 777

discover -perm 777

Uitvoer

./file1

Zoek bestanden met minimaal 766

vind -perm -766

Uitvoer

./file2
./file1

De opdracht zoekt naar alle bestanden waarin de

  • De bestandseigenaar heeft lees-/schrijf-/uitvoerrechten.
  • Groep heeft lees-/schrijfrechten
  • Anderen hebben lees-/schrijfrechten

Als zodanig retourneert het twee bestanden die aan dit criterium voldoen: bestand1 en bestand2. De bestanden hoeven niet de exacte 766 machtigingen en kan additional rechten hebben, zo lang, maar moet ten minste de opgegeven rechten hebben.

Vind bestanden die door de eigenaar kunnen worden geschreven

We zullen nu de “/” om te zoeken naar bestanden die kunnen worden geschreven door de eigenaar, groep of anderen.

discover -perm /222
.
./file2
./file3
./file1

Het bovenstaande zoekt naar bestanden die beschrijfbaar zijn door de eigenaar of groep.
Dit retourneert bestanden die door een van beide kunnen worden geschreven, maar niet noodzakelijkerwijs door beide. Om bestanden te zien waarvan beide schrijfrechten hebben, gebruikt u het voorvoegsel –.

discover -perm -220

Uitvoer

./file2
./file1

Zoek bestanden die eigendom zijn van een gebruiker

Vind alle bestanden die eigendom zijn van Jack

discover /dwelling -user jack

Uitvoer

/dwelling/jack
/dwelling/jack/examples.desktop
/dwelling/jack/.gnupg
/dwelling/jack/.gnupg/private-keys-v1.d
/dwelling/jack/ans.cgi

Zoek specifieke bestanden die eigendom zijn van een gebruiker

Vind alle tekstbestanden die eigendom zijn van Jack

discover /dwelling -user jack -iname "*.txt"

Uitvoer

/dwelling/jack/docs/file32.txt

Zoek en vermeld bestanden en mappen, samen met hun machtigingen

discover -name "*.conf" | ls -l

Uitvoer

whole 120
drwxr-xr-x 2 root root 4096 Dec 31 13:19 backup2
drwxr-xr-x 2 root root 4096 Jan 4 11:57 Desktop
drwxr-xr-x 2 root root 4096 Dec 31 11:50 Paperwork
drwxr-xr-x 2 root root 4096 Dec 31 12:27 Downloads
-rw-r--r-- 1 root root 0 Jan 4 12:02 file22.doc
drwxr-xr-x 2 root root 4096 Jan 4 12:14 file23
-rw-r--r-- 1 root root 0 Jan 4 12:23 file23.txt

Zoek en handel naar de resultaten

In deze sectie bekijken we hoe u kunt handelen met de bestanden die overeenkomen met het patroon dat is opgegeven in de find-opdracht.

Vind bestanden en wijzig machtigingen

Zoek en wijzig de machtigingen van bepaalde bestandstypen. In ons geval zullen we werken met PHP-bestanden met verschillende rechten, zoals hieronder weergegeven.

jack@ubuntu1804:~/ver$ ls -la

whole 8
drwxrwxr-x 2 jack jack 4096 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 Jan 3 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rw-rw-r-- 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 question.php
-rw-rw-r-- 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 textual content.php
-rw-rw-r-- 1 jack jack 0 Jan 3 14:11 fluctuate.php

We gaan nu op zoek naar alle PHP-bestanden (hierboven) en vervangen hun rechten door 755

discover ver -name "*.php" -type f -exec chmod 755 {} ;

De opdracht zoekt naar PHP-bestanden in de ver map en stelt vervolgens hun toestemming in 755 (rwxr-xr-x)

Resultaten

jack@ubuntu1804:~/ver$ ls -la
whole 8
drwxrwxr-x 2 jack jack 4096 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 Jan 3 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 question.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 textual content.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 fluctuate.php

Zoek en wijzig bestands- en maprechten

Zoek bestanden met 644-rechten en wijzig ze zodat ze 655-rechten hebben

discover . -type f -perm 644 -exec chmod 655 {} ;

U kunt ook zoeken naar mappen met 644-rechten en deze vervangen door 755.

discover . -type d -perm 644

Uitvoer

./docs   

De map docs heeft 644 machtigingen

drwxrwxr-x 2 jack jack 4096 Jan 3 12:45 docs

Om het in te stellen 755wij rennen

discover . -type d -perm 644 -exec chmod 755 {} ;

Nu kunnen we opnieuw controleren om te zien wat precies 755

discover . -type d -perm 755

Uitvoer
.
./docs

Van bovenaf kunnen we zien dat de root- en docs-mappen de 755-rechten hebben.

Ls –la commando geeft de volgende particulars

drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

Zoek en kopieer bestanden of mappen

Zoek en kopieer een specifiek bestand naar een map

Met de onderstaande opdracht wordt het file22.txt-bestand en kopieer het naar het ~/tmp/photographs map.

discover -iname file22.txt -exec cp {} ~/tmp/photographs ;

Zoek en kopieer één kind bestanden naar een map

Om bestanden zoals afbeeldingen met jpg extensie in de huidige map en kopieer ze naar een andere locatie, zoals een map met afbeeldingen, gebruik;

discover -iname '*.jpg' -exec cp {} ~/tmp/photographs ;

Hiermee worden alle jpg-bestanden gevonden en gekopieerd naar de ~/tmp/photographs map.

Zoek en kopieer één bestand naar vele mappen

Zoek en kopieer een enkele naar meerdere mappen.

discover ~/tmp/dir1/ ~/tmp/dir2/ $HOME/3/ -maxdepth 0 -exec cp ~/numeric/hci {} ;

Hiermee wordt het bestand gevonden hci bestand en kopieer het naar de drie mappen van /tmp/dir1/ /tmp/dir2/ En $HOME/3/

Zoek en verplaats bestanden naar een andere map

Om een ​​bekend bestand van de ene map naar de andere te verplaatsen. Om de common.php bestand;

discover ~/folder/ -type f -name common.php -exec mv {} ~/numeric/ ;

Zoek en verplaats bestanden met een bepaalde extensie naar een andere map

discover ~/numeric/ -type f -name '*.php' -exec mv {} ~/folder/ ;

Zoek bepaalde bestanden en ga naar een specifieke andere map

discover -type f -name uni*.* -exec mv {} ~/unifiles/ ;

De opdracht zoekt naar alle bestanden waarvan de naam begint met uni en enige extensie hebben. Vervolgens worden ze naar de map verplaatst /unifiles/

Zoek en verplaats bestanden op foundation van leeftijd

Zoek en verplaats bestanden ouder dan de opgegeven dagen naar een andere locatie, zoals het archief.

discover /path/ -type f -name '*.pdf' -mtime +20 -exec mv {} /backup1/ ;

Hiermee wordt gezocht naar pdf-bestanden die ouder zijn dan 20 dagen en worden deze naar de listing backup1 verplaatst.

Zoek en verwijder bestanden en mappen

De syntaxis voor het vinden en verwijderen van bestanden of mappen in de huidige map is

discover . -type f -name "file to delete" -exec rm -f {} ; om alleen bestanden te verwijderen of

discover . -type d -name "dir-to-delete" -exec rm -rf {} ; om alleen mappen te verwijderen

Zoek en verwijder alleen specifieke bestanden

Om bestanden te vinden en te verwijderen die beginnen met til, gebruik je;

discover . -type f -name "til*" -exec rm {} ; 

Om mappen te vinden en te verwijderen die beginnen met til

discover . -type d -name "til*" -exec rm {} ;

Verwijder zowel bestanden als mappen

discover . -name "til*" -exec rm -rf {} ; 

Hiermee worden zowel bestanden als mappen verwijderd die beginnen met de letters til.

Verwijderen bij extensie

Hieronder ziet u hoe u ze allemaal kunt vinden en verwijderen txt bestanden in de huidige map. Vervang de txt met een andere extensie zoals bak, pdf of iets anders dat u wilt verwijderen.

discover . -type f -name "*.txt" -exec rm -f {} ;

Als u wilt dat het systeem u om bevestiging vraagt ​​voordat elk bestand wordt verwijderd, voegt u de optie -i toe, zoals hieronder.

discover . -type f -name "*.txt" -exec rm -i {} ;

Uitvoer

rm: take away common empty file './File22.txt'? y
rm: take away common empty file './file22.txt'? y
rm: take away common empty file './file23.txt'?

Standaard is de -rm verwijdert de mappen niet en u moet de –r optie om een ​​recursieve verwijdering te garanderen. Dit zorgt ervoor dat lege mappen en mappen die bestanden bevatten worden verwijderd. De -f optie forceert de verwijdering en wordt gebruikt voor zowel de bestanden als de mappen.

Zoek en verwijder bestanden ouder dan n dagen

Zoek en verwijder back-upbestanden die ouder zijn dan 20 dagen uit de huidige map.

discover . -type f -name '*.bak' -mtime +20 -exec rm {} ;

Hiermee worden alle .bak-bestanden verwijderd die ouder zijn dan 20 dagen.

Alleen mappen zoeken en verwijderen

Om een ​​gebelde map te verwijderen dir22

discover . -type d -name dir22 -exec rm -rf {} ;

Zorg ervoor dat de mapnaam overeenkomt met hoofdlettergebruik of gebruik de -iname keuze.

discover . -type d -iname Dir22 -exec rm -rf {} ;

Verwijdert beide Dir22 En dir22

Gebruik de optie -i om te bevestigen voordat u het verwijdert.

discover . -type d -iname Dir22 -exec rm -rf -i {} ;

Uitvoer
rm: map ‘./Dir22’ verwijderen? N
rm: map ‘./dir22’ verwijderen? j

In ons geval hebben we getypt n voor map Dir22 die niet wordt verwijderd en y voor de dir22 die nu verwijderd zal worden.

Zoek en verwijder lege bestanden

U kunt een van de volgende opdrachten gebruiken om lege bestanden te lokaliseren en deze automatisch te verwijderen.

discover ./ -type f -size 0 -exec rm -f {} ;

of
zoek ./ -type f -grootte 0 | xargs rm-f
of
discover ./ -type f -grootte 0 –verwijderen

Zoek en verwijder lege mappen

Om lege mappen te verwijderen gebruiken we de d keuze.

discover ./ -type d -empty -exec rmdir {} ;

Een ander alternatief is om verwijderen te gebruiken in plaats van verwijderen.

discover ./ -type d -empty -delete

Houd er rekening mee dat het verwijderen van systeem- of kritieke bestanden van uw laptop het besturingssysteem of de applicaties kan beschadigen of kan leiden tot verlies van uw belangrijke gegevens.

Om onbedoelde verwijderingen te voorkomen, kunt u het beste een niet-rootgebruikersaccount gebruiken. Zorg er ook voor dat u de juiste bestanden verwijdert die niet nuttig zijn en dat u een back-up heeft van al uw gegevensbestanden voor het geval dat.

Wat is het volgende?

Ga je gang en probeer de bovenstaande Linux-zoekopdrachten in je lab- of NIET-PRODUCTIE-omgeving. Kijk of je er enkele kunt gebruiken om het opschonen van het bestandssysteem met Crontab te automatiseren. En om Linux onder de knie te krijgen, bekijk deze on-line cursus.

Leave a Comment

porno izle altyazılı porno porno