Linux Commands · 6 min read · Sep 16, 2025
Tutorial sul comando lsof di Linux per principianti (15 esempi)

Il comando Linux lsof mostra nella sua uscita informazioni sui file che sono aperti da un processo. In questo articolo, discuteremo dello strumento lsof di Linux utilizzando 15 esempi facili da comprendere. Si prega di notare che tutti gli esempi menzionati in questo tutorial sono stati testati su Ubuntu 22.04 LTS, ma funzioneranno anche su altre distribuzioni Linux come Debian, Fedora e CentOS.
Informazioni sul comando lsof
Se vuoi vedere rapidamente il nome dei file che sono stati aperti da un particolare processo (o da tutti i processi), il comando lsof ti consente di farlo. Un file aperto potrebbe essere un file normale o una directory, una libreria, un file speciale o un dispositivo a blocchi, un file speciale a caratteri, un riferimento di testo eseguibile, o anche uno stream o un file di rete. Puoi anche elencare i processi per numero di porta. Se non sei loggato come utente root, potresti dover anteporre ‘sudo’ ai comandi.
Installare il comando lsof di Linux
La maggior parte delle distribuzioni Linux viene fornita con lsof preinstallato. Se non è ancora installato sul tuo sistema, usa i seguenti comandi per installare lsof:
Su Ubuntu e Debian:
$ sudo apt install lsofSu CentOS e Fedora:
$ dnf install lsof1. Come elencare tutti i file aperti
Per elencare tutti i file aperti, esegui il comando lsof senza argomenti:
lsofAd esempio, ecco la cattura dello schermo di una parte dell’uscita che il comando sopra ha prodotto sul mio sistema:

La prima colonna rappresenta il processo mentre l’ultima colonna contiene il nome del file. Per dettagli su tutte le colonne, vai alla pagina man del comando.
2. Come elencare i file aperti da processi appartenenti a un utente specifico
Lo strumento ti consente anche di elencare i file aperti da processi appartenenti a un utente specifico. Questa funzione può essere accessibile utilizzando l’opzione della riga di comando -u.
lsof -u [nome-utente]
Ad esempio:
lsof -u amministratore

3. Come elencare i file in base al loro indirizzo Internet
Lo strumento ti consente di elencare i file in base al loro indirizzo Internet. Questo può essere fatto utilizzando l’opzione della riga di comando -i. Ad esempio, se vuoi, puoi avere file IPv4 e IPv6 visualizzati separatamente. Per IPv4, esegui il seguente comando:
lsof -i 4Ad esempio:

Allo stesso modo, per IPv6, esegui il seguente comando:
lsof -i 6Ad esempio: lsof -i 6

4. Come elencare tutti i file per nome dell’applicazione
L’opzione della riga di comando -c ti consente di ottenere tutti i file aperti per nome del programma.
$ lsof -c apacheNon è necessario utilizzare il nome completo del programma poiché vengono mostrati tutti i programmi che iniziano con la parola ‘apache’. Quindi, nel nostro caso, elencherà tutti i processi dell’applicazione ‘apache2’.

L’opzione -c è fondamentalmente solo un’abbreviazione per i due comandi:
$ lsof | grep apache5. Come elencare file specifici per un processo
Lo strumento ti consente anche di visualizzare i file aperti in base ai numeri di identificazione del processo (PID). Questo può essere fatto utilizzando l’opzione della riga di comando -p.
lsof -p [PID]Ad esempio:
lsof -p 856
Proseguendo, puoi anche escludere PID specifici nell’uscita aggiungendo il simbolo ^ prima di essi. Per escludere un PID specifico, puoi eseguire il seguente comando:
lsof -p [^PID]Ad esempio: lsof -p ^1

Come puoi vedere nello screenshot sopra, il processo con id 1 è escluso dall’elenco.
6. Come elencare gli ID dei processi che hanno aperto un particolare file
Lo strumento ti consente di elencare gli ID dei processi che hanno aperto un particolare file. Questo può essere fatto utilizzando l’opzione della riga di comando -t.
$ lsof -t [nome-file]Ad esempio:
$ lsof -t /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.9.0
7. Come elencare tutti i file aperti in una directory
Se vuoi, puoi anche far cercare a lsof tutte le istanze aperte di una directory (inclusi tutti i file e le directory che contiene). Questa funzione può essere accessibile utilizzando l’opzione della riga di comando +D.
$ lsof +D [percorso-directory]
Ad esempio:
$ lsof +D /usr/lib/locale

8. Come elencare tutti i file di rete Internet e x.25 (HP-UX)
Questo è possibile utilizzando l’opzione della riga di comando -i che abbiamo descritto in precedenza. Solo che devi usarla senza argomenti.
$ lsof -i

9. Scoprire quale programma sta utilizzando una porta
L’opzione -i del comando ti consente di trovare un processo o un’applicazione che ascolta su un numero di porta specifico. Nell’esempio seguente, ho controllato quale programma sta utilizzando la porta 80.
$ lsof -i :80Invece del numero di porta, puoi usare il nome del servizio come elencato nel file /etc/services. Esempio per controllare quale app ascolta sulla porta HTTPS (443):
$ lsof -i :httpsRisultato:

Gli esempi sopra controlleranno sia TCP che UDP. Se desideri controllare solo TCP o UDP, anteponi la parola ‘tcp’ o ‘udp’. Ad esempio, quale applicazione sta utilizzando la porta 25 TCP:
$ lsof -i tcp:25oppure quale app utilizza la porta UDP 53:
$ lsof -i udp:5310. Come elencare file aperti in base all’intervallo di porte
L’utilità ti consente anche di elencare file aperti in base a una porta specifica o a un intervallo di porte. Ad esempio, per visualizzare file aperti per la porta 1-1024, usa il seguente comando:
$ lsof -i :1-1024

11. Come elencare file aperti in base al tipo di connessione (TCP o UDP)
Lo strumento ti consente di elencare file in base al tipo di connessione. Ad esempio, per file specifici UDP, usa il seguente comando:
$ lsof -i udp

Allo stesso modo, puoi far visualizzare a lsof file specifici TCP.
12. Come far elencare a lsof il PID genitore dei processi
C’è anche un’opzione che costringe lsof a elencare il numero di identificazione del processo genitore (PPID) nell’uscita. L’opzione in questione è -R.
$ lsof -RPer ottenere informazioni sul PPID per un PID specifico, puoi eseguire il seguente comando:
$ lsof -p [PID] -RAd esempio:
$ lsof -p 3 -R
13. Come trovare l’attività di rete per utente
Utilizzando una combinazione delle opzioni della riga di comando -i e -u, possiamo cercare tutte le connessioni di rete di un utente Linux. Questo può essere utile se ispezioni un sistema che potrebbe essere stato hackerato. In questo esempio, controlliamo tutta l’attività di rete dell’utente www-data:
$ lsof -a -i -u www-data
14. Elenca tutti i file mappati in memoria
Questo comando elenca tutti i file mappati in memoria su Linux.
$ lsof -d mem
15. Elenca tutti i file NFS
L’opzione -N ti mostra un elenco di tutti i file NFS (Network File System).
$lsof -NConclusione
Sebbene lsof offra una miriade di opzioni, quelle che abbiamo discusso qui dovrebbero essere sufficienti per iniziare. Una volta che hai finito di esercitarti con questi, vai alla pagina man dello strumento per saperne di più. Oh, e nel caso tu abbia dubbi e domande, lascia un commento qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.