find command unix
Inleiding tot Find Command in Unix: doorzoek bestanden en mappen met Unix Find File Command
De Unix-opdracht find is een krachtig hulpprogramma om naar bestanden of mappen te zoeken.
De zoekopdracht kan op verschillende criteria worden gebaseerd, en de overeenkomende bestanden kunnen door middel van gedefinieerde acties worden uitgevoerd. Deze opdracht daalt recursief de bestandshiërarchie af voor elke opgegeven padnaam.
Klik hier voor de complete Unix Tutorial-serie
Wat je leert:
beste pc-reiniger voor Windows 7
Zoek Command in Unix
Syntaxis:
De opties voor dit commando worden gebruikt om aan te geven hoe symbolische koppelingen moeten worden behandeld. Dit wordt gevolgd door de set paden waarin moet worden gezocht. Als er geen paden zijn opgegeven, wordt de huidige directory gebruikt. De gegeven uitdrukking wordt vervolgens uitgevoerd op elk van de bestanden die in de paden worden gevonden.
De uitdrukking bestaat uit een reeks opties, tests en acties, die elk een booleaanse waarde retourneren. De uitdrukking wordt van links naar rechts geëvalueerd voor elk bestand in het pad totdat het resultaat is bepaald, d.w.z. bekend is dat het resultaat waar of onwaar is.
- Optie-expressies worden gebruikt om de zoekbewerking te beperken en retourneren altijd waar.
-
- -depth: verwerk de inhoud van de directory voordat de directory zelf wordt verwerkt.
- -maxdepth: de maximale niveaus onder de opgegeven paden om af te dalen voor een wedstrijd.
- -mindepth: de min-niveaus voorbij de opgegeven paden om af te dalen voordat ze overeenkomen.
-
- Testuitdrukkingen worden gebruikt om specifieke eigenschappen van de bestanden te evalueren en dienovereenkomstig true of false te retourneren. (Overal waar een telling 'n' wordt gebruikt: zonder enig voorvoegsel is de overeenkomst voor de exacte waarde van n; met een voorvoegsel '+' is de overeenkomst voor waarden groter dan n; en met een voorvoegsel '-' is de overeenkomst voor waarden kleiner dan n.)
-
- -atime n: geeft true terug als het bestand n dagen geleden is geopend.
- -ctime n: geeft true terug als de status van het bestand n dagen geleden is gewijzigd.
- -mtime n: Geeft true terug als de inhoud van het bestand n dagen geleden is gewijzigd.
- -naampatroon: geeft true terug als de bestandsnaam overeenkomt met het opgegeven shell-patroon.
- -iname patroon: geeft true terug als de bestandsnaam overeenkomt met het opgegeven shell-patroon. De matching is hier niet hoofdlettergevoelig.
- -path pattern: Geeft true terug als de bestandsnaam met het pad overeenkomt met het shell-patroon.
- -regex patroon: geeft true terug als de bestandsnaam met het pad overeenkomt met de reguliere expressie.
- -size n: geeft true terug als de bestandsgrootte n blokken is.
- -perm - mode: Geeft true terug als alle permissiebits voor mode zijn ingesteld voor het bestand.
- -type c: geeft true terug als het bestand van het type c is (bijv. ‘b’ voor blokapparaatbestand, ‘d’ voor directory enz.).
- -username: Retourneert true als het bestand eigendom is van gebruikersnaam ‘name’.
-
- De actie-expressies worden gebruikt om acties te definiëren die bijwerkingen hebben en die true of false kunnen retourneren. Als er geen acties zijn opgegeven, wordt de actie ‘-print’ uitgevoerd voor alle overeenkomende bestanden.
-
- -delete: Verwijder het overeenkomende bestand en retourneer true als dit lukt.
- -exec commando: voer het gegeven commando uit voor elk overeenkomend bestand, en retourneer true als de geretourneerde waarde 0 is.
- -ok commando: vind de expressie ‘exec’ leuk, maar bevestigt dit eerst met de gebruiker.
- -ls: vermeld het overeenkomende bestand in het per ‘ls -dils’ -formaat.
- -print: Druk de naam van het overeenkomende bestand af.
- -prune: als het bestand een directory is, daal er dan niet in af en retourneer true.
-
- De uitdrukking wordt van links naar rechts geëvalueerd en wordt met de volgende operatoren samengesteld.
-
- expr : Wordt gebruikt om voorrang af te dwingen.
- expr: wordt gebruikt om een uitdrukking te ontkennen.
- expr1 -naar expr2: Het resultaat is een ‘en’ van de twee uitdrukkingen. De expr2 wordt alleen geëvalueerd als expr1 waar is.
- expr1 expr2: De ‘en’ operator is in dit geval impliciet.
- expr1 -of expr2: het resultaat is een ‘of’ van de twee uitdrukkingen. De expr2 wordt alleen geëvalueerd als expr1 onwaar is.
-
Voorbeelden
Maak een lijst van alle bestanden die in de huidige directory en de hiërarchie zijn gevonden
Maak een lijst van alle bestanden die in de huidige hiërarchie zijn gevonden, en de hele hiërarchie onder / home / xyz
Zoek naar een bestand met de naam abc in de huidige directory en zijn hiërarchie
Zoek naar een directory op naam xyz in de huidige directory en zijn hiërarchie
Zoek naar een bestand met de naam abc.txt onder de huidige directory en vraag de gebruiker om elke overeenkomst te verwijderen.
Merk op dat de tekenreeks '{}' wordt vervangen door de daadwerkelijke bestandsnaam tijdens het uitvoeren en dat de tekenreeks ';' string wordt gebruikt om het uit te voeren commando te beëindigen.
Zoek naar bestanden die in de afgelopen 7 dagen zijn gewijzigd onder de huidige map
Zoek naar bestanden waarvoor alle machtigingen zijn ingesteld in de huidige hiërarchie
Gevolgtrekking
In het kort: Find Command in Unix retourneert alle bestanden onder de huidige werkmap. Verder stelt het zoekcommando de gebruiker in staat om een actie op te geven die moet worden ondernomen op elk overeenkomend bestand.
Klik hier voor de complete Unix Tutorial-serie
Aanbevolen literatuur
- Snijd Commando in Unix met voorbeelden
- Ls Command in Unix met voorbeelden
- Bestandsmanipulatie in Unix: overzicht van Unix-bestandssysteem
- Unix Cat Command Syntax, opties met voorbeelden
- Grep-opdracht in Unix met eenvoudige voorbeelden
- Unix-sorteeropdracht met syntaxis, opties en voorbeelden
- Tar-commando in Unix om back-ups te maken (voorbeelden)
- Hoe twee bestanden in Unix te vergelijken: opdrachten voor bestandsvergelijking