.\" -*- coding: UTF-8 -*- .\" -*- nroff -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH FIND 1 '\" t .SH NAAM find \- zoek bestanden in een hiërarchie van mappen .SH SAMENVATTING \fBfind\fP [\-H] [\-L] [\-P] [\-D debugopts] [\-Olevel] [begin\-punt..\&] [expressie] . .SH BESCHRIJVING Deze handleiding documenteert de GNU versie van \fBfind\fP. GNU \fBfind\fP door zoekt de mappen boom vanaf elk opgegeven startpunt terwijl het de expressie van links naar rechts evalueert, volgens de voorrangsregels (zie sectie OPERATORS), totdat de uitkomst bekend is (de linker kant is onwaar voor \fIen\fP operaties, waar voor \fIof\fP, vanaf welk punt \fBfind\fP naar de volgende bestandsnaam springt. Als geen startpunt werd opgegeven dan wordt `.\&' aangenomen. .PP Als u \fBfind\fP gebruikt in een omgeving waar veiligheid belangrijk is (bijvoorbeeld als u het gebruikt om te zoeken naar mappen die schrijfbaar zijn door andere gebruikers), dan wordt u aangeraden het hoofdstuk "Veiligheids Overwegingen" uit de findutils documentatie te lezen, dat \fBBestanden Zoeken\fP heet en onderdeel is van findutils. Dat document bevat ook meer details en discussie dan deze handleiding, daarom zult u dat mogelijk een betere bruikbare bron van informatie vinden. . .SH OPTIES De \fB\-H\fP, \fB\-L\fP en \fB\-P\fP opties bepalen de behandeling van symbolische koppelingen. Argumenten op de commando\-regel die deze volgen, worden geïnterpreteerd als namen van bestanden of mappen die onderzocht moeten worden, tot en met het eerste argument dat begint met een `\-', of het argument `(' of `!'. Dit argument en de volgende argumenten worden gezien als een expressie die beschrijft wat er gezocht moet worden. Als geen paden opgegeven werden, dan wordt de huidige map gebruikt. Is geen expressie werd opgegeven, dan wordt de \fBprint\fP expressie gebruikt (hoewel u in elk geval beter \fBprint0\fP zou moeten gebruiken). .PP Deze handleiding spreekt over 'opties' in een lijst van expressies. Deze opties bepalen het gedrag van \fBfind\fP maar worden onmiddellijk na de laatste padnaam opgegeven. De vijf 'echte' opties \fB\-H\fP, \fB\-L\fP, \fB\-P\fP, \fB\-D\fP en \fB\-O\fP moeten opgegeven worden vóór de eerste padnaam, of in het geheel niet. Een dubbel streepje, \fB\-\-\fP, zou theoretisch kunnen worden gebruikt om resterende argumenten aan te duiden die geen opties zijn, maar dat werkt niet echt vanwege de manier waarop \fBfind\fP het einde van het volgende pad argument bepaald: het doet dit door te lezen totdat een expressie volgt (die ook start met een '\-'). Welnu, als een pad argument zou beginnen met een \&'\-' dan zou \fBfind\fP het in plaats van een pad behandelen als een expressie argument. Om u ervan te verzekeren dat alle startpunten als zodanig herkend worden, en speciaal om te voorkomen dan jokertekens patronen worden geëxpandeerd door de aanroepende shell per ongeluk als een expressie argument behandeld worden, is het in het algemeen veiliger om de jokertekens of dubieuze padnamen vooraf te laten gaan door hetzij een './' hetzij een absolute padnaam te gebruiken die begint met een '/'. Als alternatief is het in het algemeen veiliger maar niet overdraagbaar om de GNU optie \fB\-files0\-from\fP te gebruiken om willekeurige begin punten mee te geven an \fBfind\fP. .IP \-P Volg nooit symbolische koppelingen. Dit is standaard gedrag. Indien \fBfind\fP informatie over bestanden onderzoekt of toont, en het bestand zelf een symbolische koppeling is, dan wordt de informatie van de eigenschappen van de symbolische koppeling zelf genomen. .IP \-L Volg symbolische koppelingen. Indien \fBfind\fP informatie over bestanden onderzoekt of toont, dan wordt deze informatie uit de eigenschappen van het bestand waar de koppeling naar wijst getoond, niet van de koppeling zelf (behalve als het een defecte symbolische koppeling is of \fBfind\fP is niet in staat het bestand waar de koppeling naar wijst te onderzoeken). Het gebruik van deze optie impliceert \fB\-noleaf\fP. Als u later de \fB\-P\fP optie gebruikt, dan is \fB\-noleaf\fP nog steeds geldig. Als \fB\-L\fP geldig is en \fBfind\fP vindt een symbolische koppeling naar een onder\-map tijdens het zoeken, dan wordt de onder\-map aangewezen door de symbolische koppeling doorzocht. .IP Indien de \fB\-L\fP optie werd gebruikt, dan zal het \fB\-type\fP predicaat altijd passen op het type bestand waar een symbolische koppeling naar wijst in plaats van de koppeling zelf (behalve als de symbolische koppeling defect is). Acties die ervoor kunnen zorgen dat symbolische koppelingen defect raken terwijl \fBfind\fP wordt uitgevoerd (b.v. \fBdelete\fP kunnen aanleiding geven tot verwarrend gedrag. \fB\-L\fP gebruiken zorgt ervoor dat de \fB\-lname\fP en \fB\-ilname\fP predicaten altijd onwaar retourneren. .IP \-H Volg symbolische koppelingen niet, behalve tijdens het verwerken van de argumenten op de commando regel. Zodra \fBfind\fP informatie over bestanden onderzoekt of afdrukt, zal deze ontnomen worden uit de eigenschappen van de symbolische koppeling zelf. De enige uitzondering op de gedrag is als het bestand opgegeven op de commando regel een symbolische koppeling is en de koppeling kan worden bevestigd. In deze situatie wordt de informatie gebruikt waar de koppeling naar wijst (m.a.w. de koppeling wordt gevolgd). De informatie over de koppeling zelf wordt gebruikt om op terug te vallen indien het door de koppeling aangewezen bestand niet onderzocht kan worden. Als \fB\-H\fP werd gebruikt en een van de, op de commando regel opgegeven, paden is een symbolische koppeling naar een map, dan zal de inhoud van deze map worden onderzocht (hoewel natuurlijk \fB\-\-maxdepth\ 0\fP dit zou voorkomen). .P Als meer dan een van \fB\-H\fP, \fB\-L\fP en \fB\-P\fP werd opgegeven, dan vervangt de een alle andere; de laatste optie die op de commando regel werd opgegeven wordt gezet. Omdat dat de standaard is, moet men ervan uitgaan dat de \fB\-P\fP optie gezet is, behalve als of \fB\-H\fP of \fB\-L\fP werd opgegeven. GNU \fBfind\fP 'stat' bestanden frequent tijdens het verwerken van de commando regel zelf, vóór dat enig zoeken begonnen is. Deze opties beïnvloeden ook hoe de argumenten verwerkt worden. Zo zijn er een aantal testen die bestanden opgegeven op de commando regel vergelijken met een bestand dat we onderzoeken. In elk geval zal het bestand worden onderzocht en sommige van zijn eigenschappen worden bewaard. Als het genoemde bestand een symbolische koppeling is, en de \fB\-P\fP optie is gezet (of als noch \fB\-H\fP noch \fB\-L\fP werden gezet), dan wordt de informatie gebruikt voor de vergelijking genomen van de eigenschappen van de symbolische koppeling. Anders wordt deze genomen van de eigenschappen van het bestand waar de koppeling naar wijst. Als \fBfind\fP de koppeling niet kan volgen (omdat het b.v. onvoldoende rechten heeft of omdat hij naar een niet bestaand bestand wijst) dan worden de eigenschappen van de koppeling zelf gebruikt. .P Als of de \fB\-H\fP of \fB\-L\fP optie gezet is, dan wordt elke symbolische koppeling gegeven door het volgen van het argument van \fB\-newer\fP, en wordt de tijdstempel gehaald van het bestand waar de koppeling naar wijst. Dezelfde consideratie is van toepassing op \fB\-newerXY\fP, \fB\-anewer\fP en \fB\-cnewer\fP. De \fB\-follow\fP optie heeft een vergelijkbaar effect als \fB\-L\fP, hoewel het in effect treed vanaf het punt waar deze verschijnt (dit betekent, als \fB\-L\fP niet werd gebruikt maar \fB\-follow\fP wel, elke symbolische koppeling die verschijnt ná \fB\-follow\fP op de commando regel gevolgd en die er vóór niet). .IP "\-D debugopts" Toon diagnostische informatie; dit kan behulpzaam zijn om problemen te onderzoeken indien \fBfind\fP niet doet wat u wilt. De lijst van debug opties moet gescheiden worden met komma´s. Compatibiliteit van de debug opties is neit gegarandeerd tussen uitgaven van findutils. Zie voor de complete lijst van debug opties de uitvoer van \fBfind \-D\ help\fP. Geldige debug opties zijn .RS .IP exec Toon diagnostische informatie over \-exec, \-execdir, \-ok en \-okdir .IP opt Toon diagnostische informatie over de optimalisatie van de expressie boom; zie de \-O optie .IP rates Toon een samenvatting die aangeeft hoe vaak een predicaat slaagde of faalde. .IP search Navigeer uitgebreid de map boom. .IP stat Toon berichten als bestanden worden onderzocht met de \fBstat\fP en \fBlstat\fP systeem aanroepen. Het \fBfind\fP programma probeert deze aanroepen te minimaliseren. .IP tree Toon de expressie boom in originele en geoptimaliseerde vorm. .IP all Schakel alle andere debug opties in (behalve \fBhelp\fP). .IP help Let de debug opties uit. .RE .IP \-Olevel Schakel verzoek optimalisatie in. Het \fBfind\fP programma herschikt testen met als doel de uitvoer te versnellen terwijl het effect gehandhaafd moet blijven; dat wil zeggen, predicaten met bijeffecten worden niet onderling geherschikt. De optimalisatie uitgevoerd op elk optimalisatie niveau zijn als volgt. .RS .IP 0 Equivalent aan optimalisatie niveau 1. .IP 1 Dit is het standaard optimalisatie niveau, het komt overeen met het traditionele gedrag. Expressies worden van volgorde verandert zodat testen die alleen op de bestandsnamen zijn gebaseerd (bij voorbeeld \fB\-name\fP en \fB\-regex\fP) als eerste worden uitgevoerd. .IP 2 Elke \fB\-type\fP of \fB\-xtype\fP test worden uitgevoerd na elke test die alleen gebaseerd is op de namen van de bestanden, maar voor elke test die informatie van de inode vereist. Op moderne versies van Linux worden bestandstypen geretourneerd door \fBreaddir\fP() en daarom evalueren deze predicaten sneller dan predicaten die eerst het bestand moeten stat´en. Indien u het \fB\-fstype\ \fP\fIFOO\fP predicaat gebruikt en een bestandssysteem type \fIFOO\fP specificeert dat onbekend is (dat is, aanwezig in '/etc/mtab') op het moment dat \fBfind\fP start, dan is dat predicaat equivalent aan \fB\-false\fP. .IP 3 Bij dit optimalisatie niveau wordt de op kosten\-gebaseerde query optimalisatie ingeschakeld. De volgorde van testen wordt zo aangepast dat goedkope (m.a.w.\& snelle) testen als eerste worden uitgevoerd en duurdere worden indien nodig later uitgevoerd. Binnen elke kosten band worden predicaten vroeger of later geëvalueerd gebaseerd op of ze succesvol zullen zijn of niet. Dus \fB\-o\fP predicaten die hoogstwaarschijnlijk zullen slagen worden later geëvalueerd, en dus \fB\-a\fP predicaten die hoogstwaarschijnlijk zullen falen worden eerder geëvalueerd. .RE .IP De op kosten\-gebaseerde optimalisator heeft een vast idee hoe waarschijnlijk enige test zal slagen. In sommige gevallen houdt de waarschijnlijkheid rekening met het gedrag van een specifieke test (bijvoorbeeld zal \fB\-type\ f\fP waarschijnlijker vaker slagen dan \fB\-type\ c\fP). De kosten\-gebaseerde optimalisator wordt momenteel geëvalueerd. Als deze niet daadwerkelijk de prestaties van \fBfind\fP verbeterd zal hij weer worden verwijderd. Daarentegen zullen optimalisaties die bewezen hebben betrouwbaar, robuuste en effectief te zijn aangezet worden voor lagere optimalisatie niveau´s mettertijd. Hoewel het standaard gedrag (i.e.\& optimalisatie niveau 1) niet zal worden veranderd in de 4.3.x series. De findutils test suite voert alle testen in \fBfind\fP bij elk optimalisatie niveau uit en verzekert dat de resultaten hetzelfde zijn. . .SH EXPRESSIE Het deel van de commando regel na de lijst van startpunten is de \fIexpressie\fP. Het is een soort van query specificatie die beschrijft hoe we bestande vergelijken en wat we doen met bestanden die overeen kwamen. Een expressie is samengesteld uit een rij van dingen: .IP Testen Testen geven een waar of onwaar terug, normaliter op basis van een eigenschap van het bestand dat we overwegen. De \fBempty\fP test bij voorbeeld alleen waar als het huidige bestand leeg is. .IP Acties Acties hebben neven effecten (zoals het tonen van iets op de standaard uitvoer) en retourneren ofwel waar of niet\-waar, gebaseerd of al dan niet succesvol zijn. De \fB\-print\fP actie bijvoorbeeld toont de naam van het huidige bestand op de standaard uitvoer. .IP "Globale opties" Globale opties beinvloeden de werking van testen en acties zoals gespecificeerd in enig deel van de commando regel. Globale opties retourneren altijd waar. De \fB\-depth\fP optie zorgt er bijvoorbeeld voor dat \fBfind\fP het bestandssysteem in omgekeerde volgorde afloopt. .IP "Positie opties" Positie opties beinvloeden alleen de daarop volgende testen of acties. Positie opties retourneren altijd waar. De \fB\-regextype\fP optie is bijvoorbeeld positioneel, die het reguliere expressie dialect specificeert voor reguliere expressies die later op de commando regel voorkomen. .IP Operatoren Operatoren koppelen de andere items in een expressie. Voorbeelden zijn \fB\-o\fP (de logische OF) en \fB\-a\fP (de logische EN). Als een operator ontbreekt dan wordt \fB\-a\fP aangenomen. .P De \fB\-print\fP actie wordt uitgevoerd op alle bestanden waarvoor de hele expressie waar is, behalve als deze een actie bevat anders dan \fB\-prune\fP of \fB\-quit\fP. Acties die de standaard \fB\-print\fP verbieden zijn \fB\-delete\fP, \fB\-exec\fP, \fB\-execdir\fP, \fB\-ok\fP, \fB\-okdir\fP, \fB\-fls\fP, \fB\-fprint\fP, \fB\-fprintf\fP, \fB\-ls\fP, \fB\-print\fP en \fB\-printf\fP. De \fB\-delete\fP actie gedraagt zich ook als een optie (omdat deze \fB\-depth\fP impliceert. .SS "POSITIONALE OPTIES" Positionale opties geven `waar' terug. Ze hebben altijd gevolgen en worden nietalleen verwerkt als hun positie in de expressie bereikt wordt. .IP \-daystart Meet de tijden (voor \fB\-amin\fP, \fB\-atime\fP, \fB\-cmin\fP, \fB\-ctime\fP, \fB\-mmin\fP, en \fB\-mtime\fP) van het begin van vandaag in plaats van 24 uur geleden. Dezeoptie beïnvloed alleen testen die later op de commando regel verschenen. .IP \-follow Afgekeurd; gebruik de \fB\-L\fP optie in plaats hiervan. Volg symbolische koppelingen. Impliceert \fB\-noleaf\fP. De \fB\-follow\fP optie beïnvloed alleen die testen die verschijnen na deze op de commando regel. Behalve als de \fB\-H\fP of \fB\-L\fP opties werden opzet, veranderd de positie van de \fB\-follow\fP optie het gedrag van het het \fB\-newer\fP predicaat; alle bestanden opgegeven als argument van \fB\-newer\fP worden gevolgd als dat symbolische koppelingen zijn. Dezelfde overweging is van toepassing op \fB\-newerXY\fP, \fB\-anewer\fP en \fB\-cnewer\fP. Hiermee vergelijkbaar zal het \fB\-type\fP predicaat altijd passen op het type van het bestand waar de symbolische koppeling naar wijst in plaats van het bestand zelf. Het gebruik van \fB\-follow\fP zorgt er voor dat de \fB\-lname\fP en \fB\-ilname\fP predicaten altijd onwaar terug geven. .IP "\-regextype \fItype\fP" Verandert de reguliere expressie syntax zoals begrepen door de \fB\-regex\fP en \fB\-iregex\fP testen die later op de commando regel verschijnen. Gebruik \fB\-regextype\ help\fP om te zien welke typen reguliere expressie begrepen worden. De Texinfo documentatie (Zie \fBZIE\fP \fBOOK\fP) legt de betekenis van en de verschillen tussen de diverse reguliere expressies uit. .IP "\-warn, \-nowarn" Schakel waarschuwing berichten aan of uit. Deze waarschuwingen hebben alleen betrekking op het gebruik van de commando regel, niet op elke conditie die \fBfind\fP tegen kan komen terwijl het mappen doorzoekt. Het standaard gedrag komt overeen met \fB\-warn\fP als de standaard invoer een tty is, en anders met \fB\-nowarn\fP. Als er een waarschuwing wordt geproduceerd die gerelateerd is aan het gebruik van de commando regel, dan wordt de afsluit status van \fBfind\fP niet gewijzigd. Als de \fBPOSIXLY_CORRECT\fP omgevingsvariabele is gezet en \fB\-warn\fP ook werd gebruikt dan is het niet gespecificeerd of er enige waarschuwing actief zal worden. .SS "GLOBALE OPTIES" Globale opties retourneren altijd waar. Globale opties gelden zelfs voor testen die eerder op de commando regel werden opgegeven. Om verwarring te voorkomen moeten globale opties na de lijst met startpunten maar voor de eerste test, positionele optie of actie, opgegeven worden. Als u een globale optie op een andere plek opgeeft zal \fBfind\fP een waarschuwing geven, die uitlegt dat dat verwarrend kan zijn. De globale opties komen voor na de lijst van startpunten, en zijn daarom niet van dezelfde soort opties als bijvoorbeeld \fB\-L\fP. .IP \-d De synoniem van\-depth, voor compatibiliteit met FreeBSD, NetBSD, MacOS X en OpenBSD. .IP \-depth Verwerk de inhoud van elke map vóór de map zelf. De \-delete actie impliceert ook \fB\-depth\fP. .IP "\-files0\-from \fIbestand\fP" Lees de beginpunten van \fIbestand\fP in plaats van ze te verkrijgen via de commando regel. In tegenstelling tot de bekende beperkingen van het verkrijgen van beginpunten via argumenten op de commando regel, namelijk de limitatie van het aantal bestandsnamen en de inherente ambiguïteit van bestandsnamen die botsen met optie namen, staat deze optie toe om veilig een willekeurig aantal van startpunten aan \fBfind\fP mee te geven. Het gebruik van deze optie en het doorgeven van startpunten op de commando regel sluit elkaar uit, en worden daarom niet tegelijkertijd toegestaan. Het \fIbestand\fP argument is verplicht. Men kan \fB\-files0\-from\ \-\fP gebruiken om de lijst van startpunten te lezen van de \fIstandaard invoer\fP stream, en b.v. van een pijp. In dit geval zijn de acties \fB\-ok\fP en \fB\-okdir\fP niet toegestaan, omdat deze duidelijk interfereren met het lezen van \fIstandaard invoer\fP om op deze manier de bevestiging van de gebruiker te verkrijgen. De startpunten in \fIbestand\fP moeten worden gescheiden door ASCII NUL tekens. Twee opeenvolgende NUL tekens, m.a.w. een startpunt met een bestandsnaam van lengte nul wordt niet toegestaan en zal leiden tot een fout diagnose gevolgd door een niet\-nul afsluit code. In dit geval is het gegeven \fIbestand\fP leeg, \fBfind\fP zal geen enkel startpunt verwerken en daarom onmiddellijk na het ontleden van de programma argumenten eindigen. Dit is anders dan de standaard invocatie waar \fBfind\fP aanneemt dat de huidige map het startpunten is zodra er geen pad argument werd mee gegeven. Het verwerken van de beginpunten is als gebruikelijk, b.v. \fBfind\fP zal in submappen duiken tenzij dit voorkomen werd. Om alleen de beginpunten te verwerken kan men additioneel nog \fB\-maxdepth\ 0\fP mee geven. Verdere opmerkingen: indien een bestand meer dan eens werd opgegeven in het invoer bestand, dan is het niet zeker dat het ook meer dan eens werd gevonden. Als het \fIbestand\fP werd veranderd tijdens het uitvoeren van \fBfind\fP dan is het resultaat niet bepaald. Tot slot, is de zoek positie in het genoemde \fIbestand\fP op het moment dat \fBfind\fP eindigt ook niet bepaald. Met "niet bepaald" wordt hier bedoeld dat het al dan niet werkt of een specifiek ding doet, en dat het gedrag anders kan zijn tussen de verschillende platformen, of van \fBfindutils\fP release tot release. .IP "\-help, \-\-help" Toon een samenvatting van het gebruik van het commando \fBfind\fP en stop. .IP \-ignore_readdir_race Normaliter zal \fBfind\fP een fout melden wanneer het een bestand niet kan "stat"\-en. Als u deze optie gebruikt en een bestand werd gewist tussen het tijdstip date \fBfind\fP de naam van het bestand van de map las en de tijd dat het het bestand probeert te "stat"\-en, dan wordt geen foutmelding gegeven. Dit is ook van toepassing op bestanden of mappen wiens naam op de commando regel werden opgegeven. De optie wordt gezet op het moment dat de commando regel wordt gelezen, hetgeen betekent dat u niet een deel van het bestandssysteem kunt doorzoeken met deze optie aan een een ander deel met de optie uit (als u dat nodig heeft dan zult u twee \fBfind\fP commando´s moeten maken, een met de optie aan en een zonder). Bovendien van \fBfind\fP met de \fB\-ignore_readdir_race\fP optie fouten van de \fB\-delete\fP. actie negeren in het geval het bestand verdween vanaf het moment dat de ouder map werd gelezen: het zal geen fout diagnostiek melden en de terugkeer code van de \fB\-delete\fP actie zal waar zijn. .IP "\-maxdepth \fIniveaus\fP" Daal maximaal \fIniveaus\fP (een niet\-negatief heel getal) van mappen af onder het start\-punten. Gebruik \fB\-maxdepth\ 0\fP om de testen en acties alleen op de start\-punten toe te passen. .IP "\-mindepth \fIniveaus\fP" Pas geen testen of acties toe op niveaus lager dan \fIniveaus\fP (een niet negatief heel getal). \fB\-mindepth 1\fP betekend verwerk alle bestanden behalve de start\-punten. .IP \-mount Daal niet af in mappen op andere bestandsystemen. Een alternatief voor \fB\-xdev\fP, voor overdraagbaarheid met andere versies van \fBfind\fP. .IP \-noignore_readdir_race Schakel het effect van \fB\-ignore_readdir_race\fP uit. .IP \-noleaf Maak uitvoering niet sneller door aan te nemen dat mappen 2 minder submappen bevatten dan hun harde koppelingen aantal. Deze optie is nodig bij zoeken door bestandssystemen die de Unix map\-koppelingen gewoontes niet volgen zoals CD\-ROM of MS\-DOS bestandssystemen, of AFS volume mount punten. Elke map op een normaal Unix bestandsysteem heeft tenminste 2 harde koppelingen: zijn naam en zijn `.\&' ingang. Daar bovenop hebben zijn submappen (als aanwezig) elk een `..\&' ingang verbonden naar die map. Wanneer \fBfind\fP een map onderzoekt, nadat het 2 minder submappen rekent dan het koppelingen aantal van de map, weet het dat de rest van de ingangen in de map niet\-mappen zijn (`blad' bestanden in de mappen boom). Als alleen debestandsnamen onderzocht dienen te worden is het niet nodig ze te beoordelen; dit geeft een belangrijke toename van zoek snelheid. .IP "\-version, \-\-version" Druk het \fBfind\fP versie nummer af en eindig. .IP \-xdev Daal niet af in mappen op andere bestandsystemen. .SS TESTS Sommige testen, bijvoorbeeld \fB\-newerXY\fP en \fB\-samefile\fP, staan toe bestanden, die onderzochie bestand op de commando regel, te vergelijken. Indien deze testen worden gebruikt, wordt de interpretatie van het referentie bestand bepaald door de opties \fB\-H\fP, \fB\-L\fP and \fB\-P\fP en enige voorafgaande \fB\-follow\fP, maar wordt het referentie bestand slechts eenmaal onderzocht, op het moment dat de commando regel wordt gelezen. Als het referentie bestand niet kan worden onderzocht (bijvoorbeeld, als de \fBstat\fP(2) systeem aanroep faalt), dan wordt een foutmelding getoond en zal \fBfind\fP met een niet\-nul status eindigen. .P Een numeriek argument \fIn\fP kan worden meegegeven aan testen (zoals \fB\-amin\fP, \fB\-mtime\fP, \fB\-gid\fP, \fB\-inum\fP, \fB\-links\fP, \fB\-size\fP, \fB\-uid\fP en \fB\-used\fP) als .IP \fI+n\fP voor groter dan \fIn\fP, .IP \fI\-n\fP voor minder dan \fIn\fP, .IP \fIn\fP voor precies \fIn\fP. . .P Ondersteunde testen: .IP "\-amin \fIn\fP" Het bestand werd minder dan, meer dan of exact \fIn\fP minuten geleden benaderd. .IP "\-anewer \fIbestand\fP" De tijd van de laatste toegang van het huidige bestand is recenter dan die van de laatste datum wijziging van het \fIreferentie\fP bestand. Als \fIreferentie\fP een een symbolische koppeling is en de \fB\-H\fP optie of de \fB\-L\fP optie werd gebruikt, dan wordt altijd de laatste wijzigingstijd van het bestand waarnaar gewezen gebruikt. .IP "\-atime \fIn\fP" Het bestand werd minder dan, meer dan of exact \fIn\fP*24 uur geleden benaderd. Als \fBfind\fP erachter komt hoeveel 24\-uur perioden geleden een bestand voor het laatst benaderd werd, dan wordt elke fractie genegeerd om zo met \fB\-atime\ +1\fP over een te komen, een bestand moet op zijn minst \fItwo\fP dagen geleden zijn benaderd. .IP "\-cmin \fIn\fP" De status van het bestand werd minder dan, meer dan of exact \fIn\fP minuten geleden gewijzigd. .IP "\-cnewer \fIbestand\fP" Tijd van de laatste status verandering van het huidige bestand is recenter dan dat van de laatste datum wijziging van het \fIreferentie\fP bestand. Als \fIreferentie\fP een symbolische koppeling is en de \fB\-H\fP optie of de \fB\-L\fP optie werden gebruikt, dan wordt altijd de tijd van de laatste datum wijziging van het bestand waar het naar wijst gebruikt. .IP "\-ctime \fIn\fP" Bestand\-status werd voor het laatst minder dan, meer dan of exact \fIn\fP*24 uur geleden veranderd. Zie het commentaar voor \fB\-atime\fP om te begrijpen hoe het afronden de interpretatie van de bestandsstatus veranderings tijden beïnvloed. .IP \-empty Bestand is leeg en is of een normaal bestand, of een map. .IP \-executable Vind bestanden die uitvoerbaar en mappen die doorzoekbaar zijn (in de betekenis van de gezochte bestandsnaam) door de huidige gebruiker. Dit houdt rekening met toegangs controle lijsten en andere rechten artefacten die de \fB\-perm\fP test negeert. Deze test maakt gebruik van de \fBaccess\fP(2) systeem aanroep, en kan dus voor de gek worden gehouden door NFS servers die UID uitvoeren (of root\-squashing), omdat veel systemen \fBaccess\fP(2) in de kernel van de client implementeren en daarom geen gebruik kunnen maken van de UID informatie bijgehouden in de server. Omdat deze test alleen is gebaseerd op het resultaat van de \fBaccess\fP(2) systeem aanroep, is er geen garantie dat een bestand waarvoor de test succesvol was ook daadwerkelijk kan worden uitgevoerd. .IP \-false Altijd onwaar. .IP "\-fstype \fIsoort\fP" Bestand staat op een bestandssysteem van type \fIsoort\fP. De geldige bestandssysteem typen verschillen tussen verschillende versies van Unix; een onvolledige lijst van bestandssysteem soorten die geaccepteerd worden op een of andere versie van Unix is: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. U kunt \fB\-printf\fP met de %F richtlijn gebruiken om de typen van uw bestandssystemen te zien. .IP "\-gid \fIn\fP" Het numerieke groep ID van bestand is kleiner dan, groter dan of exact \fIn\fP. .IP "\-group \fIgnaam\fP" Bestand hoort bij groep \fIgnaam\fP (numeriek groep ID toegestaan). .IP "\-ilname \fIpatroon\fP" Net als \fB\-lname\fP, maar de overeenkomst is ongevoelig voor het verschil tussen hoofd\- en kleine\- letters. Als de \fB\-L\fP optie of de \fB\-follow\fP optie werden gebruikt dan geeft deze test een onwaar terug behalve als de symbolische koppeling defect was. .IP "\-iname \fIpatroon\fP" Net als \fB\-name\fP, maar de overeenkomst is ongevoelig voor het verschil tussen hoofd\- en kleine\- letters. Bijvoorbeeld, de patronen `fl*' en `F???' komen overeen met de namen `Flip', `FLIP', `flip', `fLIp', enz. .IP "\-inum \fIn\fP" Bestand heeft inode nummer kleiner dan, groter dan of exact \fIn\fP. Het is normaliter eenvoudiger om in plaats daarvan de \fB\-samefile\fP test te gebruiken. .IP "\-ipath \fIpatroon\fP" Net als \fB\-path\fP, maar de overeenkomst is ongevoelig voor het verschil tussen hoofd\- en kleine\- letters. .IP "\-iregex \fIpatroon\fP" Net als \fB\-regex\fP, maar de overeenkomst is ongevoelig voor het verschil tussenhoofd\- en kleine\- letters. .IP "\-iwholename \fIpatroon\fP" Zie \-ipath. Dit alternatief is minder overdraagbaar dan \fB\-ipath\fP. .IP "\-links \fIn\fP" Bestand heeft minder dan, meer dan of exact \fIn\fP harde koppelingen. .IP "\-lname \fIpatroon\fP" Bestand is een symbolische koppeling wiens inhoud overeenkomt met shell patroon \fIpatroon\fP. De meta\-tekens behandelen `/' en `.\&' niet speciaal. Als de \fB\-L\fP optie of de \fB\-follow\fP optie werden gebruikt dan geeft deze test een onwaar terug behalve als de symbolische koppeling defect was. .IP "\-mmin \fIn\fP" Bestandsgegevens werden het laatst minder dan, meer dan of exact \fIn\fP minuten geleden aangepast. .IP "\-mtime \fIn\fP" Bestandgegevens werden het laatst minder dan, meer dan of exact \fIn\fP*24 uur geleden aangepast. Zie het commentaar voor \fB\-atime\fP om te begrijpen hoe het afronden de interpretatie van de bestandsstatus veranderings tijden beïnvloed. .IP "\-name \fIpatroon\fP" Basis van de bestandsnaam (het pad met het voorvoegsel van mappen verwijderd) komt overeen met shell patroon \fIpatroon\fP. Omdat het voorvoegsel van mappen verwijderd is, zullen de bestandsnamen die bekeken worden voor de overeenkomst met \fB\-name\fP nooit een schuine streep bevatten, daarom zal \&'\-name a/b' nooit overeenkomen met iets (u dient mogelijk \fB\-path\fP in plaats hiervan te gebruiken). Er zal een waarschuwing gegeven worden als u dit probeert te doen, behalve als de omgevingsvariabele \fBPOSIXLY_CORRECT\fP werd gezet. De meta\-karakters (`*', `?', and `[]') passen op een `.\&' aan het begin van de basis (dit is een verandering in findutils\-4.2.2; zie sectie VOLDOET AAN hieronder). Om een map en de bestanden daaronder te negeren, gebruik dan \fB\-prune\fP in plaats van het controleren van elk bestand in de boom; zie een voorbeeld in de beschrijven van die actie. Haakjes worden niet herkend als zijnde speciaal, ondanks het feit dat sommige shells inclusief Bash haakjes gebruiken met een speciale betekenis in shell patronen. Het herkennen van de bestandsnaam wordt gedaan door het gebruik van de \fBfnmatch\fP(3) bibliotheek functie. Vergeet niet het patroon met aanhalingstekens te omgeven, om te voorkomen dat de shell het expandeert. .IP "\-newer \fIbestand\fP" De tijd van de laatste data modificatie van het huidige bestand is recenter dan die van de laatste date modificatie van het \fIreference\fP bestand. Als \fIreference\fP een symbolische koppeling is en de \fB\-H\fP optie of de \fB\-L\fP optie werd gezet, dan wordt de tijd van de laatste data modificatie van het bestand waar deze naar wijst altijd gebruikt. .IP "\-newerXY \fIreferentie\fP" Slaagt als tijdstempel \fIX\fP van het overwogen bestand nieuwer is dan de tijdstempel \fIY\fP van de bestand \fIreferentie\fP. De letters \fIX\fP en \fIY\fP kan een van de onderstaande letters zijn: .TS ll ll ll ll llw(2i). a De toegangstijd van het bestand \fIreferentie\fP B De aanmaak tijd van het bestand \fIreferentie\fP c De veranderingstijd van de inode van \fIreferentie\fP m De wijzigingstijd van het bestand \fIreferentie\fP t \fIreferentie\fP werd direct als een tijd geïnterpreteerd. .TE Een aantal combinaties zijn ongeldig; bij voorbeeld, is het ongeldig dat \fIX\fP gelijk is aan \fIt\fP. Sommige combinaties zijn niet geïmplementeerd op alle systemen; \fIB\fP is b.v. niet geïmplementeerd op alle systemen. Als een ongeldige of niet ondersteunde combinatie van \fIXY\fP werd opgegeven, dan resulteert dit in een fatale fout. Tijd specificaties worden geïnterpreteerd zoals die van het argument van de \fB\-d\fP optie van GNU \fBdate\fP. Als u de aanmaak tijd van een referentie bestand probeert te gebruiken en de aanmaak tijd kon niet worden bepaald dan resulteert dit in een fatale fout. Als u een test specificeert die verwijst naar de aanmaak tijd van onderzochte bestanden, dan zal deze test falen voor elk bestand waarvan de aanmaak tijd onbekend is. .IP \-nogroup Geen enkele groep hoort bij het numerieke groep ID van bestand. .IP \-nouser Geen enkele gebruiker hoort bij het bestand numerieke ID. .IP "\-path \fIpatroon\fP" Bestandsnaam komt overeen met shell patroon \fIpatroon\fP. De meta\-tekensbehandelen `/' en `.\&' niet speciaal; dus, bijvoorbeeld, .in +4m .nf find . \-path "./sr*sc" .fi .in zal een ingang voor een map genaamd './src/misc' (als die bestaat) tonen. Gebruik \fB\-prune\fP mm een hele mappen boom te negeren, in plaats van elk bestand in de boom te testen. Merk op dat de test op de overeenkomst van het patroon van toepassing is op de hele bestandsnaam, beginnend bij een van de begin punten genoemd op de commando regel. Het is hier alleen zinvol om een absoluut padnaam te gebruiken als het relevante begin punt ook een absoluut pad is. Dit betekent dat dit commando nooit op iets zal passen: .br .in +4m .nf find bar \-path /foo/bar/myfile \-print .fi .in Find vergelijkt het \fB\-path\fP argument met de samenvoeging van de map naam en de basis naam van het onderzochte bestand. Omdat de samenvoeging nooit eindigt met een schuine streep, zullen \fB\-path\fP argumenten eindigend met een schuine streep met niks overeenkomen (behalve misschien met een beginpunt opgegeven op de commando regel). Het predicaat \fB\-path\fP wordt ook ondersteund door HP\-UX \fBfind\fP en is onderdeel van de POSIX 2008 standaard. .IP "\-perm \fImodus\fP" Bestandspermissie\-bits zijn precies \fImode\fP (octaal of symbolisch). Omdat een exacte overeenkomst is vereist, als u deze vorm wilt gebruiken voor symbolische modi, dan dient u een behoorlijk complexe mode tekenreeks op te geven. Bijvoorbeeld '\-perm g=w' zal alleen passen op bestanden met een mode 0020 (dat is, die waarvoor de groep schrijf rechten het enige recht is dat gezet werd). Het is meer waarschijnlijk dat u de `/' of `\-' vormen wilt gebruiken, bijvoorbeeld `\-perm \-g=w', die elk bestand met de groep schrijf rechten vind. Zie de \fBVOORBEELDEN\fP sectie voor enkele illustratieve voorbeelden. .IP "\-perm \-\fImodus\fP" Alle rechten bits \fImode\fP zijn gezet voor het bestand. Symbolische modi worden geaccepteerd in deze vorm, en dit is de gebruikelijke manier op welke u deze zou willen gebruiken. U dient `u', `g' of `o' op te geven indien u een symbolische mode wilt gebruiken. Zie de \fBVOORBEELDEN\fP sectie voor enkele illustratieve voorbeelden. .IP "\-perm /\fImodus\fP" Enige rechten bits \fImode\fP zijn gezet voor het bestand. Symbolische modi worden geaccepteerd in deze vorm. U dient `u', `g' of `o' op te geven indien u een symbolische mode gebruikt. Zie de \fBVOORBEELDEN\fP sectie voor enkele illustratieve voorbeelden. Als er geen rechten bits in \fImode\fP werden gezet, dan past deze test op elk bestand (het idee is hier om consistent met het gedrag van \fB\-perm\ \-000\fP). .IP "\-perm +\fImodus\fP" Dit wordt niet langer ondersteund (en is verouderd vanaf 2005). Gebruik \fB\-perm /\fP\fImode\fP in de plaats hiervan. .IP \-readable Vindt bestanden die leesbaar zijn door de huidige gebruiker. Er wordt rekening gehouden met toegang controle lijsten en andere permissie artefacten die de \fB\-perm\fP test negeert. Deze test maakt gebruik van de \fBaccess\fP(2) systeem aanroep en kan voor de gek gehouden worden door NFS servers die UID mapping (of root\- squashing) uitvoeren, omdat veel systemen \fBaccess\fP(2) in de kernel van de client implementeren kunnen zij niet gebruik maken van de UID mapping informatie zoals die door de server wordt bijgehouden. .IP "\-regex \fIpatroon\fP" Bestandsnaam komt overeen met reguliere expressie \fIpatroon\fP. Dit is een overeenkomst met het hele pad, er wordt niet in gezocht. Bijvoorbeeld, om met een bestand genaamd `./flopje3' overeen te komen, kunt u de reguliere expressie `.*opje.' of `.*o.*3', maar niet `o.*e3' gebruiken. De reguliere expressies die door \fBfind\fP begrepen worden zijn standaard Emacs Reguliere Expressie (behalve dat ´. ' past op een nieuwe regel), echter kan dit worden veranderd met de \fB\-regextype\fP optie. .IP "\-samefile \fInaam\fP" Bestand verwijst naar dezelfde inode als \fInaam\fP. Wanneer \fB\-L\fP gebruikt werd, dan kan deze symbolische koppelingen bevatten. .IP "\-size \fIn\fP[cwbkMG]" Bestand gebruikt afgerond minder dan, meer dan of exact \fIn\fP eenheden ruimte. De volgende achtervoegsels kunnen gebruikt worden: .RS .IP `b' voor 512\-byte blokken (dit is standaard als geen achtervoegsel gebruikt werd). .IP `c' voor bytes .IP `w' voor twee\-byte woorden .IP `k' voor kibibytes (KiB, eenheden van 1024 bytes) .IP `M' voor mebibytes (MiB, eenheden van 1024 * 1024 = 1\|048\|576 bytes) .IP `G' voor gibibytes (GiB, eenheden van 1024 * 1024 * 1024 = 1\|073\|741\|824 bytes) .RE .IP De grootte is eenvoudig het st_size element van de struct stat gezet door de lstat (of stat) systeem aanroep, afgerond zoals hierboven aangegeven. Met andere woorden, het is consistent met de resultaten die u verkrijgt met \fBls\ \-l\fP. Onthoud dat de `%k' en `%b' formaat specificaties van \fB\-printf\fP ijle bestanden anders behandelen. Het 'b' achtervoegsel duid altijd 512\-byte blokken aan en nooit 1024\-byte blokken, dit is anders dan het gedrag van \fB\-ls\fP. .IP De + en \- voorvoegsels betekenen groter dan en kleiner dan, zoals gebruikelijk; m.a.w. een exacte grootte van \fIn\fP eenheden komt niet overeen. Merk op dat de grootte wordt afgerond op de volgende eenheid. Daarom is \fB\-size\ \-1M\fP niet equivalent met \fB\-size\ \-1\|048\|576c\fP. De eerste komt alleen overeen met lege bestanden, de laatste vind bestanden van 0 tot 1.048.575 bytes. .IP \-true Altijd waar. .IP "\-type \fIc\fP" Bestand is van soort \fIc\fP: .RS .IP b blok (gebufferd) speciaal .IP c karakter (ongebufferd) speciaal .IP d directory .IP p benoemde pijp (FIFO) .IP f normaal bestand .IP l symbolische koppeling; dit is nooit waar als de \fB\-L\fP optie of de \fB\-follow\fP optie gezet zijn, behalve als de symbolische koppeling defect is. Indien u wenst te zoeken naar symbolische koppelingen terwijl \fB\-L\fP gezet is, gebruik dan \fB\-xtype\fP. .IP s socket .IP D deur (Solaris) .RE .IP Om te zoeken naar meer dan een type in een keer, kunt u de gecombineerde lijst van de typen letters gescheiden door een komma opgeven ¨," (GNU uitbreiding). .IP "\-uid \fIn\fP" Het numerieke gebruiker ID van het bestand is kleiner dan, groter dan of exact \fIn\fP. .IP "\-used \fIn\fP" Het bestand werd voor het laatste benadert minder dan, meer dan of exact \fIn\fP dagen nadat zijn status voor het laatst werd veranderd. .IP "\-user \fIgnaam\fP" Bestand is eigendom van gebruiker \fIgnaam\fP (numeriek gebruiker ID toegestaan). .IP "\-wholename \fIpatroon\fP" Zie \-path. Dit alternatief is minder overdraagbaar dan \fB\-path\fP. .IP \-writable Vindt bestanden die schrijfbaar zijn door de huidige gebruiker. Er wordt rekening gehouden met toegang controle lijsten en andere permissie artefacten die de \fB\-perm\fP test negeert. Deze test maakt gebruik van de \fBaccess\fP(2) systeem aanroep en kan voor de gek gehouden worden door NFS servers die UID mapping (of root\- squashing) uitvoeren, omdat veel systemen \fBaccess\fP(2) in de kernel van de client implementeren kunnen zij niet gebruik maken van de UID mapping informatie zoals die door de server wordt bijgehouden. .IP "\-xtype \fIc\fP" Hetzelfde als \fB\-type\fP tenzij het bestand een symbolische koppeling is. Voor symbolische koppelingen: als de \fB\-H\fP of \fB\-P\fP optie niet gegeven werd, `waar' als het bestand een koppeling is naar een bestand van soort \fIc\fP; als de \fB\-L\fP optie werd gegeven, `waar' als \fIc\fP gelijk is aan `l'. Met andere woorden, voor symbolische koppelingen test \fB\-xtype\fP het type bestand dat \fB\-type\fP niet test. .IP "\-context \fIpatroon\fP" (alleen SELinux) De veiligheid context van het bestand past op glob \fIpatroon\fP. .SS ACTIES .IP \-delete Verwijder bestanden; waar als het verwijderen lukte. Als het verwijderen mislukte, dan wordt een foutmelding gegeven, en zal de beëindigingsstatus van \fBfind\fP niet\-nul zijn (zodra het uiteindelijk eindigt). \fBWaarschuwing\fP: Vergeet niet dat \fBfind\fP de commando regel evalueert als een expressie, het vooraf laten gaan van \fB\-delete\fP zorgt er voor dat \fBfind\fP alles onder het door u opgegeven startpunt probeert te wissen. Het gebruik van de \fB\-delete\fP actie op de commando regel zal automatisch de \fB\-depth\fP optie activeren. Op zijn beurt maakt \fB\-depth\fP \fB\-prune\fP niet effectief, de \fB\-delete\fP actie kan niet bruikbaar worden gecombineerd met \fB\-prune\fP. Often, the user might want to test a find command line with \fB\-print\fP prior to adding \fB\-delete\fP for the actual removal run. To avoid surprising results, it is usually best to remember to use \fB\-depth\fP explicitly during those earlier test runs. De \fB\-delete\fP actie zal falen een map te wissen, behalve als deze leeg is. Samen met de \fB\-ignore_readdir_race\fP optie zal \fBfind\fP fouten van de \fB\-delete\fP actie negeren in het geval dat het bestand verdween na het moment dat de ouder map werd gelezen: het zal geen fout diagnose tonen, de afsluit code niet naar niet\-nul veranderen, bovendien zal de afsluit code van \fB\-delete\fP actie 'waar' zijn. .IP "\-exec \fIopdracht\fP ;" Voer \fIopdracht\fP uit; `waar' als 0 status teruggegeven is. Alle volgende argumenten voor \fBfind\fP worden als argumenten voor de opdracht genomen totdat een argument bestaande uit `;' wordt tegengekomen. De string `{}' wordt vervangen door de huidige bestandsnaam die wordt verwerkt, overal waar het opduikt in de argumenten voor de opdracht, niet alleen in argumenten waar het alleen is, zoals in sommige versies van \fBfind\fP. Allebei deze constructies moeten misschien ge\-escape't (met een `\e') of geciteerd worden om ze te beschermen tegen interpretatie door de shell. De opdracht wordt uitgevoerd in de start map. .IP "\-exec \fIopdracht\fP {} +" This variant of the \fB\-exec\fP action runs the specified command on the selected files, but the command line is built by appending each selected file name at the end; the total number of invocations of the command will be much less than the number of matched files. The command line is built in much the same way that \fBxargs\fP builds its command lines. Only one instance of `{}' is allowed within the command, and it must appear at the end, immediately before the `+'; it needs to be escaped (with a `\e') or quoted to protect it from interpretation by the shell. The command is executed in the starting directory. If any invocation with the `+' form returns a non\-zero value as exit status, then \fBfind\fP returns a non\-zero exit status. If \fBfind\fP encounters an error, this can sometimes cause an immediate exit, so some pending commands may not be run at all. For this reason \fB\-exec\ \fP\fImy\-command\fP\fB\ ...\ {}\ +\ \-quit\fP may not result in \fImy\-command\fP actually being run. This variant of \fB\-exec\fP always returns true. .IP "\-execdir \fIopdracht\fP ;" .IP "\-execdir \fIopdracht\fP {} +" Like \fB\-exec\fP, but the specified command is run from the subdirectory containing the matched file, which is not normally the directory in which you started \fBfind\fP. As with \-exec, the {} should be quoted if find is being invoked from a shell. This a much more secure method for invoking commands, as it avoids race conditions during resolution of the paths to the matched files. As with the \fB\-exec\fP action, the `+' form of \fB\-execdir\fP will build a command line to process more than one matched file, but any given invocation of \fIcommand\fP will only list files that exist in the same subdirectory. If you use this option, you must ensure that your \fBPATH\fP environment variable does not reference `.'; otherwise, an attacker can run any commands they like by leaving an appropriately\-named file in a directory in which you will run \fB\-execdir\fP. The same applies to having entries in \fBPATH\fP which are empty or which are not absolute directory names. If any invocation with the `+' form returns a non\-zero value as exit status, then \fBfind\fP returns a non\-zero exit status. If \fBfind\fP encounters an error, this can sometimes cause an immediate exit, so some pending commands may not be run at all. The result of the action depends on whether the \fB+\fP or the \fB;\fP variant is being used; \fB\-execdir\ \fP\fIcommand\fP\fB\ {}\ +\fP always returns true, while \fB\-execdir\ \fP\fIcommand\fP\fB\ {}\ ;\fP returns true only if \fIcommand\fP returns 0. .IP "\-fls \fIbestand\fP" Waar; net als \fB\-ls\fP maar schrijf naar \fIbestand\fP zoals \fB\-fprint\fP. Het uitvoer bestand wordt altijd gemaakt, zelfs als het predicaat nooit past. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .IP "\-fprint \fIbestand\fP" Waar; schrijf de volle bestandsnaam naar bestand \fIbestand\fP. Als \fIbestand\fP niet bestaat als \fBfind\fP draait, wordt het gemaakt; als het bestaat, wordt het afgehakt. De bestandsnamen \*(lq/dev/stdout\*(rq en \*(lq/dev/stderr\*(rq worden speciaal behandeld; zij verwijzen naar de standaard uitvoer en standaard fout uitvoer, respectievelijk. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .IP "\-fprint0 \fIbestand\fP" Waar; zoals \fB\-print0\fP maar schrijf naar \fIbestand\fP zoals \fB\-fprint\fP. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .IP "\-fprintf \fIbestand\fP \fIvorm\fP" Waar; zoals \fB\-printf\fP maar schrijf naar \fIbestand\fP zoals \fB\-fprint\fP. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .IP \-ls \&'Waar'; toon het huidige bestand in \fBls \-dils\fP vorm op standaard uitvoer. Het aantal blokken is in blokken van 1\ KB, tenzij de omgevingsvariabele \fBPOSIXLY_CORRECT\fP gezet is, in welk geval 512\-byte blokken worden gebruikt. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe niet gebruikelijke tekens in bestandsnamen worden afgehandeld. .IP "\-ok \fIopdracht\fP ;" Zoals \fB\-exec\fP maar vraag de gebruiker eerst. Voer het commando uit als de gebruiker akkoord is. Retourneer anders 'onwaar'. Als het commando wordt uitgevoerd, wordt zijn standaard invoer omgeleid van \fI/dev/null\fP. Deze actie mag niet tegelijkertijd met de \fB\-files0\-from\fP optie worden opgegeven .IP The response to the prompt is matched against a pair of regular expressions to determine if it is an affirmative or negative response. This regular expression is obtained from the system if the \fBPOSIXLY_CORRECT\fP environment variable is set, or otherwise from \fBfind\fP's message translations. If the system has no suitable definition, \fBfind\fP's own definition will be used. In either case, the interpretation of the regular expression itself will be affected by the environment variables \fBLC_CTYPE\fP (character classes) and \fBLC_COLLATE\fP (character ranges and equivalence classes). .IP "\-okdir \fIopdracht\fP ;" Zoals \fB\-execdir\fP maar vraag de gebruiker eerst op dezelfde manier als voor \fB\-ok\fP. Retourneer 'onwaar' als de gebruiker niet akkoord is . Als het commando wordt uitgevoerd, wordt zijn standaard invoer omgeleid van \fI/dev/null\fP. Deze actie mag niet tegelijkertijd met de \fB\-files0\-from\fP optie worden opgegeven. .IP \-print Waar; druk de volle bestandsnaam af op de standaard uitvoer, gevolgd door een nieuwe regel. Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .IP \-print0 Waar; druk de volle bestandsnaam af op de standaard uitvoer, gevolgd door een nul karakter. Dit laat bestandsnamen die nieuwe regels bevatten toe om goed geïnterpreteerd te kunnen worden door programma's die de \fBfind\fP uitvoer verwerken. .IP "\-printf \fIvorm\fP" \&'Waar'; druk \fIvorm\fP af op de standaard uitvoer, interpreteer `\e' stuurcodes en `%' richtlijnen. Veld breedten en precisie kunnen opgegeven worden zoals bij de \fBprintf\fP(3) C functie. Merk op dat veel velden worden getoond als %s inplaats van %d, en dit kan beteken dat vlaggen niet werken zoals u zou verwachten. Dit betekent ok dat de '\-' vlag niet werkt (dit dwingt velden links uitgelijnd te zijn). Niet zoals \fB\-print\fP, voegt \fB\-printf\fP geen nieuwe regel toe aan het einde van het string. De stuurcodes en richtlijnen zijn: .RS .IP \ea Alarm bel. .IP \eb Backspace. .IP \ec Stop afdrukken van deze vorm onmiddellijk en spoel de uitvoer door. .IP \ef Nieuwe bladzijde. .IP \en Nieuwe regel. .IP \er Wagen terugloop. .IP \et Horizontale tabulatie. .IP \ev Verticale tab. .IP \e0 ASCII NUL. .IP \e\e Een letterlijke backslash (`\e'). .IP \eNNN Het teken wiens ASCII code NNN (octaal) is. .PP Een `\e' karakter gevolgd door een ander karakter wordt behandeld als een normaal karakter, zodat ze allebei afgedrukt worden. .IP %% Een letterlijk procent teken. .IP %a Laatste toegangstijd van het bestand in formaat zoals teruggegeven door de C \fBctime\fP(3) functie. .IP %A\fIk\fP Laatste toegangstijd van het bestand in de vorm gegeven door \fIk\fP, die of `@' is of een richtlijn voor de C \fBstrftime\fP(3) functie. De mogelijke waardes voor \fIk\fP worden onder gegeven; sommige ervan zijn misschien niet beschikbaar op alle systemen, ten gevolge van verschillen in `strftime' tussen systemen. .RS .IP @ seconden sinds 1 januari 1970, 00:00 GMT, met een fractie. .PP Tijd velden: .IP H uur (00...23) .IP I het uur (01..12) .IP k uur ( 0..23) .IP l uur ( 1..12) .IP M minuut (00...59) .IP p locale AM of PM .IP r tijd, 12\-uur (hh:mm:ss [AP]M) .IP S Seconden (00.00 \&..\& 61.00). Er is een fractie. .IP T tijd, 24\-uur (hh:mm:ss.xxxxxxxxxx) .IP + Datum en tijd, gescheiden door een '+', bijvoorbeeld `2004\-04\-28+22:22:05.0'. Dit is een GNU uitbreiding. De tijd wordt gegeven in de huidige tijd zone (die beïnvloed kan zijn door het zetten van de \fBTZ\fP omgevingsvariabele). Het seconden veld bevat een fractie. .IP X locale tijd voorstelling (H:M:S). Het seconden veld bevat een fractie. .IP Z tijd zone (o.a. CET), of niets als de tijd zone niet vast te stellen is .PP Datum velden: .IP a locale afgekorte weekdag naam (Zon..Zat) .IP A locale volle weekdag naam, variabele lengte (Zondag..Zaterdag) .IP b locale afgekorte maand naam (jan..dec) .IP B locale volle maand naam, variabele lengte (januari..december) .IP c lokale datum en tijd (Zat Nov 04 12:02:33 CET 1989). Het formaat is hetzelfde als voor \fBctime\fP(3) en om compatibiliteit te waarborgen met dat formaat, is er geen fractie in het seconden veld. .IP d dag van de maand (01..31) .IP D datum (mm/dd/jj) .IP F datum (jjjj\-mm\-dd) .IP h hetzelfde als b .IP j de dag in het jaar (001...366) .IP m de maand (01...12) .IP U week nummer van jaar met zondag als eerste dag van de week (00..53) .IP w dag van de week (0..6) .IP W week nummer van jaar met maandag als eerste dag van de week (00..53) .IP x locale datum voorstelling (mm/dd/jj) .IP y de laatste twee cijfers van het jaar (00...99) .IP Y jaar (1970...\&) .RE .IP %b De hoeveelheid schijfruimte gebruikt voor dit bestand in 512\-byte blokken. Omdat schijfruimte wordt toegewezen in veelvouden van de grootte van bestandssysteem blokken is deze normaliter groter dan %s/512, maar het kan ook kleiner zijn als het een ijl bestand is. .IP %B\fIk\fP File's birth time, i.e., its creation time, in the format specified by \fIk\fP, which is the same as for %A. This directive produces an empty string if the underlying operating system or filesystem does not support birth times. .IP %c Laatste toegangstijd van het bestand in formaat zoals teruggegeven door de C \fBctime\fP(3) functie. .IP %C\fIk\fP Bestand laatste status veranderingstijd in de vorm opgegeven door \fIk\fP, wat hetzelfde is als voor %A. .IP %d Diepte van het bestand in de mappen boom; 0 betekend dat het bestand een begin punt is. .IP %D The device number on which the file exists (the st_dev field of struct stat), in decimal. .IP %f Toon de basisnaam; de bestandsnaam met enige voorafgaand mappen verwijderd (alleen het laatste element). Voor \fB/\fP, is het resultaat `/'. Zie de \fBVOORBEELDEN\fP sectie voor een voorbeeld.. .IP %F Soort bestandsysteem waar het bestand op staat; deze waarde kan gebruikt worden voor \fB\-fstype\fP. .IP %g Groep naam van bestand, of numerieke groep ID als de groep geen naam heeft. .IP %G Numerieke groep ID van bestand. .IP %h Mapnaam; Voorafgaande mappen van bestandsnaam (alle behalve het laatste deel). .IP %H Opdrachtregel\-argument waaronder het bestand gevonden werd. .IP %i inode nummer van het bestand (decimaal). .IP %k De grootte van schrijfruimte gebruikt voor dit bestand in 1\ KB blokken. Omdat schrijfruimte toegewezen wordt in meervouden van de de bestandssysteem blok grootte is deze meestal groter dan %s/1024, maar ze kan ook kleiner zijn als het bestand een ijl bestand is. .IP %l Voorwerp van symbolische koppeling (lege string als bestand geen symbolische koppeling is). .IP %m Rechten bits van het bestand (octaal). .IP %M Rechten van het bestand (in symbolische vorm, zoals voor \fBls\fP). Dit directief wordt ondersteund vanaf findutils 4.2.5. .IP %n Aantal harde koppelingen voor bestand. .IP %p Naam van bestand. .IP %P Naam van bestand met de naam van het startpunt waaronder het gevonden werd verwijderd. .IP %s Grootte van bestand in bytes. .IP %S IJlheid van het bestand. .IP %t Laatste aanpassings tijd van bestand in de vorm teruggegeven door de C \fBctime\fP(3) functie. .IP %T\fIk\fP Laatste aanpassings tijd van bestand in de vorm opgegeven door \fIk\fP, wat hetzelfde is als voor %A. .IP %u Gebruiker naam van bestand, of numerieke gebruiker ID als de gebruiker geen naam heeft. .IP %U Numerieke gebruiker ID van bestand. .IP %y Bestandstype (zoals in \fBls \-l\fP), U=onbekend type (zou niet moeten voorkomen) .IP %Y File's type (like %y), plus follow symbolic links: `L'=loop, `N'=nonexistent, `?' for any other error when determining the type of the target of a symbolic link. .IP %Z (alleen SELinux) veiligheids context van het bestand. .IP "%{ %[ %(" Gereserveerd voor toekomstig gebruik. .PP A `%' character followed by any other character is discarded, but the other character is printed (don't rely on this, as further format characters may be introduced). A `%' at the end of the format argument causes undefined behaviour since there is no following character. In some locales, it may hide your door keys, while in others it may remove the final page from the novel you are reading. The %m and %d directives support the \fB#\fP, \fB0\fP and \fB+\fP flags, but the other directives do not, even if they print numbers. Numeric directives that do not support these flags include \fBG\fP, \fBU\fP, \fBb\fP, \fBD\fP, \fBk\fP and \fBn\fP. The `\-' format flag is supported and changes the alignment of a field from right\-justified (which is the default) to left\-justified. .PP Zie de \fBONGEBRUIKELIJKE BESTANDSNAMEN\fP sectie voor informatie over hoe ongebruikelijke tekens in bestandsnamen worden afgehandeld. .RE .IP \-prune \&'Waar'; als het bestand een map is, daal er dan niet in af. Als \fB\-depth\fP werd opgegeven, dan heeft \fB\-prune\fP geen effect. Omdat \fB\-delete\fP \fB\-depth\fP impliceert, is het gebruik van \fB\-prune\fP en \fB\-delete\fP samen, niet nuttig. Om bijvoorbeeld de map \fIsrc/emacs\fP en alle bestanden en mappen daaronder over te slaan , en de namen van de gevonden bestanden te tonen, gebruikt u bij voorbeeld: .in +4m .nf find . \-path ./src/emacs \-prune \-o \-print .fi .in .IP \-quit Exit immediately (with return value zero if no errors have occurred). This is different to \fB\-prune\fP because \fB\-prune\fP only applies to the contents of pruned directories, while \fB\-quit\fP simply makes \fBfind\fP stop immediately. No child processes will be left running. Any command lines which have been built by \fB\-exec\ ...\ +\fP or \fB\-execdir\ ...\ +\fP are invoked before the program is exited. After \fB\-quit\fP is executed, no more files specified on the command line will be processed. For example, `\fBfind\ \fP\fI/tmp/foo\fP\fB\ \fP\fI/tmp/bar\fP\fB\ \-print\ \-quit\fP` will print only `/tmp/foo`. .br One common use of \fB\-quit\fP is to stop searching the file system once we have found what we want. For example, if we want to find just a single file we can do this: .in +4m .nf find / \-name needle \-print \-quit .fi .in .SS OPERATOREN Gegeven in volgorde van aflopende voorrang: .IP "( \fIexpr\fP )" Dwing volgorde af. Omdat haakjes speciaal zijn voor de shell, moeten ze normaliter tussen aanhalingstekens staan. Veel van de voorbeelden in deze handleiding gebruiken backslashes voor dit doel: `\e(...\e)' in plaats van `(...)'. .IP "! \fIexpr\fP" Waar als \fIexpr\fP ongeldig is. Dit teken dient ook beschermd te worden voor interpretatie door de shell. .IP "\-not \fIexpr\fP" Hetzelfde als !\& \fIexpr\fP, maar voldoet niet aan POSIX. .IP "\fIexpr1 expr2\fP" Twee expressies in een rij worden samengevoegd met een impliciete \fB\-a\fP; \fIexpr2\fP wordt niet beoordeeld als \fIexpr1\fP `fout' is. .IP "\fIexpr1\fP \-a \fIexpr2\fP" Zelfde als \fIexpr1 expr2\fP. .IP "\fIexpr1\fP \-and \fIexpr2\fP" Hetzelfde als \fIexpr1 expr2\fP, maar voldoet niet aan POSIX. .IP "\fIexpr1\fP \-o \fIexpr2\fP" Of; \fIexpr2\fP wordt niet beoordeeld als \fIexpr1\fP `waar' is. .IP "\fIexpr1\fP \-or \fIexpr2\fP" Zelfde als \fIexpr1\fP \fB\-o\fP \fIexpr2\fP. .IP "\fIexpr1\fP , \fIexpr2\fP" Lijst; beide \fIexpr1\fP en \fIexpr2\fP worden altijd beoordeeld. De waarde van \fIexpr1\fP wordt genegeerd; de waarde van de lijst is de waarde van \fIexpr2\fP. De komma operator kan nuttig zijn voor het zoeken naar diverse verschillende type dingen terwijl het bestandssysteem maar een keer doorlopen wordt. De \fB\-fprintf\fP actie kan worden gebruikt om de diverse gevonden items in verschillende uitvoer bestanden te noemen. .P Please note that \fB\-a\fP when specified implicitly (for example by two tests appearing without an explicit operator between them) or explicitly has higher precedence than \fB\-o\fP. This means that \fBfind . \-name afile \-o \-name bfile \-print\fP will never print \fIafile\fP. . .SH "ONGEBRUIKELIJKE BESTANDSNAMEN" Many of the actions of \fBfind\fP result in the printing of data which is under the control of other users. This includes file names, sizes, modification times and so forth. File names are a potential problem since they can contain any character except `\e0' and `/'. Unusual characters in file names can do unexpected and often undesirable things to your terminal (for example, changing the settings of your function keys on some terminals). Unusual characters are handled differently by various actions, as described below. .IP "\-print0, \-fprint0" Always print the exact filename, unchanged, even if the output is going to a terminal. .IP "\-ls, \-fls" Unusual characters are always escaped. White space, backslash, and double quote characters are printed using C\-style escaping (for example `\ef', `\e"'). Other unusual characters are printed using an octal escape. Other printable characters (for \fB\-ls\fP and \fB\-fls\fP these are the characters between octal 041 and 0176) are printed as\-is. .IP "\-printf, \-fprintf" If the output is not going to a terminal, it is printed as\-is. Otherwise, the result depends on which directive is in use. The directives %D, %F, %g, %G, %H, %Y, and %y expand to values which are not under control of files' owners, and so are printed as\-is. The directives %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u and %U have values which are under the control of files' owners but which cannot be used to send arbitrary data to the terminal, and so these are printed as\-is. The directives %f, %h, %l, %p and %P are quoted. This quoting is performed in the same way as for GNU \fBls\fP. This is not the same quoting mechanism as the one used for \fB\-ls\fP and \fB\-fls\fP. If you are able to decide what format to use for the output of \fBfind\fP then it is normally better to use `\e0' as a terminator than to use newline, as file names can contain white space and newline characters. The setting of the \fBLC_CTYPE\fP environment variable is used to determine which characters need to be quoted. .IP "\-print, \-fprint" Quoting is handled in the same way as for \fB\-printf\fP and \fB\-fprintf\fP. If you are using \fBfind\fP in a script or in a situation where the matched files might have arbitrary names, you should consider using \fB\-print0\fP instead of \fB\-print\fP. .P The \fB\-ok\fP and \fB\-okdir\fP actions print the current filename as\-is. This may change in a future release. . .SH "VOLDOET AAN" For closest compliance to the POSIX standard, you should set the \fBPOSIXLY_CORRECT\fP environment variable. The following options are specified in the POSIX standard (IEEE Std 1003.1\-2008, 2016 Edition): .IP \fB\-H\fP This option is supported. .IP \fB\-L\fP This option is supported. .IP \fB\-name\fP This option is supported, but POSIX conformance depends on the POSIX conformance of the system's \fBfnmatch\fP(3) library function. As of findutils\-4.2.2, shell metacharacters (`*', `?' or `[]' for example) match a leading `.', because IEEE PASC interpretation 126 requires this. This is a change from previous versions of findutils. .IP \fB\-type\fP Supported. POSIX specifies `b', `c', `d', `l', `p', `f' and `s'. GNU find also supports `D', representing a Door, where the OS provides these. Furthermore, GNU find allows multiple types to be specified at once in a comma\-separated list. .IP \fB\-ok\fP Supported. Interpretation of the response is according to the `yes' and `no' patterns selected by setting the \fBLC_MESSAGES\fP environment variable. When the \fBPOSIXLY_CORRECT\fP environment variable is set, these patterns are taken system's definition of a positive (yes) or negative (no) response. See the system's documentation for \fBnl_langinfo\fP(3), in particular YESEXPR and NOEXPR. When \fBPOSIXLY_CORRECT\fP is not set, the patterns are instead taken from \fBfind\fP's own message catalogue. .IP \fB\-newer\fP Ondersteund. Als het opgegeven bestand een symbolische koppeling is, wordt deze altijd gevolgd. Dit is een verandering vergeleken met het voorgaande gedrag, die de relevante tijd van de symbolische koppeling haalde; zie GESCHIEDENIS hieronder. .IP \fB\-perm\fP Supported. If the \fBPOSIXLY_CORRECT\fP environment variable is not set, some mode arguments (for example +a+x) which are not valid in POSIX are supported for backward\-compatibility. .IP "Other primaries" The primaries \fB\-atime\fP, \fB\-ctime\fP, \fB\-depth\fP, \fB\-exec\fP, \fB\-group\fP, \fB\-links\fP, \fB\-mtime\fP, \fB\-nogroup\fP, \fB\-nouser\fP, \fB\-ok\fP, \fB\-path\fP, \fB\-print\fP, \fB\-prune\fP, \fB\-size\fP, \fB\-user\fP and \fB\-xdev\fP are all supported. .P The POSIX standard specifies parentheses `(', `)', negation `!' and the logical AND/OR operators \fB\-a\fP and \fB\-o\fP. .P All other options, predicates, expressions and so forth are extensions beyond the POSIX standard. Many of these extensions are not unique to GNU find, however. .P The POSIX standard requires that \fBfind\fP detects loops: .IP The \fBfind\fP utility shall detect infinite loops; that is, entering a previously visited directory that is an ancestor of the last file encountered. When it detects an infinite loop, find shall write a diagnostic message to standard error and shall either recover its position in the hierarchy or terminate. .P GNU \fBfind\fP complies with these requirements. The link count of directories which contain entries which are hard links to an ancestor will often be lower than they otherwise should be. This can mean that GNU find will sometimes optimise away the visiting of a subdirectory which is actually a link to an ancestor. Since \fBfind\fP does not actually enter such a subdirectory, it is allowed to avoid emitting a diagnostic message. Although this behaviour may be somewhat confusing, it is unlikely that anybody actually depends on this behaviour. If the leaf optimisation has been turned off with \fB\-noleaf\fP, the directory entry will always be examined and the diagnostic message will be issued where it is appropriate. Symbolic links cannot be used to create filesystem cycles as such, but if the \fB\-L\fP option or the \fB\-follow\fP option is in use, a diagnostic message is issued when \fBfind\fP encounters a loop of symbolic links. As with loops containing hard links, the leaf optimisation will often mean that \fBfind\fP knows that it doesn't need to call \fIstat()\fP or \fIchdir()\fP on the symbolic link, so this diagnostic is frequently not necessary. .P The \fB\-d\fP option is supported for compatibility with various BSD systems, but you should use the POSIX\-compliant option \fB\-depth\fP instead. .P De \fBPOSIXLY_CORRECT\fP omgevingsvariabele beïnvloed het gedrag van de \fB\-regex\fP of \fB\-iregex\fP testen niet, omdat deze testen niet gespecificeerd zijn in de POSIX standard. . .SH OMGEVINGSVARIABELEN .IP LANG Voorziet een standaard waarde voor de internationalisatie variabelen die werden uitgeschakeld of null. .IP LC_ALL If set to a non\-empty string value, override the values of all the other internationalization variables. .IP LC_COLLATE The POSIX standard specifies that this variable affects the pattern matching to be used for the \fB\-name\fP option. GNU find uses the \fBfnmatch\fP(3) library function, and so support for \fBLC_COLLATE\fP depends on the system library. This variable also affects the interpretation of the response to \fB\-ok\fP; while the \fBLC_MESSAGES\fP variable selects the actual pattern used to interpret the response to \fB\-ok\fP, the interpretation of any bracket expressions in the pattern will be affected by \fBLC_COLLATE\fP. .IP LC_CTYPE This variable affects the treatment of character classes used in regular expressions and also with the \fB\-name\fP test, if the system's \fBfnmatch\fP(3) library function supports this. This variable also affects the interpretation of any character classes in the regular expressions used to interpret the response to the prompt issued by \fB\-ok\fP. The \fBLC_CTYPE\fP environment variable will also affect which characters are considered to be unprintable when filenames are printed; see the section UNUSUAL FILENAMES. .IP LC_MESSAGES Bepaald het taalgebied dat gebruikt wordt voor geïnternationaliseerde berichten. Indien de \fBPOSIXLY_CORRECT\fP omgevingsvariabele is gezet, dan bepaald deze ook de interpretatie van het antwoord op de prompt, veroorzaakt door de \fB\-ok\fP actie. .IP NLSPATH Bepaald de locatie van de internationale berichten catalogi. .IP PATH Beïnvloed de mappen die worden doorzocht om de uitvoerbare bestanden te vinden die aangeroepen worden door \fB\-exec\fP, \fB\-execdir\fP, \fB\-ok\fP en \fB\-okdir\fP. .IP POSIXLY_CORRECT Bepaald de blok grootte gebruikt door \fB\-ls\fP en \fB\-fls\fP. Als \fBPOSIXLY_CORRECT\fP werd gezet, dan is de eenheid 512 bytes. Anders zijn het eenheden van 1024 bytes. .IP Setting this variable also turns off warning messages (that is, implies \fB\-nowarn\fP) by default, because POSIX requires that apart from the output for \fB\-ok\fP, all messages printed on stderr are diagnostics and must result in a non\-zero exit status. .IP Als \fBPOSIXLY_CORRECT\fP niet gezet werd dan wordt \fB\-perm \fP\fI+zzz\fP precies zo behandeld als \fB\-perm \fP\fI/zzz\fP mits \fI+zzz\fP geen geldige symbolische mode is. Indien \fBPOSIXLY_CORRECT\fP is gezet, dan worden deze constructies behandeld als een fout. .IP Als \fBPOSIXLY_CORRECT\fP werd gezet, dan wordt de respons gemaakt door de \fB\-ok\fP actie, geïnterpreteerd conform de berichten catalogus van het systeem, in tegenstelling tot de eigen berichten vertalingen van \fBfind\fP. .IP TZ Affects the time zone used for some of the time\-related format directives of \fB\-printf\fP and \fB\-fprintf\fP. . .SH VOORBEELDEN .\" A bulleted \[bu] list of examples. .SS "Simple `find|xargs` approach" .IP \[bu] Find files named \fIcore\fP in or below the directory \fI/tmp\fP and delete them. .nf \& .in +4m \fB$ find /tmp \-name core \-type f \-print | xargs /bin/rm \-f\fP .in \& .fi Note that this will work incorrectly if there are any filenames containing newlines, single or double quotes, or spaces. . .SS "Safer `find \-print0 | xargs \-0` approach" .IP \[bu] Find files named \fIcore\fP in or below the directory \fI/tmp\fP and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly handled. .nf \& .in +4m \fB$ find /tmp \-name core \-type f \-print0 | xargs \-0 /bin/rm \-f\fP .in \& .fi The \fB\-name\fP test comes before the \fB\-type\fP test in order to avoid having to call \fBstat\fP(2) on every file. .PP Note that there is still a race between the time \fBfind\fP traverses the hierarchy printing the matching filenames, and the time the process executed by \fBxargs\fP works with that file. . .SS "Processing arbitrary starting points" .IP \[bu] Given that another program \fIproggy\fP pre\-filters and creates a huge NUL\-separated list of files, process those as starting points, and find all regular, empty files among them: .nf \& .in +4m \fB$ proggy | find \-files0\-from \- \-maxdepth 0 \-type f \-empty\fP .in \& .fi The use of \fB`\-files0\-from\ \-`\fP means to read the names of the starting points from \fIstandard input\fP, i.e., from the pipe; and \fB\-maxdepth\ 0\fP ensures that only explicitly those entries are examined without recursing into directories (in the case one of the starting points is one). . .SS "Executing a command for each file" .IP \[bu] Run \fIfile\fP on every file in or below the current directory. .nf \& .in +4m \fB$ find . \-type f \-exec file \(aq{}\(aq \e;\fP .in \& .fi Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though single quotes could have been used in that case also. .PP In veel gevallen, zou men \fB`\-exec\ \&...\&\ +`\fP prefereren of nog beter \fB`\-execdir\ \&...\&\ +`\fP syntax vanwege prestatie en veiligheid redenen. . .SS "Traversing the filesystem just once \- for 2 different actions" .IP \[bu] Traverse the filesystem just once, listing set\-user\-ID files and directories into \fI/root/suid.txt\fP and large files into \fI/root/big.txt\fP. .nf \& .in +4m \fB$ find / \e\fP .in +4m \fB\e( \-perm \-4000 \-fprintf /root/suid.txt \(aq%#m %u %p\en\(aq \e) , \e\fP .br \fB\e( \-size +100M \-fprintf /root/big.txt \(aq%\-10s %p\en\(aq \e)\fP .in -4m .in -4m \& .fi This example uses the line\-continuation character \(aq\e\(aq on the first two lines to instruct the shell to continue reading the command on the next line. . .SS "Searching files by age" .IP \[bu] Search for files in your home directory which have been modified in the last twenty\-four hours. .nf \& .in +4m \fB$ find $HOME \-mtime 0\fP .in \& .fi This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match \fB\-mtime\fP \fB0\fP, a file will have to have a modification in the past which is less than 24 hours ago. . .SS "Searching files by permissions" .IP \[bu] Search for files which are executable but not readable. .nf \& .in +4m \fB$ find /sbin /usr/sbin \-executable \e! \-readable \-print\fP .in \& .fi . .IP \[bu] Search for files which have read and write permission for their owner, and group, but which other users can read but not write to. .nf \& .in +4m \fB$ find . \-perm 664\fP .in \& .fi Files which meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched. . .IP \[bu] Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of any extra permission bits (for example the executable bit). .nf \& .in +4m \fB$ find . \-perm \-664\fP .in \& .fi This will match a file which has mode \fI0777\fP, for example. . .IP \[bu] Search for files which are writable by somebody (their owner, or their group, or anybody else). .nf \& .in +4m \fB$ find . \-perm /222\fP .in \& .fi . .IP \[bu] Search for files which are writable by either their owner or their group. .nf \& .in +4m \fB$ find . \-perm /220\fP \fB$ find . \-perm /u+w,g+w\fP \fB$ find . \-perm /u=w,g=w\fP .in \& .fi All three of these commands do the same thing, but the first one uses the octal representation of the file mode, and the other two use the symbolic form. The files don't have to be writable by both the owner and group to be matched; either will do. . .IP \[bu] Search for files which are writable by both their owner and their group. .nf \& .in +4m \fB$ find . \-perm \-220\fP \fB$ find . \-perm \-g+w,u+w\fP .in \& .fi Beide commando´s doen hetzelfde. . .IP \[bu] A more elaborate search on permissions. .nf \& .in +4m \fB$ find . \-perm \-444 \-perm /222 \e! \-perm /111\fP \fB$ find . \-perm \-a+r \-perm /a+w \e! \-perm /a+x\fP .in \& .fi These two commands both search for files that are readable for everybody (\fB\-perm \-444\fP or \fB\-perm \-a+r\fP), have at least one write bit set (\fB\-perm /222\fP or \fB\-perm /a+w\fP) but are not executable for anybody (\fB! \-perm /111\fP or \fB! \-perm /a+x\fP respectively). . .SS "Pruning \- omitting files and subdirectories" .IP \[bu] Copy the contents of \fI/source\-dir\fP to \fI/dest\-dir\fP, but omit files and directories named \fI.snapshot\fP (and anything in them). It also omits files or directories whose name ends in `\(ti', but not their contents. .nf \& .in +4m \fB$ cd /source\-dir\fP \fB$ find . \-name .snapshot \-prune \-o \e( \e! \-name \(aq*~\(aq \-print0 \e) \e\fP .br .in +4m \fB| cpio \-pmd0 /dest\-dir\fP .in -4m .in -4m \& .fi The construct \fB\-prune\ \-o\ \e(\ \&...\&\ \-print0\ \e)\fP is quite common. The idea here is that the expression before \fB\-prune\fP matches things which are to be pruned. However, the \fB\-prune\fP action itself returns true, so the following \fB\-o\fP ensures that the right hand side is evaluated only for those directories which didn't get pruned (the contents of the pruned directories are not even visited, so their contents are irrelevant). The expression on the right hand side of the \fB\-o\fP is in parentheses only for clarity. It emphasises that the \fB\-print0\fP action takes place only for things that didn't have \fB\-prune\fP applied to them. Because the default `and' condition between tests binds more tightly than \fB\-o\fP, this is the default anyway, but the parentheses help to show what is going on. . .IP \[bu] Gegeven de volgende map van projecten en hun geassocieerde SCM administratieve mappen, doorzoek op een efficiënte manier de hoofdmappen: .nf \& .in +4m \fB$ find repo/ \e\fP .in +4m \fB\e( \-exec test \-d \(aq{}/.svn\(aq \e; \e\fP \fB\-or \-exec test \-d \(aq{}/.git\(aq \e; \e\fP \fB\-or \-exec test \-d \(aq{}/CVS\(aq \e; \e\fP \fB\e) \-print \-prune\fP .in -4m .in -4m \& .fi Voorbeeld uitvoer: .nf \& .in +4m \fBrepo/project1/CVS\fP \fBrepo/gnu/project2/.svn\fP \fBrepo/gnu/project3/.svn\fP \fBrepo/gnu/project3/src/.svn\fP \fBrepo/project4/.git\fP .in \& .fi In dit voorbeeld, voorkomt \fB\-prune\fP het onnodige afdalen in mappen die al ontdekt werden (bij voorbeeld wordt \fIproject3/src\fP niet doorzocht omdat we \fIproject3/.svn\fP) reeds gevonden werd), maar verzekert wel dat naast gelegen mappen (\fIproject2\fP en \fIproject3\fP gevonden worden. . .SS "Andere bruikbare voorbeelden" .IP \[bu] Zoek voor diverse bestandstypen .nf \& .in +4m \fB$ find /tmp \-type f,d,l\fP .in \& .fi Search for files, directories, and symbolic links in the directory \fI/tmp\fP passing these types as a comma\-separated list (GNU extension), which is otherwise equivalent to the longer, yet more portable: .nf \& .in +4m \fB$ find /tmp \e( \-type f \-o \-type d \-o \-type l \e)\fP .in \& .fi . .IP \[bu] Search for files with the particular name \fIneedle\fP and stop immediately when we find the first one. .nf \& .in +4m \fB$ find / \-name needle \-print \-quit\fP .in \& .fi . .IP \[bu] Demonstrate the interpretation of the \fB%f\fP and \fB%h\fP format directives of the \fB\-printf\fP action for some corner\-cases. Here is an example including some output. .nf \& .in +4m \fB$ find . .. / /tmp /tmp/TRACE compile compile/64/tests/find \-maxdepth 0 \-printf '[%h][%f]\en'\fP \fB[.][.]\fP \fB[.][..]\fP \fB[][/]\fP \fB[][tmp]\fP \fB[/tmp][TRACE]\fP \fB[.][compile]\fP \fB[compile/64/tests][find]\fP .in \& .fi . .SH "EIND WAARDE" \fBfind\fP exits with status 0 if all files are processed successfully, greater than 0 if errors occur. This is deliberately a very broad description, but if the return value is non\-zero, you should not rely on the correctness of the results of \fBfind\fP. When some error occurs, \fBfind\fP may stop immediately, without completing all the actions specified. For example, some starting points may not have been examined or some pending program invocations for \fB\-exec\ \&...\&\ {}\ +\fP or \fB\-execdir\ \&...\&\ {}\ +\fP may not have been performed. . .SH GESCHIEDENIS As of findutils\-4.2.2, shell metacharacters (`*', `?' or `[]' for example) used in filename patterns match a leading `.', because IEEE POSIX interpretation 126 requires this. .P As of findutils\-4.3.3, \fB\-perm\ /000\fP now matches all files instead of none. .P Nanosecond\-resolution timestamps were implemented in findutils\-4.3.3. .P As of findutils\-4.3.11, the \fB\-delete\fP action sets \fBfind\fP's exit status to a nonzero value when it fails. However, \fBfind\fP will not exit immediately. Previously, \fBfind\fP's exit status was unaffected by the failure of \fB\-delete\fP. .TS l l l . Feature Added in Also occurs in \-files0\-from 4.9.0 \-newerXY 4.3.3 BSD \-D 4.3.1 \-O 4.3.1 \-readable 4.3.0 \-writable 4.3.0 \-executable 4.3.0 \-regextype 4.2.24 \-exec ... + 4.2.12 POSIX \-execdir 4.2.12 BSD \-okdir 4.2.12 \-samefile 4.2.11 \-H 4.2.5 POSIX \-L 4.2.5 POSIX \-P 4.2.5 BSD \-delete 4.2.3 \-quit 4.2.3 \-d 4.2.3 BSD \-wholename 4.2.0 \-iwholename 4.2.0 \-ignore_readdir_race 4.2.0 \-fls 4.0 \-ilname 3.8 \-iname 3.8 \-ipath 3.8 \-iregex 3.8 .TE .P The syntax \fB\-perm +MODE\fP was removed in findutils\-4.5.12, in favour of \fB\-perm\fP \fB/MODE\fP. The \fB+MODE\fP syntax had been deprecated since findutils\-4.2.21 which was released in 2005. . .SH NON\-BUGS .SS "Operator precedence surprises" Het commando \fBfind . \-name afile \-o \-name bfile \-print\fP zal nooit \fIafile\fP tonen omdat dit eigenlijk equivalent is aan \fBfind . \-name afile \-o \e( \-name bfile \-a \-print \e)\fP. Merk op dat de prioriteit van \fB\-a\fP hoger is dan die van \fB\-o\fP en indien geen operator werd opgegeven tussen de testen, \fB\-a\fP wordt aangenomen. .SS "\(lqpaden moeten de expressie vooraf gaan\(rq fout melding" .nf \fB$ find . \-name *.c \-print\fP find: paden moeten aan de expressie vooraf gaan find: mogelijk een patroon zonder aanhalingstekens na het predicaat `\-name'? .fi .P This happens when the shell could expand the pattern \fI*.c\fP to more than one file name existing in the current directory, and passing the resulting file names in the command line to \fBfind\fP like this: .nf . \fBfind . \-name frcode.c locate.c word_io.c \-print\fP . .fi That command is of course not going to work, because the \fB\-name\fP predicate allows exactly only one pattern as argument. Instead of doing things this way, you should enclose the pattern in quotes or escape the wildcard, thus allowing \fBfind\fP to use the pattern with the wildcard during the search for file name matching instead of file names expanded by the parent shell: .nf \fB$ find . \-name \(aq*.c\(aq \-print\fP \fB$ find . \-name \e*.c \-print\fP .fi . .SH BUGS Er bestaan veiligheidsproblemen die inherent zijn aan het gedrag dat de POSIX standaard specificeert voor \fBfind\fP, en die daarom ook niet opgelost kunnen worden. Bij voorbeeld is de \fB\-exec\fP actie inherent onveilig en daarom zou steeds \fB\-execdir\fP gebruikt moeten worden. . .P De omgevingsvariabele \fBLC_COLLATE\fP heeft geen effect op de \fB\-ok\fP actie. . .SH "RAPPORTEREN VAN BUGS" Online hulp bij GNU findutils: .br Meld alle vertaalfouten op .PP Rapporteer enig ander onderwerp via het formulier op de GNU Savannah bug site. .RS .RE Algemene onderwerpen over het GNU findutils pakket worden bediscussieerd op de \fIbug\-findutils\fP mail lijst. .RS .RE . .SH COPYRIGHT Copyright \(co 1990\-2022 Free Software Foundation, Inc. Licentie GPLv3+: GNU GPL versie 3 of later . .br Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden. Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat. . .SH "ZIE OOK" \fBchmod\fP(1), \fBlocate\fP(1), \fBls\fP(1), \fBupdatedb\fP(1), \fBxargs\fP(1), \fBlstat\fP(2), \fBstat\fP(2), \fBctime\fP(3) \fBfnmatch\fP(3), \fBprintf\fP(3), \fBstrftime\fP(3), \fBlocatedb\fP(5), \fBregex\fP(7) .PP Volledige documentatie: .br of lokaal beschikbaar via: \fBinfo find\fP .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .