Comandi Linux

Come usare il comando LSOF in Linux

Come usare il comando LSOF in Linux
In ambiente Linux, tutto è considerato come un file e gestito in cartelle o directory. Quindi, mentre si lavora sul sistema operativo Linux, potrebbero esserci un numero di cartelle e file che vengono utilizzati; alcuni di essi sarebbero visibili agli utenti e altri potrebbero essere nascosti. Quindi, la gestione dei file è molto importante nelle distribuzioni Linux/Unix.

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:

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:22

Se 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-1024

Visualizza 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 4

Per IPV6, usa il seguente comando:

# lsof -i 6

Visualizza 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.

# lsof -i -u^kbuzdar

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.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...