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

53 lines
1.7 KiB
Markdown

# 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:
```bash
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:
```bash
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:
```bash
find . -name "*.conf" -exec chmod 644 '{}' \;
```
Questa sintassi consente di applicare comandi a ciascun file trovato, sostituendo `{}` con il nome del file corrente.