Hoe de opdracht find in Linux te gebruiken om bestanden te doorzoeken?

How Use Find Command Linux Search Files



Als u een Linux-gebruiker bent, kunt u niet alleen op de GUI vertrouwen om verschillende taken uit te voeren, daarom is een goed begrip van terminalopdrachten echt essentieel. Alle distributies op basis van Linux voeren de opdrachten uit om verschillende administratieve taken uit te voeren.

Hoewel de Linux-terminal een tekstinterface is die ingewikkeld lijkt, is hij in feite erg flexibel, gebruiksvriendelijk en een behoorlijk handig hulpmiddel. Opdrachten kunnen eenvoudig worden gekopieerd van online bronnen en in de terminal worden geplakt om verschillende bewerkingen uit te voeren. Er zijn talloze commando's, maar dit bericht zal zich richten op het zoekcommando.







De opdracht find wordt gebruikt om bestanden en mappen in uw systeem te zoeken, filteren of doorzoeken volgens door de gebruiker gespecificeerde voorwaarden en om er verschillende bewerkingen op uit te voeren.



Laten we in detail bespreken hoe de opdracht find, de syntaxis en verschillende bewerkingen die door deze opdracht worden uitgevoerd, kunnen worden gebruikt.



Syntaxis van zoekcommando in Linux

De syntaxis van de opdracht find wordt hieronder weergegeven:





vind [pad] [opties] [uitdrukking]

Drie attributen horen bij de opdracht find:

  • [pad]: het definieert de map waar het zoeken moet beginnen.
  • [opties]: het definieert de criteria voor het filteren, b.v. een bestand/map zoeken op naam, toestemming, tijd of datum.
  • [expressie]: het definieert welke acties met het bestand moeten worden uitgevoerd.

Alle bovenstaande attributen zijn optioneel omdat ze kunnen worden gebruikt volgens de vereisten.



Voor demonstratie heb ik verschillende mappen en enkele tekstbestanden gemaakt, zie onderstaande afbeelding:

find/1%20copy.png

Een bestand zoeken op naam

Gebruik de onderstaande opdracht om het bestand op naam te zoeken:

$vind.-naamMijnTekstBestand1.txt

find/2%20copy.png

De punt na find in de bovenstaande opdracht geeft de huidige map aan.

Als u de exacte bestandsnaam niet meer weet, kan de zoekopdracht verder worden verfijnd en hoofdletterongevoelig worden gemaakt door de -iname in de plaats van de naam te gebruiken:

$vind.-ik noemmijntekstbestand1.txt

vind/3%20copy.png

Een bestand zoeken op type

Om een ​​bestand op type te zoeken, gebruikt u de optie -type met letters die ook wel descriptors worden genoemd, zoals f voor bestanden, d voor mappen, l voor de symbolische link en s voor sockets.

Gebruik om in alle mappen te zoeken:

$vind.-typeNS

vind/4%20copy.png

Gebruik om naar bestanden te zoeken:

$vind.-typeF

c%20copy.png

Een bestand zoeken op de bestandsextensie

Gebruik de volgende opdracht om het bestand te zoeken op patroon, bijvoorbeeld bestandsextensie, zoals het weergeven van alle bestanden met .txt:

$vind.-naam *.tekst

vind/5%20copy.png

Alle bestanden met .txt worden weergegeven samen met de bijbehorende mappen.

Een bestand zoeken en verwijderen

Gebruik de onderstaande opdracht om een ​​bestand te zoeken en te verwijderen:

$vind.-ik noemmijntekstbestand1.txt-exec rm {};

vind/6%20copy.png

De bovenstaande opdracht doorzoekt eerst het bestand en verwijdert het vervolgens. De afbeelding laat zien dat MyTextFile1 is verwijderd.

Om alle bestanden met de extensie .txt te verwijderen, kunt u het bijgevoegde commando gebruiken:

$vind.-naam *.tekst-verwijderen

find/7%20copy.png

Een bestand zoeken op grootte

De opdracht find kan een bestand ook op grootte doorzoeken. Gebruik gewoon de optie -size samen met zijn beschrijvingen zoals b voor blokken van 512 Kb, c voor bytes, k voor kilobytes, M en G voor respectievelijk megabytes en gigabytes:

$vind.-typeF-maat -1024c

find/8%20copy.png

De hierboven genoemde opdracht doorzoekt alle bestanden met een grootte van minder dan 1024 bytes. De zoekopdracht kan verder worden verfijnd, als we bijvoorbeeld alle bestanden willen vinden die kleiner zijn dan 1Mb, dan gebruiken we de onderstaande opdracht:

$vind.-typeF-maat1M

ab/a%20copy.png

Gebruik de onderstaande opdracht voor alle bestanden die groter zijn dan 1 MB:

$vind.-typeF-maat+1M

ab/b%20copy.png

Een bereik van grootte kan ook worden gedefinieerd met behulp van de toegevoegde opdracht:

$vind. -typeF-maat+1M-maat10M

Bestanden zoeken met toestemming

Om een ​​bestand op toestemming te zoeken, gebruiken we de optie -perm en vervolgens de toestemmingscode, zoals hieronder wordt aangetoond:

$vind.-permanent 664

vind/10%20copy.png

Zoek een tekst in tekstbestanden

Gebruik de onderstaande opdracht om tekst in meerdere tekstbestanden in uw systeem te vinden:

$vind.-typeF-naam *.tekst-exec greep'Hallo'{};

vind/12%20copy.png

De opdracht zoekt het woord Hallo in de tekstbestanden. De uitvoer is tekstreeksen van de tekstbestanden die Hallo bevatten.

Een bestand zoeken op wijzigingsdatum en -tijd

Gebruik de onderstaande opdracht om toegang te krijgen tot een bestand door de laatste wijziging:

$vind.-typeF-ik noem *.tekst-mmin+10

find/13%20copy.png

De bovenstaande opdracht zoekt naar een bestand dat vier minuten geleden voor het laatst is gewijzigd, en m betekent de wijziging.

$vind. -typeF-ik noem *.tekst-amine -10

find/14%20copy.png

De bovenstaande opdracht zoekt naar een bestand dat 4 minuten geleden voor het laatst is geopend en de a in amin betekent Toegang. Om toegang te krijgen tot een bestand dat vier dagen geleden is gewijzigd, gebruikt u -mtime +4 in plaats van mmin +4.

Conclusie

De opdracht find in Linux is een zeer nuttige opdracht waarmee je een bestand of map kunt doorzoeken met verschillende criteria, en waarmee je zelfs de bestanden vanaf de terminal kunt wijzigen. In deze handleiding hebben we de syntaxis van de opdracht find in Linux bekeken en geleerd hoe we de opdracht find kunnen gebruiken om verschillende functies uit te voeren.