Come trovare file in Linux?

Pubblicato: 2022-04-07

Sommario

Introduzione:

Trova è un'utilità della riga di comando UNIX che percorre una gerarchia di file. Puoi usarlo per trovare e operare su file e directory. File, cartelle, nomi, date di creazione, date di modifica, proprietari e autorizzazioni possono essere ricercati utilizzando questo comando.

Puoi ulteriormente combinarlo con l'opzione ' exec ' per eseguire varie azioni sui risultati trovati dal comando find .

In questo articolo impareremo come trovare file in Linux usando il comando Trova .

Come funziona il comando Trova?

Find individua i file sul tuo computer. Secondo le regole di precedenza, valuta ogni espressione, da sinistra a destra, all'interno di ogni albero di directory specificato dai percorsi dati. Nelle operazioni AND, o nelle operazioni OR, il risultato è "noto" quando il lato sinistro dell'espressione è TRUE o FALSE. Trova quindi passa al percorso successivo finché tutti i percorsi non sono stati esplorati.

Il comando find è lo strumento più fondamentale e potente per lavorare con i file su un sistema Linux. I file possono essere individuati da soli o insieme ad altri programmi.

Sintassi:

find [options] [path…] [expression]

o

$ find [where to start searching from]

[l'espressione determina cosa trovare] [-opzioni] [cosa trovare]

  • Il trattamento del collegamento simbolico, le opzioni di debug e la strategia di ottimizzazione sono tutti controllati dalla proprietà options .
  • La proprietà path … specifica la directory o le directory da cui find cercherà i file.
  • Opzioni, modelli di ricerca e azioni sono separati da operatori nell'attributo expression .

Opzioni:

-exec CMD : il file cercato che soddisfa i criteri precedenti e restituisce 0 per uno stato di uscita dell'esecuzione del comando riuscita.

-ok CMD : simile a -exec, ma all'utente viene richiesto in anticipo.

-inum N : Cerca i file con il numero 'N' nell'inode.

-links N : trova i file che hanno collegamenti 'N'.

-name demo : Cerca i file con il nome 'demo' nel nome del file.

-newer file : cerca i file che sono stati aggiornati o creati da 'file.'

-perm octa l: se il permesso è 'ottale', cerca il file.

-print : stampa i nomi di percorso dei file identificati utilizzando i criteri rimanenti.

-empty : cerca file e cartelle vuoti.

-size +N/-N : Cerca i file con 'N' blocchi; 'N' seguito da 'c' può essere utilizzato per misurare la dimensione dei caratteri; '+N' indica dimensioni > 'N' blocchi, mentre '-N' indica dimensioni 'N' blocchi.

-nome utente: cerca i file con il nome utente 'nome' o l'ID 'nome'.

(expr ) : Se 'expr' è vero, allora vero; utilizzato per raggruppare i criteri con OR o AND.

! expr : True se 'expr' è falso.

Espressioni:

Le opzioni (che influiscono sull'operazione generale anziché sull'elaborazione dei file e restituiscono sempre true), i test (che restituiscono un valore vero o falso) e le azioni (che hanno effetti collaterali e restituiscono un valore vero o falso) sono tutte separate da operatori nell'espressione . Quando l'operatore è assente, -e viene dedotto.

Se l'espressione non contiene azioni aggiuntive, -prune, -print viene applicato a tutti i file per i quali è true.

Ad esempio, diamo un'occhiata al seguente comando come esempio

find -L /var/www -name "*.js"

  • L' opzione -L (opzioni) indica al comando trova di seguire i collegamenti simbolici.
  • /var/www (percorso...) specifica la directory in cui verrà eseguita la ricerca.
  • Il (espressione) -name "*.js indica a find di cercare i file che terminano con .js (file JavaScript).

Come trovare i file in Linux per nome

I file possono essere trovati per nome usando il comando trova . Puoi cercare un file in base al suo nome usando l'opzione -name.

find -type f -name functions.php

Come trovare file in Linux

utilizzare -iname invece di -name, per eseguire una ricerca con distinzione tra maiuscole e minuscole

Come trovare file in Linux per estensione

Puoi cercare i file per estensione proprio come puoi cercare i file per nome.

find -type f -name '*.php'

per trovare i file senza l'estensione specificata, utilizzare il comando seguente

find -type f - not -name '*.php'

Trova i file per tipo

Se è necessario trovare un tipo di file specifico, come un file normale, una directory o un collegamento simbolico, potrebbe essere necessario cercare tipi di file specifici. Tutto in Linux è un file.

Specifica il tipo di file che stai cercando utilizzando l'opzione -type e uno dei seguenti descrittori:

  • f: un file normale
  • d: directory
  • l: collegamento simbolico
  • c: dispositivi di caratteri
  • b: dispositivi di blocco
  • p: named pipe (FIFO)
  • s: presa

find public_html/wp-admin/ -type d

Trova i file per dimensione

Il parametro -size deve essere passato insieme al parametro size per trovare i file in base alla loro dimensione. I seguenti suffissi possono essere utilizzati per specificare la dimensione del file:

  • b: blocchi da 512 byte (predefinito)
  • c: byte
  • w: parole a due byte
  • k: kilobyte
  • M: Megabyte
  • G: Gigabyte

find . -type f -size -1M

Se vuoi cercare file con una dimensione maggiore di 1 MB usa +

find . -type f -size +1M

Puoi anche cercare file all'interno di un intervallo di dimensioni

find . -type f -size +1M -size 3M

Trova i file per modifica

Il comando trova può essere utilizzato anche per cercare i file in base a quando sono stati modificati, consultati o modificati l'ultima volta.

Usa i caratteri più e meno per "più di" e "minore di", proprio come faresti per la ricerca per dimensione.

find . -mtime +30 -daystart

Trova per autorizzazione

Puoi usare l'opzione -perm per cercare i file in base alle loro autorizzazioni.

find public_html/wp-admin/css -perm /444

/ viene utilizzato come prefisso, quindi almeno nella categoria deve avere almeno il rispettivo bit impostato affinché un file corrisponda.

-prefix, è necessario impostare almeno i bit specificati.

Trova per proprietario

Utilizzare i parametri -user e -group per trovare i file di proprietà di un determinato utente o gruppo.

find -user testc7963

Conclusione

Abbiamo dimostrato come applicare il comando trova con una varietà di criteri e argomenti.
Questo articolo dovrebbe fornire una comprensione di base su come trovare file su computer Linux.