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:
Een bestand zoeken op naam
Gebruik de onderstaande opdracht om het bestand op naam te zoeken:
$vind.-naamMijnTekstBestand1.txt
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
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
Gebruik om naar bestanden te zoeken:
$vind.-typeF
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
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 {};
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
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
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
Gebruik de onderstaande opdracht voor alle bestanden die groter zijn dan 1 MB:
$vind.-typeF-maat+1M
Een bereik van grootte kan ook worden gedefinieerd met behulp van de toegevoegde opdracht:
$vind. -typeF-maat+1M-maat10MBestanden 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
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'{};
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
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
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.