Trova comando in Linux (Trova file e directory)

0 Comments

Il comandofind è uno degli strumenti più potenti nell’arsenale degli amministratori di sistema Linux. Cerca file e directory in una gerarchia di directory basata su un’espressione data dall’utente e può eseguire l’azione specificata dall’utente su ciascun file abbinato.

È possibile utilizzare il comando find per cercare file e directory in base alle loro autorizzazioni, tipo, data, proprietà, dimensione e altro ancora., Può anche essere combinato con altri strumenti come greposed.

trovare la Sintassi del Comando #

La sintassi generale per il find comando è la seguente:

  • options attributo controlla il trattamento dei link simbolici, le opzioni di debug, e metodo di ottimizzazione.
  • L’attributopath... definisce la directory di partenza o le directory in cui find cercherà i file.,
  • L’attributoexpression è costituito da opzioni, modelli di ricerca e azioni separati da operatori.

Per cercare i file in una directory, l’utente che invoca il comando find deve avere i permessi di lettura su quella directory.

Diamo un’occhiata al seguente esempio:

Trova i file per nome #

Trovare i file per nome è probabilmente l’uso più comune del comandofind., Per trovare un file con il suo nome, usa l’opzione-name seguita dal nome del file che stai cercando.

Per esempio, per la ricerca di un file chiamato document.pdf nel /home/linuxize directory, utilizzare il seguente comando:

Per eseguire una ricerca case-insensitive, modificare il -name opzione -iname:

Il comando di sopra match “del Documento.pdf”, ” DOCUMENTO.PDF” ..ecc.,

Trova file per estensione #

La ricerca di file per estensione equivale alla ricerca di file per nome. Per esempio, per trovare tutti i file che terminano con .log.gz all’interno del tag /var/log/nginx directory, digitare:

e ‘ importante ricordare che è necessario citare il modello o la fuga l’asterisco * il simbolo con la barra rovesciata \ in modo che non venga interpretata dalla shell quando si utilizza il carattere jolly.,

Per trovare tutti i file che non corrispondono alla regex *.log.gzè possibile utilizzare l’opzione -not. Ad esempio, per trovare tutti i file che non terminano in *.log.gz dovresti usare:

Trova i file per tipo #

A volte potrebbe essere necessario cercare tipi di file specifici come file regolari, directory o collegamenti simbolici. In Linux, tutto è un file.,div>: named pipe (FIFO)

  • s: socket
  • Per esempio, per trovare tutte le directory nella directory di lavoro corrente , utilizzare:

    L’esempio comune sarebbe quello di cambiare ricorsivamente il sito web di autorizzazioni di file 644 e le autorizzazioni per la directory 755 con il chmod comando:

    Trovare i File per Dimensione #

    Per trovare i file in base alla dimensione del file, passare il -size parametro con i criteri di dimensione.,9fdb538a6b”>: blocchi da 512 byte (default)

  • c: byte
  • w: due byte parole
  • k: Kilobyte
  • M: Megabyte
  • G: Gigabyte
  • Il comando riportato di seguito troverete tutti i file esattamente 1024 byte all’interno del /tmp directory:

    find comando consente inoltre di ricerca per i file che sono più o meno di una determinata dimensione.,

    Nel seguente esempio, cerchiamo tutti i file inferiori a 1MB all’interno della directory di lavoro corrente. Notare il meno - simbolo prima che il valore di dimensione:

    Se si desidera cercare i file con una dimensione maggiore di 1MB, allora avete bisogno di usare il plus + simbolo:

    È possibile anche la ricerca di file all’interno di una gamma di dimensioni., Il seguente comando troverà tutti i file tra 1 e 2MB:

    Trova i file per data di modifica #

    Il find cerca anche i file in base alla loro ultima modifica, accesso o tempo di modifica.

    Come quando si cerca per dimensione, utilizzare i simboli più e meno per “maggiore di” o “minore di”.

    Diciamo che qualche giorno fa hai modificato uno dei file di configurazione di dovecot, ma hai dimenticato quale., È possibile filtrare facilmente tutti i file sotto il /etc/dovecot/conf.d directory che termina con .conf ed è stato modificato negli ultimi cinque giorni:

    Ecco un altro esempio di filtrare i file in base alla data di modifica utilizzando il -daystart opzione., Il comando riportato di seguito vi elenco tutti i file nel /home directory che sono stati modificati 30 o più giorni fa:

    Trovare i File da Autorizzazioni #

    -perm opzione ti consente di cercare file in base alle autorizzazioni di file.,

    Per esempio, per trovare tutti i file con i permessi di esattamente 775 all’interno del tag /var/www/html directory, utilizzare:

    È possibile prefisso numerico con meno - o slash /.

    Quando slash / viene utilizzato come prefisso, almeno una categoria (utente, gruppo o altri) deve avere almeno i rispettivi bit impostati per far corrispondere un file.,

    Considera il seguente comando di esempio:

    Il comando precedente corrisponderà a tutti i file con le autorizzazioni di lettura impostate per utente, gruppo o altri.

    Se minus- viene utilizzato come prefisso, quindi affinché il file corrisponda, devono essere impostati almeno i bit specificati., Il comando seguente consente di cercare i file con permessi di scrittura e lettura per il proprietario e il gruppo e sono leggibili da altri utenti:

    Trova File Proprietario #

    Per trovare i file di proprietà di un particolare utente o gruppo, utilizzare il tag -user e -group opzioni.

    Ad esempio, per cercare tutti i file e le directory di proprietà dell’utente linuxize, dovresti eseguire:

    Ecco un esempio reale., Diciamo che si desidera trovare tutti i file di proprietà dell’utente www-data e modificare le proprietà dei file corrispondenti da www-data nginx:

    Trova ed Elimina i File #

    Per eliminare tutti i file corrispondenti, aggiungere il -delete opzione al termine del match di espressione.

    Assicurarsi di utilizzare questa opzione solo quando si è sicuri che il risultato corrisponda ai file che si desidera eliminare., È sempre una buona idea stampare i file corrispondenti prima di utilizzare l’opzione -delete.

    Ad esempio, per eliminare tutti i file che terminano con .temp da /var/log/, si dovrebbe usare:

    Utilizzare -delete con estrema cautela. Il comandofind viene valutato come espressione e se si aggiunge prima l’opzione-delete, il comando eliminerà tutto ciò che è al di sotto dei punti di partenza specificati.,

    Quando si tratta di directory,findpuò eliminare solo directory vuote, comermdir.

    Conclusione #

    Vi abbiamo mostrato come utilizzare il comandofind con varie opzioni e criteri.

    Questo articolo dovrebbe darti una comprensione fondamentale di come individuare i file sui tuoi sistemi Linux. Puoi anche visitare la pagina man find e leggere tutte le altre potenti opzioni del comando find.


    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *