53 lines
1.7 KiB
Markdown
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.
|