Files
learning/lpic/101/014_ricercare_file.md
2025-08-23 21:53:53 +02:00

1.7 KiB

Ricercare file

Comando find

Il comando principale per la ricerca di file in un sistema Unix/Linux è find. Questo comando consente di localizzare file e directory in base a vari criteri.

Opzioni per la ricerca di file

Le opzioni per specificare il tipo di file da cercare includono:

  • -type f: per cercare file regolari
  • -type d: per cercare directory
  • -type l: per cercare link simbolici

Un esempio:

find . -name "example" -type f

Criteri di ricerca aggiuntivi

Oltre al tipo di file, è possibile utilizzare ulteriori criteri per affinare la ricerca:

  • -iname: consente di cercare in base al nome del file, ignorando la distinzione tra lettere maiuscole e minuscole
  • -not: restituisce i risultati che non corrispondono al criterio specificato
  • -maxdepth N: limita la ricerca nelle sottodirectory fino a un massimo di N livelli di profondità

Ricerca per dimensione

Il comando find permette anche di cercare file in base alla loro dimensione:

find . -iname "example" -size 2G -type f

Le opzioni per specificare la dimensione includono:

  • -size 100M: per cercare file che corrispondono esattamente a 100 MB
  • -size +100M: per cercare file più grandi di 100 MB
  • -size -20M: per cercare file più piccoli di 20 MB
  • -size +2G: per cercare file più grandi di 2 GB

Esecuzione di azioni sui risultati

È possibile eseguire azioni sui risultati ottenuti dalla ricerca utilizzando l'opzione -exec. Ad esempio, per modificare i permessi di tutti i file con estensione .conf, si può utilizzare il seguente comando:

find . -name "*.conf" -exec chmod 644 '{}' \;

Questa sintassi consente di applicare comandi a ciascun file trovato, sostituendo {} con il nome del file corrente.