# lsof su Linux: come elencare i file e analizzare il sistema

Lo strumento Linux lsof vi consente di monitorare il sistema e di individuare più rapidamente eventuali problemi. A questo scopo, il programma elenca i file aperti e può essere ottimizzato per i vostri scopi attraverso filtri e opzioni.

## Che cos’è lsof su Linux?

Se volete **monitorare e analizzare** il vostro sistema con [Linux](https://www.ionos.it/digitalguide/server/know-how/linux-lalternativa-conveniente-a-windows/ "Linux, l’alternativa conveniente a Windows"), lsof, che sta per “List open files”, (elenca i file aperti), è uno strumento molto facile da usare. Il programma, sviluppato e pubblicato da Vic Abell già nel 1994, è open source e fa parte dell’installazione standard di numerose [distribuzioni Linux](https://www.ionos.it/digitalguide/server/configurazione/distribuzioni-linux/ "Distribuzioni Linux"), come [Debian](https://www.ionos.it/digitalguide/server/know-how/debian-il-sistema-operativo-universale/ "Debian: il sistema operativo universale") o [Ubuntu](https://www.ionos.it/digitalguide/server/know-how/ubuntu-il-sistema-linux-per-tutti/ "Ubuntu: il sistema Linux per tutti"). La sua funzione è quella di fornire informazioni sui tipi di file che sono aperti, o lo sono stati, dai processi in esecuzione in quel momento. Oltre ai normali file, questi possono includere directory, socket, drive o porte. Successivamente, i diversi processi e file vengono elencati in modo chiaro.

## Come funziona lsof su Linux?

Se lsof non è presente sul vostro sistema, installatelo semplicemente con questo [comando Linux](https://www.ionos.it/digitalguide/server/configurazione/i-comandi-principali-di-linux-una-spiegazione/ "I comandi principali di Linux: una spiegazione"):

```bash
$ apt-get install lsof
```

Dopodiché, è possibile utilizzare lo strumento per ottenere un **riepilogo dei processi di lavoro sul computer**. Questo avviene perché nei sistemi Unix ogni cosa è vista fondamentalmente come un file. Lo strumento lsof su Linux permette quindi di verificare quali processi stanno accedendo a un determinato file.

## Qual è la sintassi di lsof?

Desiderate usare lsof? Questa è la sintassi di base del comando corrispondente:

```bash
$ lsof [opzione] <formato>
```

Potete anche utilizzare lsof completamente senza opzioni e filtri; tuttavia, poiché l’output risultante sarebbe estremamente esteso e confuso, si sconsiglia questo approccio.

## Quali sono le opzioni e i filtri disponibili con lsof su Linux?

lsof ha a disposizione numerose opzioni di output. Di seguito le più importanti:

- **-F**: questa opzione assicura che tutti i risultati vengano emessi in un’unica colonna.
- **-l**: questa opzione consente di visualizzare l’ID utente invece del nome.
- **-n**: utilizzando questa opzione, vengono visualizzati gli indirizzi IP corrispondenti invece dei nomi host.
- **-P**: con questa opzione è possibile visualizzare i numeri di porta invece dei nomi dei servizi.
- **-r \[x\]**: questa opzione fa sì che l’output venga eseguito nuovamente ogni x secondi.
- **-t**: con questa opzione viene emesso solo un elenco di PID (Process Identifier).

Inoltre, lsof dispone di numerose opzioni di filtro. Le più comuni sono le seguenti:

- **-a**: si tratta di un’operazione logica AND invece dell’operazione OR utilizzata per impostazione predefinita.
- **-c \[processo\]**: in questo modo scoprite quale file è utilizzato da uno specifico processo.
- **+D /cartella/utente**: questo filtro dà informazioni su una directory specifica e sul relativo utente.
- **/dev/drive**: utilizzate questo filtro per controllare un’unità specifica.
- **-i \[TCP/UDP o in alternativa indirizzo IP o porta\]**: in questo modo ottenete informazioni sui processi che utilizzano i servizi di rete.
- **+L1**: questo filtro fornisce informazioni sui file già eliminati.
- **+p PID**: fornisce informazioni su quale file è utilizzato da uno specifico PID.
- **/percorso/file**: con questa opzione ottenete informazioni su un file specifico.
- **-u \[utente\]**: in questo modo scoprite quale utente sta utilizzando determinati file.

## A cosa serve lsof su Linux?

Per concludere, vi mostriamo come e per cosa viene utilizzato lsof attraverso alcuni esempi.

```bash
$ lsof -u root
```

In questo modo potete visualizzare tutti i file che root tiene attualmente aperti.

```bash
$ lsof /mount/path
```

Spesso lsof viene utilizzato per verificare quali programmi impediscono il comando mount, che non può essere eseguito se i file sono ancora aperti.

```bash
$ lsof -n -i
```

In questo modo vengono elencate tutte le porte attualmente aperte.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/lsof-su-linux/](https://www.ionos.it/digitalguide/server/configurazione/lsof-su-linux/) for AI/LLM consumption.