Nel sistema Linux, il comando più popolare è LSOF, abbreviato in List Of Open File. Questo comando mostra le informazioni sui file aperti sul tuo sistema. In altre parole semplici, possiamo spiegare che il comando LSOF fornisce informazioni sui file che vengono aperti da quale processo. Elenca semplicemente i file aperti sulla console di output. Elenca directory, librerie condivise, file speciali di blocco, pipe regolari, socket Internet, file speciali di caratteri, socket di dominio Unix e altro ancora. Il comando Lsof può essere utilizzato in combinazione con il comando grep per eseguire funzionalità più avanzate per l'elenco e la ricerca.
Questo articolo ti fornirà una comprensione di base del comando LSOF. Inoltre, esplorerai come utilizzare questo comando nell'ambiente Linux.
Prerequisiti
Devi accedere come utente root sul tuo sistema o devi avere i privilegi del comando sudo.
Abbiamo eseguito tutte le attività su Ubuntu 20.04, che viene menzionato di seguito:
Elenca i file aperti usando il comando LSOF
Puoi elencare tutti i file aperti con una descrizione completa usando il comando LSOF.
# lsof
Ad esempio, qui abbiamo elencato alcuni file aperti per una migliore comprensione. Nello screenshot qui sotto, vedrai le informazioni sotto forma di colonne come Command, PID, USER, FD, TYPE, ecc.
Spieghiamo ogni termine uno per uno. Nella prima colonna, vedrai Command è usato per il nome del comando. PID mostra l'ID del processo. Sotto la colonna denominata USER, vedrai il tipo o il nome del ruolo utente. I valori sopra visualizzati nell'immagine sono autoesplicativi. Tuttavia, esamineremo le colonne TYPE e FD.
FD viene utilizzato per un descrittore di file che ha alcuni valori come:
- cwd - Rappresenta la directory di lavoro corrente.
- rtd - Mostra la directory principale
- TXT - Utilizzato per codice programma e dati di testo
- meme - Utilizzato per file mappati in memoria
- 1u - descrittore di file u per la modalità di lettura e scrittura, w per la modalità di scrittura e r utilizzato per la modalità di lettura.
La colonna TYPE contiene tutti i file e le identificazioni utilizzando parole chiave. DIR significa directory. REG rappresenta il file normale. CHR è usato per file speciali di caratteri. FIFO significa First In First Out.
Elenca i file specifici dell'utente usando il comando LSOF
Ad esempio, se vogliamo elencare tutti i file aperti del nome utente kbuzdar, allora, usando il seguente comando, puoi farlo:
$ sudo lsof -u kbuzdar
Processi di ricerca che lavorano su una porta specifica
Puoi cercare quei file o processare quelli in esecuzione su un numero di porta specifico. A tal fine, è sufficiente utilizzare il seguente comando con l'opzione -i e inserire un numero di porta specifico.
# lsof -i TCP:22Se desideri elencare tutti i file aperti che eseguono processi della porta TCP che varia tra 1-1024, esegui il comando indicato di seguito:
# lsof -i TCP:1-1024Visualizza i file aperti Solo per IPv4 e IPv6
Ad esempio, vuoi mostrare solo i file di rete IPv4 e IPv6. Esegui il seguente comando per aprire i file per IPV4 nella finestra del terminale:
# lsof -i 4Per IPV6, usa il seguente comando:
# lsof -i 6Visualizza i file escludendo utenti specifici
Se si desidera escludere un utente root, è possibile escludere un utente root utilizzando il carattere '^' con il comando mostrato nello screenshot seguente:
# lsof -i -u^root
Puoi escludere un utente specifico usando il suo nome.
Visualizza tutte le connessioni di rete usando il comando lsof
Digita il seguente comando lsof con l'opzione -i per visualizzare l'elenco di tutte le connessioni di rete:
# lsof -i
Processo di ricerca per PID
Nell'esempio seguente vengono mostrati solo quei file o processi il cui PID è 2 [due].
# lsof -p 2
Uccidi particolari attività dell'utente
A volte potresti aver bisogno di processi utente specifici. In questo caso, eseguendo il seguente comando, puoi uccidere tutti i processi dell'utente 'kbuzdar'.
# kill -9 'lsof -t -u kbuzdar'
Conclusione
In questo articolo abbiamo visto come usare il comando lsof sul sistema Linux. Abbiamo implementato diversi esempi per una migliore comprensione del comando lsof. Non è possibile approfondire tutte le opzioni disponibili, ma puoi esplorare la pagina man del comando lsof per saperne di più su questo comando. Condividi con noi il tuo feedback tramite commenti.