10 esempi di comandi lsof in Linux

instagram story viewer

Questa è la nostra serie in corso di comandi Linux e in questo articolo esamineremo lsof comando con esempi pratici. lsof Significato "Elenco file aperti" viene utilizzato per scoprire quali file sono aperti da quale processo. Come sappiamo tutti Linux/Unix considera tutto come un file (tubi, prese, directory, dispositivi eccetera). Uno dei motivi per usare lsof comando è quando un disco non può essere smontato poiché dice che i file vengono utilizzati. Con l'aiuto di questo comando possiamo facilmente identificare i file che sono in uso.

esempi di comandi lsof
10 esempi di comandi lsof di Linux

1. Elenca tutti i file aperti con il comando lsof

Nell'esempio seguente, mostrerà un lungo elenco di file aperti, alcuni dei quali sono estratti per una migliore comprensione delle colonne come Comando, PID, UTENTE, FD, GENERE eccetera.

# lsof COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. init 1 radice cwdDIR253,0 4096 2 / init 1 radicertdDIR253,0 4096 2 / init 1 radicetestoREG 253,0 145180 147164 /sbin/init. init 1 radice memeREG 253,0 1889704 190149 /lib/libc-2.12.so. init 1 radice 0u CHR 1,3 0t0 3764 /dev/null. init 1 radice 1uCHR 1,3 0t0 3764 /dev/null. init 1 radice 2u CHR 1,3 0t0 3764 /dev/null. init 1 radice 3r FIFO tubo 0,8 0t0 8449. init 1 radice 4w FIFO tubo 0,8 0t0 8449. init 1 radice 5r DIR 0,10 0 1 innotifica. init 1 radice 6r DIR 0,10 0 1 innotifica. init 1 root 7u unix 0xc1513880 0t0 8450 socket

Le sezioni e i relativi valori sono autoesplicativi. Tuttavia, esamineremo FD & TIPO colonne più precisamente.

FD – sta per File descriptor e può vedere alcuni dei valori come:

  1. cwd directory di lavoro corrente
  2. rtd root directory
  3. testo testo del programma (codice e dati)
  4. meme file mappato in memoria

Anche in FD numeri di colonna come 1u è il descrittore di file effettivo e seguito da u, r, w della sua modalità come:

  1. R per l'accesso in lettura.
  2. w per l'accesso in scrittura.
  3. tu per l'accesso in lettura e scrittura.

GENERE – di file e la sua identificazione.

  1. DIR – Elenco
  2. REG – File normale
  3. CHR – File speciale di caratteri.
  4. FIFO - Il primo che entra è il primo ad uscire

2. Elenca file aperti specifici dell'utente

Il comando seguente visualizzerà l'elenco di tutti i file aperti dell'utente tecnica.

# lsof -u tecmintCOMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. sshd 1838 tecmint cwd DIR 253,0 4096 2 / sshd 1838 tecmint rtd DIR 253,0 4096 2 / sshd 1838 tecmint txt REG 253,0 532336 188129 /usr/sbin/sshd. sshd 1838 tecmint mem REG 253,0 19784 190237 /lib/libdl-2.12.so. sshd 1838 tecmint mem REG 253,0 122436 190247 /lib/libselinux.so.1. sshd 1838 tecmint mem REG 253,0 255968 190256 /lib/libgssapi_krb5.so.2.2. sshd 1838 tecmint mem REG 253,0 874580 190255 /lib/libkrb5.so.3.3

3. Trova i processi in esecuzione su una porta specifica

Per scoprire tutto il processo in esecuzione di una porta specifica, usa il seguente comando con opzione -io. L'esempio seguente elencherà tutti i processi in esecuzione della porta 22.

# lsof -i TCP: 22COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. sshd 1471 root 3u IPv4 12683 0t0 TCP *:ssh (ASCOLTA) sshd 1471 root 4u IPv6 12685 0t0 TCP *:ssh (ASCOLTA)

4. Elenca solo i file aperti IPv4 e IPv6

Nell'esempio seguente viene mostrato solo IPv4 e IPv6 i file di rete si aprono con comandi separati.

# lsof -i 4COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc. rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954. rpcbind 1203 rpc 8u IPv4 11331 0t0 TCP *:sunrpc (ASCOLTA) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns. avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600# lsof -i 6COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. rpcbind 1203 rpc 9u IPv6 11333 0t0 UDP *:sunrpc. rpcbind 1203 rpc 10u IPv6 11335 0t0 UDP *:954. rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (ASCOLTA) rpc.statd 1277 rpcuser 10u IPv6 11858 0t0 UDP *:55800. rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (ASCOLTA) cupsd 1346 root 6u IPv6 12112 0t0 TCP localhost: ipp (ASCOLTA)

5. Elenca i file aperti degli intervalli di porte TCP 1-1024

Per elencare tutto il processo in esecuzione dei file aperti di TCP Porta varia da 1-1024.

# lsof -i TCP: 1-1024COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (ASCOLTA) cupsd 1346 root 7u IPv4 12113 0t0 TCP localhost: ipp (ASCOLTA) sshd 1471 root 4u IPv6 12685 0t0 TCP *:ssh (ASCOLTA) master 1551 root 13u IPv6 12898 0t0 TCP localhost: smtp (ASCOLTA) sshd 1834 root 3r IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (STABILITO) sshd 1838 tecmint 3u IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (STABILITO) sshd 1871 root 3r IPv4 15842 0t0 TCP 192.168.0.2:ssh->192.168.0.1:groove (STABILITO) httpd 1918 radice 5u IPv6 15991 0t0 TCP *:http (ASCOLTA) httpd 1918 radice 7u IPv6 15995 0t0 TCP *:https (ASCOLTA)

6. Escludi utente con carattere "^"

Ecco, abbiamo escluso radice utente. Puoi escludere un particolare utente usando ‘^’ con il comando come mostrato sopra.

# lsof -i -u^rootCOMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc. rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954. rpcbind 1203 rpc 8u IPv4 11331 0t0 TCP *:sunrpc (ASCOLTA) rpcbind 1203 rpc 9u IPv6 11333 0t0 UDP *:sunrpc. rpcbind 1203 rpc 10u IPv6 11335 0t0 UDP *:954. rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (ASCOLTA) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns. avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600. rpc.statd 1277 rpcuser 5r IPv4 11836 0t0 UDP *:soap-beep. rpc.statd 1277 rpcuser 8u IPv4 11850 0t0 UDP *:55146. rpc.statd 1277 rpcuser 9u IPv4 11854 0t0 TCP *:32981 (ASCOLTA) rpc.statd 1277 rpcuser 10u IPv6 11858 0t0 UDP *:55800. rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (ASCOLTA)

7. Scopri chi sta cercando quali file e comandi?

L'esempio sotto mostra l'utente tecnica sta usando il comando come ping e /etc directory.

# lsof -i -u tecmint COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. bash 1839 tecmint cwd DIR 253,0 12288 15 /ecc. ping 2525 tecmint cwd DIR 253,0 12288 15 /etc

8. Elenca tutte le connessioni di rete

Il seguente comando con opzione '-io' mostra l'elenco di tutte le connessioni di rete 'ASCOLTO E STABILITO'.

# lsof -iCOMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. rpcbind 1203 rpc 6u IPv4 11326 0t0 UDP *:sunrpc. rpcbind 1203 rpc 7u IPv4 11330 0t0 UDP *:954. rpcbind 1203 rpc 11u IPv6 11336 0t0 TCP *:sunrpc (ASCOLTA) avahi-dae 1241 avahi 13u IPv4 11579 0t0 UDP *:mdns. avahi-dae 1241 avahi 14u IPv4 11580 0t0 UDP *:58600. rpc.statd 1277 rpcuser 11u IPv6 11862 0t0 TCP *:56428 (ASCOLTA) cupsd 1346 root 6u IPv6 12112 0t0 TCP localhost: ipp (ASCOLTA) cupsd 1346 root 7u IPv4 12113 0t0 TCP localhost: ipp (ASCOLTA) sshd 1471 root 3u IPv4 12683 0t0 TCP *:ssh (ASCOLTA) master 1551 root 12u IPv4 12896 0t0 TCP localhost: smtp (ASCOLTA) master 1551 root 13u IPv6 12898 0t0 TCP localhost: smtp (ASCOLTA) sshd 1834 root 3r IPv4 15101 0t0 TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (STABILITO) httpd 1918 radice 5u IPv6 15991 0t0 TCP *:http (ASCOLTA) httpd 1918 radice 7u IPv6 15995 0t0 TCP *:https (ASCOLTA) orologio-app 2362 narad 21u IPv4 22591 0t0 TCP 192.168.0.2:45284->www.gov.com: http (CLOSE_WAIT) chrome 2377 narad 61u IPv4 25862 0t0 TCP 192.168.0.2:33358->maa03s04-in-f3.1e100.net: http (STABILITO) chrome 2377 narad 80u IPv4 25866 0t0 TCP 192.168.0.2:36405->bom03s01-in-f15.1e100.net: http (STABILITO)

9. Ricerca per PID

L'esempio seguente mostra solo di chi PID è 1 [Uno].

# lsof -p 1COMANDO PID UTENTE FD TIPO DIMENSIONE DISPOSITIVO/OFF NOME NODO. init 1 root cwd DIR 253,0 4096 2 / init 1 radice rtd DIR 253,0 4096 2 / init 1 root txt REG 253,0 145180 147164 /sbin/init. init 1 root mem REG 253,0 1889704 190149 /lib/libc-2.12.so. init 1 root mem REG 253,0 142472 189970 /lib/ld-2.12.so

10. Uccidi tutte le attività di un utente specifico

A volte potresti dover terminare tutti i processi per un utente specifico. Sotto il comando ucciderà tutti i processi di tecnica utente.

# kill -9 `lsof -t -u tecmint`

Nota: Qui, non è possibile dare un esempio di tutte le opzioni disponibili, questa guida serve solo a mostrare come lsof comando può essere utilizzato. Puoi fare riferimento alla pagina man di lsof comando per saperne di più. Per favore condividilo se ritieni che questo articolo sia utile attraverso la nostra casella dei commenti qui sotto.

Teachs.ru