English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
il comando Linux find viene utilizzato per cercare file nel percorso specificato. Qualsiasi stringa prima dei parametri viene considerata come il nome del percorso da cercare. Se non vengono impostati parametri, il comando find il comando cercherà le sottocartelle e i file nel percorso corrente. Visualizzerà tutte le sottocartelle e i file trovati.
find path -option [ -print ] [ -exec -ok command ] {} \;
spiegazione dei parametri :
find giudica path e expression secondo le seguenti regole, la parte prima del primo - ( ) in riga di comando è path, la parte successiva è expression. Se path è una stringa vuota, viene utilizzato il percorso corrente. Se expression è una stringa vuota, -print viene utilizzato come expression predefinita.
ci sono molte opzioni disponibili nell'espressione, in questo articolo vengono descritte solo le più comuni.
-mount, -xdev : verifica solo i file nella stessa filesystem del percorso specificato, evitando di elencare i file di altri filesystem
-amin n : letto negli ultimi n minuti
-anewer file : file letto più tardi rispetto al file file
-atime n : file letto negli ultimi n giorni
-cmin n : modificato negli ultimi n minuti
-cnewer file : file più recente rispetto al file file
-ctime n : file modificato negli ultimi n giorni
-empty : file vuoto-gid n o -group name : gid è n o il nome del gruppo è name
-ipath p, -path p : il nome del percorso corrisponde a p, ipath ignora la maiuscolizzazione.
-name name, -iname name : il nome del file corrisponde a name. iname ignora la maiuscolizzazione.
-size n : la dimensione del file è n unità, b rappresenta il blocco di 512 bit, c rappresenta il numero di caratteri, k rappresenta kilobytes, w sono due tuple di bit.
-type c : il tipo di file è c.
d: elenco dei contenuti
c: tipo di file dispositivo
b: file dispositivo bloccante
p: coda di memoria
f: file comune
l: link simbolico
s: socket
-pid n : il file con id processo n
puoi utilizzare ( ) per separare espressioni e utilizzare i seguenti operatori.
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
elenca tutti i file nel directory corrente e nei suoi sottodirectory con estensione .c:
# find . -name "*.c"
elenca tutti i file comuni nel directory corrente e nei suoi sottodirectory:
# find . -type f
elenca tutti i file aggiornati negli ultimi 20 giorni nel directory corrente e nei suoi sottodirectory:
# find . -ctime -20
trova i file comuni nel directory /var/log con data di modifica più vecchia di 7 giorni e chiedi prima di eliminarli:
# find /var/log -type f -mtime +7 -ok rm {} \;
trova i file nel directory corrente con proprietario che ha permessi di lettura e scrittura, e gruppi di utenti e altri utenti con permessi di lettura:
# find . -type f -perm 644 -exec ls -l {} \;
trova tutti i file comuni di sistema con lunghezza 0 e elenca i loro percorsi completi:
# find / -type f -size 0 -exec ls -l {} \;