IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

trova - Online nel cloud

Esegui find nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando find che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


trova - cerca i file in una gerarchia di directory

SINOSSI


Find [-H] [-L] [-P] [-D debugopts] [-Olevel] [punto di partenza...] [espressione]

DESCRIZIONE


Questa pagina di manuale documenta la versione GNU di Find. GNU Find cerca nell'albero delle directory
radicato in ogni dato punto di partenza valutando l'espressione data da sinistra a destra,
secondo le regole di precedenza (vedi sezione OPERATORI), fino a quando non si conosce l'esito
(il lato sinistro è falso per ed operazioni, vero per or), a quel punto Find si muove
al nome del file successivo. Se non viene specificato alcun punto di partenza, `.' è assunto.

Se si utilizza Find in un ambiente in cui la sicurezza è importante (ad esempio se
lo stai usando per cercare directory scrivibili da altri utenti), dovresti leggere il
Capitolo "Considerazioni sulla sicurezza" della documentazione di findutils, che si chiama Trovare
File e viene fornito con findutils. Quel documento include anche molti più dettagli e
discussione rispetto a questa pagina di manuale, quindi potresti trovarla una fonte di informazioni più utile.

VERSIONI


I -H, -L ed -P le opzioni controllano il trattamento dei collegamenti simbolici. Argomenti della riga di comando
di seguito si intendono nomi di file o directory da esaminare, fino al
primo argomento che inizia con `-', o l'argomento `(' o `!'. Quell'argomento e qualsiasi
i seguenti argomenti sono considerati l'espressione che descrive ciò che deve essere cercato.
Se non viene fornito alcun percorso, viene utilizzata la directory corrente. Se non viene data alcuna espressione, il
espressione -Stampa è usato (ma dovresti probabilmente considerare di usare -stampa0 anziché,
Comunque).

Questa pagina di manuale parla delle "opzioni" all'interno dell'elenco delle espressioni. Queste opzioni controllano
il comportamento di Find ma sono specificati immediatamente dopo l'ultimo nome di percorso. I cinque
opzioni "reali" -H, -L, -P, -D ed -O deve apparire prima del nome del primo percorso, se non del tutto. UN
doppio trattino -- può essere utilizzato anche per segnalare che eventuali argomenti rimanenti non sono opzioni
(anche se garantire che tutti i punti di inizio inizino con `./' o `/' è generalmente più sicuro se
si utilizzano caratteri jolly nell'elenco dei punti di partenza).

-P Non seguire mai i collegamenti simbolici. Questo è il comportamento predefinito. quando Find esamina o
stampa le informazioni un file e il file è un collegamento simbolico, le informazioni utilizzate
deve essere preso dalle proprietà del collegamento simbolico stesso.

-L Segui i collegamenti simbolici. quando Find esamina o stampa le informazioni sui file, il
le informazioni utilizzate devono essere prese dalle proprietà del file a cui il collegamento
punti, non dal collegamento stesso (a meno che non si tratti di un collegamento simbolico interrotto o Find is
impossibile esaminare il file a cui punta il collegamento). L'uso di questa opzione implica
-nofoglia. Se in seguito usi il -P opzione, -nofoglia sarà ancora in vigore. Se -L
è in vigore e Find scopre un collegamento simbolico a una sottodirectory durante la sua
search, verrà cercata la sottodirectory puntata dal collegamento simbolico.

Quando il -L l'opzione è attiva, il -Type predicato corrisponderà sempre a
tipo del file a cui punta un collegamento simbolico anziché il collegamento stesso (a meno che
il collegamento simbolico è interrotto). Azioni che possono far sì che i collegamenti simbolici diventino
rotto mentre Find sta eseguendo (ad esempio -Elimina) può dare adito a confusione
comportamento. Usando -L causa il -lnome ed -ilnome predica sempre di tornare
falsa.

-H Non segue i collegamenti simbolici, tranne durante l'elaborazione degli argomenti della riga di comando.
Quando Find esamina o stampa informazioni sui file, le informazioni utilizzate devono essere
tratto dalle proprietà del collegamento simbolico stesso. L'unica eccezione a questo
comportamento è quando un file specificato sulla riga di comando è un collegamento simbolico e il
collegamento può essere risolto. Per tale situazione, le informazioni utilizzate sono prese da
qualunque cosa punti il ​​collegamento (vale a dire, il collegamento viene seguito). Le informazioni su
il collegamento stesso viene utilizzato come fallback se il file puntato dal collegamento simbolico
non può essere esaminato. Se -H è in vigore e uno dei percorsi specificati sul
la riga di comando è un collegamento simbolico a una directory, il contenuto di quella directory sarà
essere esaminato (anche se ovviamente -maxdepth 0 lo impedirebbe).

Se più di uno di -H, -L ed -P è specificato, ciascuno sovrascrive gli altri; l'ultimo
che appare sulla riga di comando ha effetto. Poiché è l'impostazione predefinita, il -P l'opzione dovrebbe
essere considerato in vigore a meno che uno -H or -L è specificato.

GNU Find spesso i file di statistiche durante l'elaborazione della riga di comando stessa, prima
ogni ricerca è iniziata. Queste opzioni influiscono anche sul modo in cui vengono elaborati tali argomenti.
Nello specifico, ci sono una serie di test che confrontano i file elencati nella riga di comando
contro un file che stiamo attualmente considerando. In ogni caso, il file specificato sul
la riga di comando sarà stata esaminata e alcune delle sue proprietà saranno state salvate. Se
il file denominato è in effetti un collegamento simbolico e il -P l'opzione è attiva (o se nessuna delle due
-H-L sono stati specificati), le informazioni utilizzate per il confronto saranno tratte dal
proprietà del collegamento simbolico. In caso contrario, sarà preso dalle proprietà del
file a cui punta il collegamento. Se Find non può seguire il collegamento (ad esempio perché ha
privilegi insufficienti o il collegamento punta a un file inesistente) le proprietà del
verrà utilizzato il collegamento stesso.

Quando il -H or -L Opzioni sono in effetto, in qualsiasi simbolico Collegamento elencato come argomento di
-più nuovo verrà dereferenziato e il timestamp verrà preso dal file in cui è
punti di collegamento simbolici. La stessa considerazione vale per -più recenteXY, -nuovamente ed -Cnewer.

I -Seguire opzione ha un effetto simile a -L, sebbene abbia effetto nel punto in cui
appare (cioè, se -L non viene utilizzato ma -Seguire è, tutti i collegamenti simbolici che appaiono dopo
-Seguire sulla riga di comando verrà dereferenziato e quelli precedenti no).

-D opzioni di debug
Stampa informazioni diagnostiche; questo può essere utile per diagnosticare problemi con il perché
Find non sta facendo quello che vuoi. L'elenco delle opzioni di debug dovrebbe essere una virgola
separato. La compatibilità delle opzioni di debug non è garantita tra le versioni
di findutils. Per un elenco completo delle opzioni di debug valide, vedere l'output di Find
-D Aiuto. Le opzioni di debug valide includono

help Spiega le opzioni di debug

albero Mostra l'albero delle espressioni nella sua forma originale e ottimizzata.

stat Stampa i messaggi mentre i file vengono esaminati con il stat ed Istat chiamate di sistema.
I Find programma cerca di ridurre al minimo tali chiamate.

opt Stampa le informazioni diagnostiche relative all'ottimizzazione dell'espressione
albero; vedere l'opzione -O.

rate Stampa un riepilogo che indica la frequenza con cui ogni predicato ha avuto successo o meno.

-Olivello
Abilita l'ottimizzazione delle query. Il Find il programma riordina i test per velocizzare l'esecuzione
preservando l'effetto complessivo; cioè, i predicati con effetti collaterali non lo sono
riordinati l'uno rispetto all'altro. Le ottimizzazioni eseguite ad ogni ottimizzazione
livello sono i seguenti.

0 Equivalente al livello di ottimizzazione 1.

1 Questo è il livello di ottimizzazione predefinito e corrisponde al tradizionale
comportamento. Le espressioni vengono riordinate in modo che i test si basino solo sui nomi
di file (ad esempio -nome ed -regex) vengono eseguiti per primi.

2 Qualsiasi -Type or -xtipo i test vengono eseguiti dopo eventuali test basati solo sul
nomi dei file, ma prima di qualsiasi test che richieda informazioni dal
inodo. In molte versioni moderne di Unix, i tipi di file vengono restituiti da
leggidir() e quindi questi predicati sono più veloci da valutare rispetto ai predicati
che devono prima stat il file. Se usi il -tipofs FOO predicato e
specificare un tipo di filesystem FOO che non è noto (cioè presente in
`/etc/mtab') al tempo Find inizia, quel predicato è equivalente a
falso.

3 A questo livello di ottimizzazione, l'ottimizzatore di query basato sui costi completo è abilitato.
L'ordine dei test viene modificato in modo da eseguire test economici (ovvero veloci)
prima e quelle più costose vengono eseguite in seguito, se necessario. Entro
ogni fascia di costo, i predicati vengono valutati prima o dopo in base a
se hanno probabilità di successo o meno. Per -o, predicati che sono
probabilità di successo sono valutati in precedenza, e per -a, predicati che sono
probabilità di fallire vengono valutati in precedenza.

L'ottimizzatore basato sui costi ha un'idea fissa di quanto sia probabile che un dato test sia
avere successo. In alcuni casi la probabilità tiene conto della specificità del
prova (ad esempio -Type f si presume che abbia maggiori probabilità di successo di -Type c).
L'ottimizzatore basato sui costi è attualmente in fase di valutazione. Se in realtà non lo fa
migliorare le prestazioni di Find, verrà rimosso di nuovo. Al contrario,
ottimizzazioni che si dimostrano affidabili, robuste ed efficaci possono essere abilitate a
livelli di ottimizzazione inferiori nel tempo. Tuttavia, il comportamento predefinito (ad es
il livello di ottimizzazione 1) non verrà modificato nella serie di versioni 4.3.x. Il
La suite di test findutils esegue tutti i test su Find ad ogni livello di ottimizzazione e
assicura che il risultato sia lo stesso.

ESPRESSIONE


La parte della riga di comando dopo l'elenco dei punti di partenza è la espressione. Questo è
una sorta di specifica di query che descrive come abbiniamo i file e cosa facciamo con i file
che erano abbinati. Un'espressione è composta da una sequenza di cose:

Test I test restituiscono un valore vero o falso, solitamente sulla base di alcune proprietà di un file
stiamo considerando. Il -vuoto test per esempio è vero solo quando il file corrente
è vuoto.

Azioni
Le azioni hanno effetti collaterali (come stampare qualcosa sullo standard output) e
restituiscono vero o falso, di solito in base al successo o meno.
I -Stampa action ad esempio stampa il nome del file corrente sullo standard
produzione.

Opzioni globali
Le opzioni globali influenzano il funzionamento dei test e delle azioni specificate su qualsiasi parte di
la riga di comando. Le opzioni globali restituiscono sempre true. Il -profondità opzione per
esempio fa Find attraversare il file system in ordine di profondità.

Opzioni di posizione
Le opzioni posizionali influenzano solo i test o le azioni che li seguono. posizionale
le opzioni restituiscono sempre true. Il -tipo regex l'opzione per esempio è posizionale,
specificando il dialetto delle espressioni regolari per le espressioni regolari che si verificano in seguito
sulla riga di comando.

Operatori
Gli operatori uniscono gli altri elementi all'interno dell'espressione. Includono per
esempio -o (che significa OR logico) e -a (che significa AND logico). Dove c'è un operatore
mancante, -a è assunto.

Se l'intera espressione non contiene azioni diverse da -fesso or -Stampa, -Stampa is
eseguita su tutti i file per i quali l'intera espressione è vera.

I -Elimina azione agisce anche come un'opzione (poiché implica -profondità).

POSIZIONALE VERSIONI
Le opzioni posizionali restituiscono sempre true. Influenzano solo i test che si verificano più tardi nel
riga di comando.

-inizio giorno
Tempi di misurazione (per -amin, -un tempo, -cm, -ctime, -mme -Mtime) dal
dall'inizio di oggi anziché da 24 ore fa. Questa opzione ha effetto solo sui test
che appaiono in seguito sulla riga di comando.

-Seguire
Deprecato; utilizzare il -L opzione invece. Collegamenti simbolici di dereferenziazione. Implica
-nofoglia. -Seguire l'opzione ha effetto solo sui test che compaiono dopo di essa sul
riga di comando. A meno che non -H or -L è stata specificata l'opzione, la posizione del
-Seguire opzione cambia il comportamento del -più nuovo predicato; tutti i file elencati come
l'argomento di -più nuovo verrà dereferenziato se si tratta di collegamenti simbolici. Lo stesso
considerazione si applica a -più recenteXY, -nuovamente ed -Cnewer. Allo stesso modo, il -Type
predicato corrisponderà sempre al tipo di file che un collegamento simbolico
punta a piuttosto che il collegamento stesso. Usando -Seguire causa il -lnome ed -ilnome
predicati restituiscono sempre false.

-tipo regex Digitare
Modifica la sintassi dell'espressione regolare intesa da -regex ed -iregex test che
si verificano in seguito sulla riga di comando. Per vedere quali tipi di espressioni regolari sono noti,
uso -tipo regex Aiuto. La documentazione di Texinfo (vedi VEDERE ANCHE) spiega il significato
di e differenze tra i vari tipi di espressioni regolari.

-avverti, -adesso
Attiva o disattiva i messaggi di avviso. Questi avvertimenti si applicano solo alla riga di comando
utilizzo, non a qualsiasi condizione che Find potrebbe incontrare durante la ricerca
directory. Il comportamento predefinito corrisponde a -avvisare se lo standard input è a
tty, e a -adesso altrimenti. Se viene visualizzato un messaggio di avviso relativo all'utilizzo della riga di comando
viene prodotto, lo stato di uscita di Find non è influenzato. Se POSIXLY_CORRECT
la variabile d'ambiente è impostata, e -avvisare is anche Usato, it is non specificato che, if
qualunque, avvertenze volere be attivo.

GLOBAL VERSIONI
Le opzioni globali restituiscono sempre true. Le opzioni globali hanno effetto anche per i test che si verificano
in precedenza sulla riga di comando. Per evitare confusione, le opzioni globali dovrebbero essere specificate su
riga di comando dopo l'elenco dei punti di partenza, subito prima del primo test, opzione posizionale
o azione. Se specifichi un'opzione globale in qualche altro posto, Find emetterà un avviso
messaggio che spiega che questo può essere fonte di confusione.

Le opzioni globali si verificano dopo l'elenco dei punti di partenza, quindi non sono dello stesso tipo
opzione come -L, per esempio.

-d Un sinonimo di -depth, per la compatibilità con FreeBSD, NetBSD, MacOS X e OpenBSD.

-depth Elabora il contenuto di ogni directory prima della directory stessa. L'azione -delete
implica anche -profondità.

-aiuto aiuto
Stampa un riepilogo dell'utilizzo della riga di comando di Find e uscita.

-ignore_readdir_race
Normalmente, Find emetterà un messaggio di errore quando non riesce a stabilire un file. Se tu
dai questa opzione e un file viene cancellato nel frattempo Find legge il nome del
file dalla directory e l'ora in cui tenta di avviare il file, nessun messaggio di errore
sarà pubblicato. Questo vale anche per file o directory i cui nomi sono indicati
sulla riga di comando. Questa opzione ha effetto nel momento in cui la riga di comando è
read, il che significa che non puoi cercare una parte del filesystem con questo
opzione attiva e parte di essa con questa opzione disattivata (se è necessario farlo, lo farai
bisogno di pubblicarne due Find comandi invece, uno con l'opzione e uno senza).

-profondità massima livelli
Scendi al massimo livelli (un numero intero non negativo) livelli di directory inferiori a
punti di partenza. -profondità massima 0
significa applicare solo i test e le azioni ai punti di partenza stessi.

-profondità minima livelli
Non applicare alcun test o azione a livelli inferiori a livelli (un non negativo
numero intero). -profondità minima 1 significa elaborare tutti i file tranne i punti di partenza.

-mount Non discende le directory su altri filesystem. Un nome alternativo per -xdev, Per
compatibilità con alcune altre versioni di Find.

-noignore_readdir_race
Disattiva l'effetto di -ignore_readdir_race.

-nofoglia
Non ottimizzare assumendo che le directory contengano 2 sottodirectory in meno rispetto a
il loro conteggio degli hard link. Questa opzione è necessaria quando si cercano filesystem che lo fanno
non segue la convenzione dei collegamenti alle directory di Unix, come i filesystem CD-ROM o MS-DOS
o punti di montaggio del volume AFS. Ogni directory su un normale filesystem Unix ha a
almeno 2 hard link: il suo nome e il suo `.' iscrizione. Inoltre, le sue sottodirectory
(se ce ne sono) ognuno ha una voce `..' collegata a quella directory. quando Find sta esaminando un
directory, dopo aver indicato 2 sottodirectory in meno rispetto al collegamento della directory
count, sa che il resto delle voci nella directory non sono directory
(file `foglia' nell'albero delle directory). Se solo i nomi dei file devono essere
esaminati, non è necessario indicarli; questo dà un aumento significativo in
velocità di ricerca.

-versione, --versione
Stampa il Find numero di versione ed esci.

-xdev Non discende le directory su altri filesystem.

PROVE
Alcuni test, per esempio -più recenteXY ed -stesso file, consenti il ​​confronto tra i file
attualmente in esame e alcuni file di riferimento specificati sulla riga di comando. quando
vengono utilizzati questi test, l'interpretazione del file di riferimento è determinata dal
Opzioni -H, -L ed -P e qualsiasi precedente -Seguire, ma il file di riferimento viene solo esaminato
una volta, nel momento in cui viene analizzata la riga di comando. Se il file di riferimento non può essere esaminato
(ad esempio, il stat(2) la chiamata di sistema fallisce), viene emesso un messaggio di errore e Find
esce con uno stato diverso da zero.

Gli argomenti numerici possono essere specificati come

+n per maggiore di n,

-n per meno di n,

n per esattamente n.

-amin n
Ultimo accesso al file n minuti fa.

-nuovamente filetto
L'ultimo accesso al file è stato effettuato più di recente di filetto è stato modificato. Se filetto è un simbolico
link e il -H opzione o il -L l'opzione è attiva, il tempo di accesso del file
indica è sempre usato.

-un tempo n
Ultimo accesso al file n*24 ore fa. Quando trova calcola quante 24 ore
periodi fa l'ultimo accesso al file, qualsiasi parte frazionaria viene ignorata, quindi per abbinare
-un tempo +1, è necessario aver eseguito almeno l'accesso a un file seconda giorni fa.

-cm n
Lo stato del file è stato modificato l'ultima volta n minuti fa.

-Cnewer filetto
Lo stato del file è stato modificato l'ultima volta più di recente di filetto è stato modificato. Se filetto è un
collegamento simbolico e il -H opzione o il -L l'opzione è in vigore, il cambio di stato
l'ora del file a cui punta viene sempre utilizzata.

-ctime n
Lo stato del file è stato modificato l'ultima volta n*24 ore fa. Vedi i commenti per -un tempo a
capire come l'arrotondamento influisce sull'interpretazione dei tempi di modifica dello stato dei file.

-empty Il file è vuoto ed è un file normale o una directory.

-eseguibile
Trova file eseguibili e directory ricercabili (in un file
senso di risoluzione del nome). Ciò tiene conto degli elenchi di controllo degli accessi e di altro
artefatti di autorizzazioni che -Permesso prova ignora. Questo test utilizza il
accesso(2) chiamata di sistema, e quindi può essere ingannato dai server NFS che eseguono la mappatura UID (o
root-squashing), poiché molti sistemi implementano accesso(2) nel kernel del client e
quindi non può utilizzare le informazioni di mappatura UID conservate sul server. Perchè questo
test si basa solo sul risultato del accesso(2) chiamata di sistema, non c'è
garantire che un file per il quale questo test ha esito positivo possa essere effettivamente eseguito.

-false Sempre falso.

-tipofs Digitare
Il file è su un filesystem di tipo Digitare. I tipi di filesystem validi variano tra
diverse versioni di Unix; un elenco incompleto di tipi di filesystem che sono
accettato su qualche versione di Unix o un altro è: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
S52K. Puoi usare -printf con la direttiva %F per vedere i tipi di tuo
file system.

-gida n L'ID del gruppo numerico del file è n.

-gruppo gname
Il file appartiene al gruppo gname (ID gruppo numerico consentito).

-ilnome modello
Come -lnome, ma la corrispondenza non fa distinzione tra maiuscole e minuscole. Se la -L opzione o il -Seguire
è attiva, questo test restituisce false a meno che il collegamento simbolico non venga interrotto.

-nomino modello
Come -nome, ma la corrispondenza non fa distinzione tra maiuscole e minuscole. Ad esempio, i modelli `fo*' e
"F?" corrisponde ai nomi dei file `Foo', `FOO', `foo', `foo', ecc. Il pattern `*pippo*`
corrisponderà anche a un file chiamato '.foobar'.

-inum n
Il file ha un numero di inode n. Normalmente è più facile usare il -stesso file prova invece.

-ipath modello
Come -sentiero. ma la corrispondenza non fa distinzione tra maiuscole e minuscole.

-iregex modello
Come -regex, ma la corrispondenza non fa distinzione tra maiuscole e minuscole.

-inome intero modello
Vedi -ipath. Questa alternativa è meno portatile di -ipath.

-link n
Il file ha n collegamenti.

-lnome modello
Il file è un collegamento simbolico il cui contenuto corrisponde al modello di shell modello.
i metacaratteri non trattano `/' o `.' appositamente. Se la -L opzione o il -Seguire
è attiva, questo test restituisce false a meno che il collegamento simbolico non venga interrotto.

-mm n
I dati del file sono stati modificati l'ultima volta n minuti fa.

-Mtime n
I dati del file sono stati modificati l'ultima volta n*24 ore fa. Vedi i commenti per -un tempo a
capire come l'arrotondamento influisca sull'interpretazione dei tempi di modifica dei file.

-nome modello
La base del nome del file (il percorso con le directory principali rimosse) corrisponde a shell
modello modello. Poiché le directory principali vengono rimosse, i nomi dei file
considerato per una partita con -nome non includerà mai una barra, quindi `-name a/b' lo farà
non abbinare mai nulla (probabilmente devi usare -sentiero Invece). Viene lanciato un avvertimento
se provi a farlo, a meno che non sia impostata la variabile di ambiente POSIXLY_CORRECT. Il
i metacaratteri (`*', `?' e `[]') corrispondono a `.' all'inizio del nome di base (questo
è un cambiamento in findutils-4.2.2; vedere la sezione CONFORMITÀ AGLI STANDARD di seguito). Per
ignora una directory e i file sottostanti, usa -fesso; vedere un esempio in
descrizione di -sentiero. Le parentesi graffe non sono riconosciute come speciali, nonostante il fatto
che alcune shell tra cui Bash conferiscono alle parentesi un significato speciale in shell
modelli. La corrispondenza del nome del file viene eseguita con l'uso di fnmatch(3)
funzione di libreria. Non dimenticare di racchiudere il modello tra virgolette per
proteggerlo dall'espansione del guscio.

-più nuovo filetto
Il file è stato modificato più di recente di filetto. Se filetto è un collegamento simbolico e il -H
opzione o il -L l'opzione è attiva, l'ora di modifica del file a cui punta
a è sempre usato.

-più recenteXY riferimento
Riesce se timestamp X del file considerato è più recente del timestamp Y of
il file riferimento. Le lettere X ed Y può essere una delle seguenti lettere:

a Il tempo di accesso al file riferimento
B L'ora di nascita del file riferimento
c Il tempo di modifica dello stato dell'inode di riferimento

m L'ora di modifica del file riferimento
t riferimento viene interpretato direttamente come un tempo

Alcune combinazioni non sono valide; per esempio, non è valido per X essere t. Un po '
le combinazioni non sono implementate su tutti i sistemi; Per esempio B non è supportato su
tutti i sistemi. Se una combinazione non valida o non supportata di XY è specificato, un fatal
risultati di errore. Le specifiche temporali sono interpretate come per l'argomento al -d
opzione di GNU quando. Se si tenta di utilizzare l'ora di nascita di un file di riferimento e il
l'ora di nascita non può essere determinata, viene visualizzato un messaggio di errore irreversibile. Se specifichi a
test che si riferisce all'ora di nascita dei file in esame, questo test avrà esito negativo
per tutti i file in cui l'ora di nascita è sconosciuta.

-nessun gruppo
Nessun gruppo corrisponde all'ID gruppo numerico del file.

-nouser
Nessun utente corrisponde all'ID utente numerico del file.

-sentiero modello
Il nome del file corrisponde al modello di shell modello. I metacaratteri non trattano `/' o
`.' appositamente; così, per esempio,
trova . -percorso "./sr*sc"
stamperà una voce per una directory chiamata `./src/misc' (se ne esiste una). Ignorare
un intero albero di directory, usa -fesso piuttosto che controllare ogni file nell'albero.
Ad esempio, per saltare la directory `src/emacs' e tutti i file e le directory sotto
e stampa i nomi degli altri file trovati, fai qualcosa del genere:
trova . -path ./src/emacs -prune -o -print
Nota che il test di corrispondenza del modello si applica all'intero nome del file, a partire da uno
dei punti iniziali nominati sulla riga di comando. Avrebbe senso solo usare an
nome del percorso assoluto qui se anche il punto di partenza rilevante è un percorso assoluto. Questo
significa che questo comando non corrisponderà mai a nulla:
trova bar -path /pippo/bar/miofile -print
Trova confronta il -sentiero argomento con la concatenazione di un nome di directory e il
nome di base del file che sta esaminando. Poiché la concatenazione non finirà mai con
un taglio, -sentiero gli argomenti che terminano con una barra non corrisponderanno a nulla (tranne forse a
punto iniziale specificato nella riga di comando). Il predicato -sentiero è anche supportato
di HP-UX Find e sarà in una prossima versione dello standard POSIX.

-Permesso modo
I bit di autorizzazione del file sono esattamente modo (ottale o simbolico). Da una corrispondenza esatta
è richiesto, se si desidera utilizzare questo modulo per le modalità simboliche, potrebbe essere necessario
specificare una stringa di modalità piuttosto complessa. Ad esempio `-perm g=w' corrisponderà solo a
file che hanno la modalità 0020 (cioè quelli per i quali il permesso di scrittura del gruppo è il
solo set di autorizzazioni). È più probabile che tu voglia usare `/' o `-'
form, ad esempio `-perm -g=w', che corrisponde a qualsiasi file con scrittura di gruppo
autorizzazione. Vedi il ESEMPI sezione per alcuni esempi illustrativi.

-permanente-modo
Tutti i bit di autorizzazione modo sono impostati per il file. Le modalità simboliche sono accettate
in questa forma, e questo è di solito il modo in cui vorresti usarli. Voi
devi specificare "u", "g" o "o" se usi una modalità simbolica. Vedi il ESEMPI pagina
per alcuni esempi illustrativi.

-permanente /modo
Qualsiasi bit di autorizzazione modo sono impostati per il file. Le modalità simboliche sono accettate
in questa forma. Devi specificare "u", "g" o "o" se usi una modalità simbolica. Vedere
, il ESEMPI sezione per alcuni esempi illustrativi. Se non ci sono bit di autorizzazione in modo
sono impostati, questo test corrisponde a qualsiasi file (l'idea qui è di essere coerente con il
comportamento di -Permesso all'000 ottobre).

-permanente +modo
Questo non è più supportato (ed è stato deprecato dal 2005). Utilizzo -Permesso /modo
anziché.

-leggibile
Corrisponde ai file leggibili. Ciò tiene conto degli elenchi di controllo degli accessi e
altri permessi artefatti che il -Permesso prova ignora. Questo test utilizza
, il accesso(2) chiamata di sistema, e quindi può essere ingannato dai server NFS che eseguono la mappatura UID
(o schiacciamento della radice), poiché molti sistemi implementano accesso(2) nel kernel del client
e quindi non può utilizzare le informazioni di mappatura UID conservate sul server.

-regex modello
Il nome del file corrisponde all'espressione regolare modello. Questa è una partita su tutto il percorso,
non una ricerca. Ad esempio, per far corrispondere un file chiamato `./fubar3', puoi usare il pulsante
espressione regolare `.*bar.' o `.*b.*3', ma non `f.*r3'. Le espressioni regolari
capito da Find sono per impostazione predefinita le espressioni regolari di Emacs, ma questo può essere
cambiato con il -tipo regex opzione.

-stesso file Nome
Il file fa riferimento allo stesso inode di Nome. Quando -L è in effetti, questo può includere
collegamenti simbolici.

-dimensione n[cwbkMG]
File utilizza n unità di spazio, arrotondando per eccesso. Possono essere utilizzati i seguenti suffissi:

`b' per blocchi da 512 byte (questo è il valore predefinito se non viene utilizzato alcun suffisso)

`c' per byte

`w' per parole a due byte

`k' per Kilobyte (unità di 1024 byte)

`M' per Megabyte (unità di 1048576 byte)

"G" per Gigabyte (unità di 1073741824 byte)

La dimensione non conta i blocchi indiretti, ma conta i blocchi nei file sparsi
che non sono effettivamente assegnati. Tieni presente che il formato "%k" e "%b"
specificatori di -printf gestire i file sparsi in modo diverso. Il suffisso `b' sempre
denota blocchi da 512 byte e mai blocchi da 1 Kilobyte, che è diverso dal
comportamento di -ls.

I prefissi + e - significano maggiore di e minore di, come al solito. Tenere presente
che la dimensione sia arrotondata all'unità successiva. Perciò -dimensione -1M non è equivalente
a -dimensione -1048576c. Il primo corrisponde solo a file vuoti, il secondo a file
da 1 a 1,048,575 byte.

-vero Sempre vero.

-Type c
Il file è di tipo c:

b blocco (bufferizzato) speciale

carattere c (senza buffer) speciale

cartella d

p pipe con nome (FIFO)

f file normale

l collegamento simbolico; questo non è mai vero se -L opzione o il -Seguire opzione è
in effetti, a meno che il collegamento simbolico non venga interrotto. Se vuoi cercare
collegamenti simbolici quando -L è in vigore, usa -xtipo.

s presa

Porta D (Solaris)

- liquido n L'ID utente numerico del file è n.

-Usato n
Ultimo accesso al file n giorni dopo l'ultima modifica del suo stato.

-utente uname
Il file è di proprietà dell'utente uname (ID utente numerico consentito).

-nome intero modello
Vedi -percorso. Questa alternativa è meno portatile di -sentiero.

-scrivibile
Corrisponde ai file scrivibili. Ciò tiene conto degli elenchi di controllo degli accessi e
altri permessi artefatti che il -Permesso prova ignora. Questo test utilizza
, il accesso(2) chiamata di sistema, e quindi può essere ingannato dai server NFS che eseguono la mappatura UID
(o schiacciamento della radice), poiché molti sistemi implementano accesso(2) nel kernel del client
e quindi non può utilizzare le informazioni di mappatura UID conservate sul server.

-xtipo c
Lo stesso di -Type a meno che il file non sia un collegamento simbolico. Per i collegamenti simbolici: se il
-H or -P è stata specificata l'opzione, true se il file è un collegamento a un file di tipo c; Se
, il -L opzione è stata data, vero se c è 'l'. In altre parole, per simbolico
link, -xtipo controlla il tipo di file che -Type non controlla.

-contesto modello
(solo SELinux) Il contesto di sicurezza del file corrisponde a glob modello.

AZIONI
-Elimina
Cancella file; true se la rimozione è riuscita. Se la rimozione non è riuscita, viene visualizzato un messaggio di errore
viene rilasciato. Se -Elimina non riesce, Findlo stato di uscita di sarà diverso da zero (quando è
eventualmente esce). Uso di -Elimina accende automaticamente il `-profondità' opzione.

Avvertenze: non dimenticare che la riga di comando di ricerca viene valutata come un'espressione, quindi
messa -Elimina prima farà Find prova a cancellare tutto sotto l'inizio
punti che hai specificato. Quando si prova a Find riga di comando che si intende in seguito
Usa con -Elimina, dovresti specificare esplicitamente -profondità per evitare in seguito
sorprese. Perché -Elimina implica -profondità, non puoi usare utilmente -fesso ed
-Elimina insieme.

Exec- command ;
Eseguire command; true se viene restituito lo stato 0. Tutti i seguenti argomenti a Find sono
considerati come argomenti del comando fino a quando un argomento costituito da `;' è
incontrato. La stringa "{}" è sostituita dal nome del file attualmente in elaborazione
ovunque si verifica negli argomenti del comando, non solo negli argomenti dove
è solo, come in alcune versioni di Find. Potrebbero essere necessarie entrambe queste costruzioni
essere sfuggiti (con un `\') o quotati per proteggerli dall'espansione da parte della shell.
Vedere la ESEMPI sezione per esempi dell'uso del Exec- opzione. Il
il comando specificato viene eseguito una volta per ogni file corrispondente. Il comando viene eseguito in
la directory di partenza. Ci sono problemi di sicurezza inevitabili che circondano l'uso
della Exec- azione; dovresti usare il -dir.esc opzione invece.

Exec- command {} +
Questa variante di Exec- action esegue il comando specificato sui file selezionati,
ma la riga di comando è costruita aggiungendo ogni nome di file selezionato alla fine; il
il numero totale di invocazioni del comando sarà molto inferiore al numero di
file corrispondenti. La riga di comando è costruita più o meno nello stesso modo in cui xargs costruisce
le sue righe di comando. All'interno del comando è consentita solo un'istanza di `{}'. Il
comando viene eseguito nella directory di partenza. Se Find incontra un errore, questo
a volte può causare un'uscita immediata, quindi alcuni comandi in sospeso potrebbero non essere eseguiti su
Tutti. Questa variante di Exec- restituisce sempre vero.

-dir.esc command ;

-dir.esc command {} +
Come Exec-, ma il comando specificato viene eseguito dalla sottodirectory contenente il
file corrispondente, che normalmente non è la directory in cui hai iniziato Find. Questo
un metodo molto più sicuro per invocare i comandi, in quanto evita le race condition
durante la risoluzione dei percorsi dei file corrispondenti. Come con il Exec- azione, il
`+' forma di -dir.esc creerà una riga di comando per elaborare più di una corrispondenza
file, ma qualsiasi invocazione di command elencherà solo i file che esistono nel
stessa sottodirectory. Se utilizzi questa opzione, devi assicurarti che il tuo $ PERCORSO
la variabile d'ambiente non fa riferimento a `.'; in caso contrario, un utente malintenzionato può eseguire qualsiasi
comandi che preferiscono lasciando un file con un nome appropriato in una directory in cui
correrai -dir.esc. Lo stesso vale per le voci in $ PERCORSO che sono vuoti
o che non sono nomi di directory assoluti. Se Find incontra un errore, questo può
a volte causano un'uscita immediata, quindi alcuni comandi in sospeso potrebbero non essere eseguiti affatto.
Il risultato dell'azione dipende dal fatto che + oppure ; viene utilizzata una variante;
-dir.esc command {} + restituisce sempre true, mentre -dir.esc command {} ; restituisce vero
solo se command restituisce 0.

-fls filetto
Vero; Come -ls ma scrivi a filetto piace -fstampa. Il file di output viene sempre creato,
anche se il predicato non trova mai corrispondenza. Vedi il INSOLITO NOMI DI FILE sezione per
informazioni su come vengono gestiti i caratteri insoliti nei nomi di file.

-fstampa filetto
Vero; stampa il nome completo del file in file filetto. Se filetto non esiste quando Find is
corri, viene creato; se esiste, viene troncato. I nomi dei file
`/dev/stdout' e `/dev/stderr' sono gestiti in modo speciale; fanno riferimento alla norma
rispettivamente l'output e l'output di errore standard. Il file di output viene sempre creato,
anche se il predicato non trova mai corrispondenza. Vedi il INSOLITO NOMI DI FILE sezione per
informazioni su come vengono gestiti i caratteri insoliti nei nomi di file.

-fprint0 filetto
Vero; Come -stampa0 ma scrivi a filetto piace -fstampa. Il file di output è sempre
creato, anche se il predicato non trova mai corrispondenza. Vedi il INSOLITO NOMI DI FILE pagina
per informazioni su come vengono gestiti i caratteri insoliti nei nomi di file.

-fprintf filetto formato
Vero; Come -printf ma scrivi a filetto piace -fstampa. Il file di output è sempre
creato, anche se il predicato non trova mai corrispondenza. Vedi il INSOLITO NOMI DI FILE pagina
per informazioni su come vengono gestiti i caratteri insoliti nei nomi di file.

-ls Vero; elenca il file corrente in ls -dils formato sullo standard output. Il blocco conta
sono di 1K blocchi, a meno che non sia impostata la variabile d'ambiente POSIXLY_CORRECT, in cui
caso vengono utilizzati blocchi da 512 byte. Vedi il INSOLITO NOMI DI FILE sezione per informazioni
su come vengono gestiti i caratteri insoliti nei nomi dei file.

-OK command ;
Come Exec- ma chiedi prima all'utente. Se l'utente è d'accordo, esegui il comando. Altrimenti
basta restituire false. Se il comando viene eseguito, il suo input standard viene reindirizzato da
/ Dev / null.

La risposta al prompt viene confrontata con una coppia di espressioni regolari per
determinare se si tratta di una risposta affermativa o negativa. Questa espressione regolare è
ottenuto dal sistema se la variabile d'ambiente `POSIXLY_CORRECT' è impostata, oppure
altrimenti da Findle traduzioni dei messaggi. Se il sistema non è adatto
definizione, Findverrà utilizzata la propria definizione. In entrambi i casi, il
l'interpretazione dell'espressione regolare stessa sarà influenzata dall'ambiente
variabili 'LC_CTYPE' (classi di caratteri) e 'LC_COLLATE' (intervalli di caratteri e
classi di equivalenza).

-okdir command ;
Come -dir.esc ma chiedi prima all'utente come per -OK. Se l'utente lo fa
non sono d'accordo, restituisci solo false. Se il comando viene eseguito, il suo input standard è
reindirizzato da / Dev / null.

-stampa Vero; stampa il nome completo del file sullo standard output, seguito da una nuova riga. Se
stai convogliando l'uscita di Find in un altro programma e c'è il più debole
possibilità che i file che stai cercando possano contenere una nuova riga,
allora dovresti seriamente considerare di usare il -stampa0 opzione al posto di -Stampa. Vedere
, il INSOLITO NOMI DI FILE sezione per informazioni su come i caratteri insoliti in
vengono gestiti i nomi dei file.

-stampa0
Vero; stampa il nome completo del file sullo standard output, seguito da un carattere null
(invece del carattere di nuova riga che -Stampa usi). Ciò consente nomi di file che
contenere nuove righe o altri tipi di spazi bianchi da interpretare correttamente
programmi che elaborano i Find produzione. Questa opzione corrisponde al -0 possibilità di
xargs.

-printf formato
Vero; Stampa formato sullo standard output, interpretando gli escape `\' e `%'
direttive. Le larghezze e le precisioni dei campi possono essere specificate come con `printf' C
funzione. Si prega di notare che molti dei campi vengono stampati come %s anziché %d,
e questo potrebbe significare che i flag non funzionano come ci si potrebbe aspettare. Questo significa anche che
il flag `-' funziona (forza i campi ad essere allineati a sinistra). a differenza di -Stampa,
-printf non aggiunge una nuova riga alla fine della stringa. Le fughe e
le direttive sono:

\a Campanello d'allarme.

\b Indietro.

\c Interrompe immediatamente la stampa da questo formato e cancella l'output.

\f Feed modulo.

\n Nuova riga.

\r Ritorno a capo.

\t Scheda Orizzontale.

\v Scheda verticale.

\0 ASCII NULL.

\\ Una barra rovesciata letterale (`\').

\NNN Il carattere il cui codice ASCII è NNN (ottale).

Un carattere `\' seguito da qualsiasi altro carattere viene trattato come un normale
carattere, quindi vengono stampati entrambi.

%% Un segno di percentuale letterale.

%a L'ora dell'ultimo accesso al file nel formato restituito dalla funzione C "ctime".

%Ak L'ora dell'ultimo accesso al file nel formato specificato da k, che può essere "@" o
una direttiva per la funzione C `strftime'. I possibili valori per k sono
di seguito elencati; alcuni di essi potrebbero non essere disponibili su tutti i sistemi, a causa di
differenze di "strftime" tra i sistemi.

@ secondi dal 1 gennaio 1970, 00:00 GMT, con parte frazionaria.

Campi ora:

H ora (00..23)

I ora (01..12)

k ora ( 0..23)

l ora ( 1..12)

M minuto (00..59)

p AM o PM locale

r tempo, 12 ore (hh:mm:ss [AP]M)

S Secondo (00.00 .. 61.00). C'è una parte frazionaria.

Ora T, 24 ore (hh:mm:ss.)

+ Data e ora, separate da "+", ad esempio "2004-04-28+22:22:05.0".
Questa è un'estensione GNU. L'ora è data nel fuso orario corrente
(che può essere influenzato dall'impostazione della variabile d'ambiente TZ). Il
il campo dei secondi include una parte frazionaria.

X rappresentazione dell'ora locale (H:M:S). Il campo dei secondi include a
parte frazionaria.

Z fuso orario (ad es. EDT), o niente se nessun fuso orario è determinabile

Campi data:

il nome abbreviato del giorno della settimana di una località (Sun..Sat)

Il nome completo del giorno della settimana di una locale, lunghezza variabile (domenica..sabato)

b nome del mese abbreviato della locale (gen..dic)

B nome completo del mese locale, lunghezza variabile (gennaio..dicembre)

c la data e l'ora delle impostazioni locali (Sat Nov 04 12:02:33 EST 1989). Il formato è
lo stesso che per ctempo(3) e quindi per preservare la compatibilità con quello
formato, non ci sono parti frazionarie nel campo dei secondi.

d giorno del mese (01..31)

D data (mm/gg/aa)

h uguale a b

j giorno dell'anno (001..366)

m mese (01..12)

U numero della settimana dell'anno con domenica come primo giorno della settimana (00..53)

w giorno della settimana (0..6)

W settimana numero dell'anno con lunedì come primo giorno della settimana (00..53)

x rappresentazione della data della locale (mm/gg/aa)

y ultime due cifre dell'anno (00..99)

Y anno (1970...)

%b La quantità di spazio su disco utilizzata per questo file in blocchi da 512 byte. Dal disco
lo spazio è allocato in multipli della dimensione del blocco del filesystem questo è solitamente
maggiore di %s/512, ma può anche essere più piccolo se il file è scarso
file.

%c L'ora dell'ultimo cambio di stato del file nel formato restituito dal C `ctime'
funzione.

%Ck L'ora dell'ultimo cambio di stato del file nel formato specificato da k, qual è
come per %A.

%d Profondità del file nell'albero delle directory; 0 significa che il file è un punto di partenza.

%D Il numero del dispositivo su cui esiste il file (il campo st_dev di struct
stat), in decimale.

%f Nome del file con tutte le directory principali rimosse (solo l'ultimo elemento).

%F Tipo di filesystem su cui si trova il file; questo valore può essere usato per -fstype.

%g Nome del gruppo del file o ID numerico del gruppo se il gruppo non ha nome.

%G ID gruppo numerico del file.

%h Directory principali del nome del file (tutte tranne l'ultimo elemento). Se il file
il nome non contiene barre (poiché si trova nella directory corrente) il %h
specificatore si espande in ".".

%H Punto di partenza in cui è stato trovato il file.

%i Numero di inode del file (in decimale).

%k La quantità di spazio su disco utilizzata per questo file in blocchi da 1K. Poiché lo spazio su disco
è allocato in multipli della dimensione del blocco del filesystem questo è solitamente
maggiore di %s/1024, ma può anche essere più piccolo se il file è scarso
file.

%l Oggetto del collegamento simbolico (stringa vuota se il file non è un collegamento simbolico).

%m Bit di autorizzazione del file (in ottale). Questa opzione usa il "tradizionale"
numeri utilizzati dalla maggior parte delle implementazioni Unix, ma se sei particolare
l'implementazione utilizza un ordinamento insolito dei bit di autorizzazioni ottali, lo farai
vedere una differenza tra il valore effettivo della modalità del file e l'output
di %m. Normalmente vorrai avere uno zero iniziale su questo numero, e
per farlo, dovresti usare il # flag (come, ad esempio, `%#m').

%M Permessi del file (in forma simbolica, come per ls). Questa direttiva è
supportato in findutils 4.2.5 e versioni successive.

%n Numero di collegamenti reali al file.

%p Nome del file.

%P Nome del file con il nome del punto di partenza sotto il quale è stato trovato
rimosso.

%s Dimensione del file in byte.

%S La scarsità del file. Questo viene calcolato come (BLOCKSIZE*st_blocks / st_size).
Il valore esatto che otterrai per un file ordinario di una certa lunghezza è
dipendente dal sistema. Tuttavia, normalmente i file sparsi avranno valori inferiori a
1.0 e i file che utilizzano blocchi indiretti possono avere un valore maggiore
di 1.0. Il valore utilizzato per BLOCKSIZE dipende dal sistema, ma di solito è
512 byte. Se la dimensione del file è zero, il valore stampato non è definito. Sopra
sistemi che non supportano st_blocks, si presume che la scarsità di un file sia
essere 1.0.

%t L'ora dell'ultima modifica del file nel formato restituito dal `ctime' di C
funzione.

%Tk L'ora dell'ultima modifica del file nel formato specificato da k, qual è
come per %A.

%u Nome utente del file o ID utente numerico se l'utente non ha un nome.

%U ID utente numerico del file.

%y Tipo di file (come in ls -l), U=tipo sconosciuto (non dovrebbe accadere)

%Y Tipo di file (come %y), più seguire i collegamenti simbolici: L=loop, N=inesistente

Contesto di sicurezza del file %Z (solo SELinux).

%{ %[ %(
Riservato per uso futuro.

Un carattere "%" seguito da qualsiasi altro carattere viene scartato, ma l'altro
carattere viene stampato (non fare affidamento su questo, poiché potrebbero essere altri caratteri di formato
introdotto). Un `%' alla fine dell'argomento format causa un comportamento indefinito
poiché non c'è nessun carattere successivo. In alcune località, potrebbe nascondere la tua porta
tasti, mentre in altri potrebbe rimuovere la pagina finale dal romanzo che stai leggendo.

Le direttive %m e %d supportano il # , 0 ed + flag, ma le altre direttive sì
no, anche se stampano numeri. Direttive numeriche che non le supportano
le bandiere includono G, U, b, D, k ed n. Il flag di formato `-' è supportato e cambia
l'allineamento di un campo da giustificato a destra (che è l'impostazione predefinita) a sinistra-
giustificato.

Vedere la INSOLITO NOMI DI FILE sezione per informazioni su come i caratteri insoliti in
vengono gestiti i nomi dei file.

-prugna Vero; se il file è una directory, non scendere in essa. Se -profondità viene data,
falso; nessun effetto. Perché -Elimina implica -profondità, non puoi usare utilmente -fesso
ed -Elimina insieme.

-quit Esci immediatamente. Nessun processo figlio verrà lasciato in esecuzione, ma niente più percorsi
specificato nella riga di comando verrà elaborato. Per esempio, Find /tmp/pippo
/tmp/barra -Stampa -uscire stamperà solo /tmp/pippo. Qualsiasi riga di comando che sia stata
costruito con -dir.esc ... {} + sarà invocato prima Find esce. L'uscita
lo stato può o non può essere zero, a seconda che si sia già verificato un errore.

OPERATORI
Elencati in ordine di precedenza decrescente:

( espr )
Forza la precedenza. Poiché le parentesi sono speciali per la shell, normalmente
bisogno di citarli. Molti degli esempi in questa pagina di manuale utilizzano barre rovesciate per
questo scopo: `\(...\)' invece di `(...)'.

! espr vero se espr è falso. Anche questo personaggio di solito avrà bisogno di protezione da
interpretazione da parte del guscio.

-non espr
Uguale a ! espr, ma non conforme a POSIX.

espr1 espr2
Due espressioni di fila vengono considerate unite con una "e" implicita; espr2 non è
valutato se espr1 è falso.

espr1 -a espr2
Uguale a espr1 espr2.

espr1 -e espr2
Uguale a espr1 espr2, ma non conforme a POSIX.

espr1 -o espr2
O; espr2 non viene valutato se espr1 è vero.

espr1 -O espr2
Uguale a espr1 -o espr2, ma non conforme a POSIX.

espr1 , espr2
Elenco; entrambi espr1 ed espr2 sono sempre valutati. Il valore di espr1 viene scartato;
il valore della lista è il valore di espr2. L'operatore virgola può essere utile per
cercando diversi tipi di cose, ma attraversando il filesystem
gerarchia solo una volta. Il -fprintf l'azione può essere utilizzata per elencare i vari abbinati
elementi in diversi file di output.

Tieni presente che -a quando specificato implicitamente (ad esempio da due test che appaiono senza
un operatore esplicito tra di loro) o esplicitamente ha una precedenza maggiore di -o. Questo
significa che Find . -nome un file -o -nome bfile -Stampa non stamperà mai un file.

INSOLITO NOMI DI FILE


Molte delle azioni di Find comportare la stampa di dati che è sotto il controllo di
altri utenti. Ciò include nomi di file, dimensioni, tempi di modifica e così via. File
i nomi sono un potenziale problema poiché possono contenere qualsiasi carattere tranne "\0" e "/".
Caratteri insoliti nei nomi dei file possono fare cose inaspettate e spesso indesiderabili per il tuo
terminale (ad esempio, modificando le impostazioni dei tasti funzione su alcuni terminali).
I caratteri insoliti vengono gestiti in modo diverso da varie azioni, come descritto di seguito.

-stampa0, -fstampa0
Stampa sempre il nome esatto del file, invariato, anche se l'output sta per a
terminale.

-ls, -fls
I caratteri insoliti sono sempre sfuggiti. Spazi bianchi, barra rovesciata e virgolette doppie
i caratteri vengono stampati utilizzando l'escape in stile C (ad esempio `\f', `\"'). Altro
i caratteri insoliti vengono stampati utilizzando un escape ottale. Altri caratteri stampabili
(Per -ls ed -fls questi sono i caratteri tra l'ottale 041 e 0176) vengono stampati
come è.

-printf, -fprintf
Se l'output non va a un terminale, viene stampato così com'è. In caso contrario, il
il risultato dipende dalla direttiva in uso. Le direttive %D, %F, %g, %G, %H,
%Y e %y si espandono a valori che non sono sotto il controllo dei proprietari dei file, e così
vengono stampati così come sono. Le direttive %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u
e %U hanno valori che sono sotto il controllo dei proprietari dei file ma che non possono essere
utilizzato per inviare dati arbitrari al terminale, e quindi questi vengono stampati così come sono. Il
le direttive %f, %h, %l, %p e %P sono citate. Questa citazione viene eseguita nello stesso
come per GNU ls. Questo non è lo stesso meccanismo di citazione di quello usato per -ls
ed -fls. Se sei in grado di decidere quale formato utilizzare per l'output di Find poi
normalmente è meglio usare `\0' come terminatore piuttosto che usare la nuova riga, come file
i nomi possono contenere spazi e caratteri di nuova riga. L'impostazione del
La variabile d'ambiente `LC_CTYPE' viene utilizzata per determinare quali caratteri devono essere
citato.

-stampa, -fstampa
La citazione è gestita allo stesso modo di per -printf ed -fprintf. Se stai usando
Find in uno script o in una situazione in cui i file corrispondenti potrebbero essere arbitrari
nomi, dovresti considerare di usare -stampa0 invece di -Stampa.

I -OK ed -okdir le azioni stampano il nome del file corrente così com'è. Questo potrebbe cambiare in futuro
rilasciare.

NORME CONFORMITÀ


Per la massima conformità allo standard POSIX, dovresti impostare POSIXLY_CORRECT
variabile d'ambiente. Le seguenti opzioni sono specificate nello standard POSIX (IEEE Std
1003.1, edizione 2003):

-H Questa opzione è supportata.

-L Questa opzione è supportata.

-nome Questa opzione è supportata, ma la conformità POSIX dipende dalla conformità POSIX di
il sistema fnmatch(3) funzione di libreria. A partire da findutils-4.2.2, shell
i metacaratteri (`*', `?' o `[]' per esempio) corrisponderanno a un `.' iniziale, perché
L'interpretazione IEEE PASC 126 lo richiede. Questo è un cambiamento rispetto al precedente
versioni di findutils.

-Type Supportato. POSIX specifica "b", "c", "d", "l", "p", "f" e "s". Trova anche GNU
supporta `D', che rappresenta una porta, dove il sistema operativo li fornisce.

-OK Supportato. L'interpretazione della risposta è secondo il "sì" e il "no"
pattern selezionati impostando la variabile d'ambiente `LC_MESSAGES'. Quando il
La variabile d'ambiente `POSIXLY_CORRECT' è impostata, questi modelli sono presi dal sistema
definizione di una risposta positiva (sì) o negativa (no). Vedi il sistema
documentazione per nl_langinfo(3), in particolare YESEXPR e NOEXPR. quando
`POSIXLY_CORRECT' non è impostato, i modelli sono invece presi da Findè proprio
catalogo dei messaggi

-più nuovo Supportato. Se il file specificato è un collegamento simbolico, viene sempre dereferenziato.
Questo è un cambiamento rispetto al comportamento precedente, che richiedeva il tempo rilevante da
il collegamento simbolico; vedere la sezione STORIA di seguito.

-Permesso Supportato. Se la variabile di ambiente POSIXLY_CORRECT non è impostata, alcune modalità
gli argomenti (ad esempio +a+x) che non sono validi in POSIX sono supportati per
retrocompatibilità.

Altri predicati
I predicati -un tempo, -ctime, -profondità, -gruppo, -link, -Mtime, -nessun gruppo, -nouser,
-Stampa, -fesso, -dimensione, -utente ed -xdev `-atime', `-ctime', `-depth', `-group',
`-links', `-mtime', `-nogroup', `-nouser', `-perm', `-print', `-prune', `-size',
`-user' e `-xdev' sono tutti supportati.

Lo standard POSIX specifica le parentesi `(', `)', negazione `!' e "e" e "o"
operatori ( -a, -o).

Tutte le altre opzioni, predicati, espressioni e così via sono estensioni oltre POSIX
standard. Tuttavia, molte di queste estensioni non sono esclusive di GNU find.

Lo standard POSIX lo richiede Find rileva i loop:

I Find l'utilità rileverà loop infiniti; cioè, inserendo un precedente
directory visitata che è un antenato dell'ultimo file incontrato. Quando esso
rileva un ciclo infinito, find deve scrivere un messaggio diagnostico nell'errore standard
e deve recuperare la sua posizione nella gerarchia o terminare.

GNU Find soddisfa questi requisiti. Il conteggio dei collegamenti delle directory che contengono
le voci che sono collegamenti reali a un antenato saranno spesso inferiori a quanto dovrebbero altrimenti
essere. Ciò può significare che GNU find a volte ottimizzerà la visita di a
sottodirectory che è in realtà un collegamento a un antenato. Da quando Find in realtà non entra
tale sottodirectory, è consentito evitare l'emissione di un messaggio di diagnostica. Anche se questo
il comportamento può essere un po' confuso, è improbabile che qualcuno dipenda davvero da questo
comportamento. Se l'ottimizzazione foglia è stata disattivata con -nofoglia, la voce della directory
sarà sempre esaminato e il messaggio diagnostico verrà emesso laddove appropriato.
I collegamenti simbolici non possono essere utilizzati per creare cicli di filesystem in quanto tali, ma se il -L Opzione o
, il -Seguire l'opzione è in uso, viene emesso un messaggio di diagnostica quando Find incontra un ciclo
di collegamenti simbolici. Come con i loop contenenti hard link, l'ottimizzazione della foglia sarà spesso
significa che Find sa che non ha bisogno di chiamare statistica() or capdir() sul collegamento simbolico,
quindi questa diagnostica spesso non è necessaria.

I -d è supportata per la compatibilità con vari sistemi BSD, ma dovresti usare
l'opzione conforme a POSIX -profondità anziché.

La variabile d'ambiente POSIXLY_CORRECT non influisce sul comportamento del -regex or
-iregex test perché tali test non sono specificati nello standard POSIX.

AMBIENTE VARIABILI


LANG Fornisce un valore predefinito per le variabili di internazionalizzazione non impostate o
nullo.

LC_ALL Se impostato su un valore di stringa non vuoto, sovrascrive i valori di tutti gli altri
variabili di internazionalizzazione.

LC_COLLATE
Lo standard POSIX specifica che questa variabile influisce sul pattern matching per essere
usato per il -nome opzione. GNU find usa il fnmatch(3) funzione di libreria, e così
il supporto per `LC_COLLATE' dipende dalla libreria di sistema. Anche questa variabile
influenza l'interpretazione della risposta a -OK; mentre la variabile `LC_MESSAGES'
seleziona il modello effettivo utilizzato per interpretare la risposta a -OK, le
l'interpretazione di qualsiasi espressione tra parentesi nel modello sarà influenzata da
`LC_COLLATE'.

LC_CTYPE
Questa variabile influenza il trattamento delle classi di caratteri usate in regular
espressioni e anche con il -nome test, se il sistema è fnmatch(3) biblioteca
la funzione lo supporta. Questa variabile influenza anche l'interpretazione di any
classi di caratteri nelle espressioni regolari usate per interpretare la risposta al
prompt emesso da -OK. La variabile d'ambiente `LC_CTYPE' influenzerà anche quale
i caratteri sono considerati non stampabili quando vengono stampati i nomi dei file; vedere il
sezione NOMI DI FILE INUSUALI.

LC_MESSAGGI
Determina le impostazioni internazionali da utilizzare per i messaggi internazionalizzati. Se la
La variabile d'ambiente `POSIXLY_CORRECT' è impostata, questo determina anche il
interpretazione della risposta alla sollecitazione data dal -OK azione.

NLSPATH
Determina la posizione dei cataloghi dei messaggi di internazionalizzazione.

PATH Influisce sulle directory che vengono cercate per trovare gli eseguibili invocati da
Exec-, -dir.esc, -OK ed -okdir.

POSIXLY_CORRETTO
Determina la dimensione del blocco usata da -ls ed -fls. Se POSIXLY_CORRETTO è impostato, blocchi
sono unità di 512 byte. Altrimenti sono unità di 1024 byte.

L'impostazione di questa variabile disattiva anche i messaggi di avviso (ovvero implica -adesso) di
predefinito, perché POSIX lo richiede oltre all'output per -OK, tutti i messaggi
stampati su stderr sono diagnostici e devono risultare in uno stato di uscita diverso da zero.

Quando POSIXLY_CORRECT non è impostato, -Permesso +zzz è trattato proprio come -Permesso /zzz se +zzz
non è una modalità simbolica valida. Quando POSIXLY_CORRECT è impostato, tali costrutti sono
trattato come un errore.

Quando POSIXLY_CORRECT è impostato, la risposta al prompt fatto da -OK l'azione è
interpretata secondo il catalogo dei messaggi del sistema, in contrapposizione a secondo
Findle traduzioni dei propri messaggi.

TZ Influisce sul fuso orario utilizzato per alcune delle direttive di formato relative all'ora di
-printf ed -fprintf.

ESEMPI


Find / Tmp -nome core -Type f -Stampa | xargs /bin/rm -f

Trova i file denominati core dentro o sotto la directory / Tmp ed eliminarli. Nota che questo sarà
funziona in modo errato se ci sono nomi di file contenenti nuove righe, virgolette singole o doppie,
o spazi.

Find / Tmp -nome core -Type f -stampa0 | xargs -0 /bin/rm -f

Trova i file denominati core dentro o sotto la directory / Tmp ed eliminarli, elaborando i nomi dei file
in modo tale che i nomi di file o directory contenenti virgolette singole o doppie, spazi o
le nuove righe sono gestite correttamente. Il -nome il test viene prima del -Type prova per
evita di chiamare stat(2) su ogni file.

Find . -Type f Exec- filetto '{}' \;

Esegue "file" su ogni file all'interno o al di sotto della directory corrente. Notare che le parentesi graffe sono
racchiusi tra virgolette singole per proteggerli dall'interpretazione come script di shell
punteggiatura. Il punto e virgola è ugualmente protetto dall'uso di una barra rovesciata, però
anche in quel caso si sarebbero potute usare le virgolette singole.

Find / \( -Permesso all'4000 ottobre -fprintf /root/suid.txt '%#m %u %p\n' \) , \
\( -dimensione + 100M -fprintf /root/big.txt '%-10s %p\n' \)

Attraversa il filesystem solo una volta, elencando file e directory setuid in
/root/suid.txt e file di grandi dimensioni in /root/big.txt.

Find $ HOME -Mtime 0

Cerca i file nella tua home directory che sono stati modificati negli ultimi ventiquattro
ore. Questo comando funziona in questo modo perché il tempo trascorso dall'ultima modifica di ogni file è
diviso per 24 ore e l'eventuale resto viene scartato. Ciò significa che per abbinare -Mtime 0, un
il file dovrà avere una modifica nel passato che è meno di 24 ore fa.

Find / sbin / usr / sbin -eseguibile \! -leggibile -Stampa

Cerca file eseguibili ma non leggibili.

Find . -Permesso 664

Cerca i file che hanno il permesso di lettura e scrittura per il loro proprietario e gruppo, ma
che altri utenti possono leggere ma non scrivere. File che soddisfano questi criteri ma hanno
altri bit di autorizzazione impostati (ad esempio se qualcuno può eseguire il file) non lo saranno
abbinato.

Find . -Permesso all'664 ottobre

Cerca i file che hanno il permesso di lettura e scrittura per il loro proprietario e gruppo, e quali
altri utenti possono leggere, indipendentemente dalla presenza di eventuali bit di autorizzazione aggiuntivi (ad es
esempio il bit eseguibile). Ciò corrisponderà a un file che ha la modalità 0777, ad esempio.

Find . -Permesso / 222

Cerca file scrivibili da qualcuno (il loro proprietario, il loro gruppo o chiunque altro
altro).

Find . -Permesso / 220
Find . -Permesso /u+s,g+s
Find . -Permesso /u=w,g=w

Tutti e tre questi comandi fanno la stessa cosa, ma il primo usa l'ottale
rappresentazione della modalità file, e gli altri due usano la forma simbolica. Questi comandi
tutti cercano file scrivibili dal loro proprietario o dal loro gruppo. I file
non devono essere scrivibili sia dal proprietario che dal gruppo per essere abbinati; o lo farà.

Find . -Permesso all'220 ottobre
Find . -Permesso -g+w,u+w

Entrambi questi comandi fanno la stessa cosa; cercare i file che sono scrivibili da entrambi i loro
proprietario e il loro gruppo.

Find . -Permesso all'444 ottobre -Permesso / 222 ! -Permesso / 111
Find . -Permesso -a+r -Permesso /a+w ! -Permesso /a+x

Entrambi questi due comandi cercano file leggibili da tutti ( -Permesso all'444 ottobre or
-Permesso -a+r), hanno almeno un bit di scrittura impostato ( -Permesso / 222 or -Permesso /a+w) ma non lo sono
eseguibile per chiunque ( ! -Permesso / 111 ed ! -Permesso /a+x rispettivamente).

cd /dir-sorgente
Find . -nome .istantanea -fesso -o \( \! -nome *~ -stampa0 \)|
cpio -pmd0 /dir-destinazione

Questo comando copia il contenuto di /dir-sorgente a /dir-destinazione, ma omette i file e
directory denominate .istantanea (e qualsiasi cosa in essi). Omette anche file o directory
il cui nome finisce in ~, ma non il loro contenuto. il costrutto -fesso -o \( ... -stampa0 \)
è abbastanza comune. L'idea qui è che l'espressione prima -fesso corrisponde a cose che
sono da potare. in ogni caso, il -fesso l'azione stessa restituisce true, quindi quanto segue -o
assicura che il lato destro venga valutato solo per quelle directory che non sono state ottenute
potato (i contenuti delle directory potate non vengono nemmeno visitati, quindi i loro contenuti sono
irrilevante). L'espressione a destra di -o è tra parentesi solo per
chiarezza. Sottolinea che -stampa0 l'azione si svolge solo per le cose che non hanno
avere -fesso applicati a loro. Perché la condizione predefinita "e" tra i test si lega di più
strettamente di -o, questa è comunque l'impostazione predefinita, ma le parentesi aiutano a mostrare cos'è
in corso.

Find deposito/ Exec- test -d {}/.svn \; -O \
Exec- test -d {}/.idiota \; -O Exec- test -d {}/CV \; \
-Stampa -fesso

Data la seguente directory di progetti e la relativa amministrazione SCM associata
directory, eseguire una ricerca efficiente delle radici dei progetti:

repo/progetto1/CVS
repository/gnu/project2/.svn
repository/gnu/project3/.svn
repository/gnu/project3/src/.svn
repo/progetto4/.git

In questo esempio, -fesso impedisce la discesa non necessaria in directory che hanno già
stato scoperto (ad esempio non cerchiamo project3/src perché abbiamo già trovato
project3/.svn), ma assicura che le directory di pari livello (project2 e project3) vengano trovate.

EXIT STATUS


Find esce con stato 0 se tutti i file vengono elaborati correttamente, maggiore di 0 se errori
verificarsi. Questa è volutamente una descrizione molto ampia, ma se il valore restituito non è
zero, non dovresti fare affidamento sulla correttezza dei risultati di Find.

Quando si verifica un errore, Find può fermarsi immediatamente, senza completare tutte le azioni
specificato. Ad esempio, alcuni punti di partenza potrebbero non essere stati esaminati o alcuni in sospeso
invocazioni di programma per Exec- ... {} + or -dir.esc ... {} + potrebbe non essere stato eseguito.

Usa trova online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad