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, 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, come Debian o Ubuntu. 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:

$ apt-get install lsof
bash

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:

$ lsof [opzione] <formato>
bash

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.

$ lsof -u root
bash

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

$ lsof /mount/path
bash

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

$ lsof -n -i
bash

In questo modo vengono elencate tutte le porte attualmente aperte.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.