10 exemplos de comando LSOF no Linux

10 exemplos de comando LSOF no Linux

Esta é a nossa série em andamento de comandos Linux e, neste artigo, vamos revisar LSOF comando com exemplos práticos. LSOF significado 'Lista de arquivos abertos' é usado para descobrir quais arquivos estão abertos por qual processo.

Como todos sabemos Linux/Unix considera tudo como um arquivo (tubos, tomadas, diretórios, dispositivos, etc). Um dos motivos para usar o LSOF O comando é quando um disco não pode ser desmontado como diz que os arquivos estão sendo usados. Com a ajuda deste comando, podemos identificar facilmente os arquivos que estão em uso.

10 Exemplos de comando Linux LSOF

1. Liste todos os arquivos abertos com comando lsof

No exemplo abaixo, ele mostrará uma longa lista de arquivos abertos alguns deles são extraídos para melhor compreensão, que exibe as colunas como Comando, PID, DO UTILIZADOR, Fd, TIPO, etc.

# LSOF Comando PID Usuário Tipo FD Tamanho do dispositivo/Nó OFF NODE INIT 1 ROOT cwd Dir 253,0 4096 2 / init 1 raiz rtd Dir 253,0 4096 2 / init 1 raiz TXT Reg 253,0 145180 147164 /sbin /init init 1 raiz Mem Reg 253,0 1889704 190149 /lib /libc-2.12.Então init 1 raiz 0U Chr 1,3 0t0 3764 /dev /nulo init 1 raiz 1U Chr 1,3 0t0 3764 /dev /nulo init 1 raiz 2u Chr 1,3 0t0 3764 /dev /nulo init 1 raiz 3r FIFO 0,8 0t0 8449 Pipe Init 1 Raiz 4w FIFO 0,8 0t0 8449 Pipe Init 1 Raiz 5r Dir 0,10 0 1 Inotify Init 1 Raiz 6r Dir 0,10 0 1 Inotify Init 1 Raiz 7U UNIX 0XC1513880 0T0 8450 SOCKET

Seções e seus valores são auto-explicativos. No entanto, vamos revisar Fd & type colunas com mais precisão.

Fd - significa um descritor de arquivo e pode ver alguns dos valores como:

  • cwd Diretório de trabalho atual
  • rtd diretório raiz
  • TXT Texto do programa (código e dados)
  • Mem arquivo mapeado de memória

Também em Fd números de colunas como 1U é o descritor de arquivo real e seguido por você,r,c do seu modo como:

  • r Para acesso de leitura.
  • c para acesso a gravar.
  • você Para leitura e gravação de acesso.

TIPO - de arquivos e sua identificação.

  • Dir - Diretório
  • Reg - Arquivo regular
  • Chr - Arquivo especial de caractere.
  • FIFO - Primeiro a entrar, primeiro a sair

2. Listar arquivos abertos específicos do usuário

O comando abaixo exibirá a lista de todos os arquivos abertos do usuário Tecmint.

# LSOF -u Tecmint Comando PID Usuário FD TIPO TIPO DE DISPOSITIVO /NODE DESLIGADO NODE 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 52336 188129 / 1838 Tecmint Mem Reg 253,0 19784 190237 /lib /libdl-2.12.Então SSHD 1838 Tecmint Mem Reg 253,0 122436 190247 /lib /libelinux.então.1 SSHD 1838 Tecmint Mem Reg 253,0 255968 190256 /libgsapi_krb5.então.2.2 SSHD 1838 Tecmint Mem Reg 253,0 874580 190255 /lib /libkrb5.então.3.3

3. Encontre processos em execução em porta específica

Para descobrir todos os processos Linux em execução de uma porta específica, basta usar o seguinte comando com opção -eu. O exemplo abaixo listará todos os processos em execução da porta 22.

# lsof -i tcp: 22 Comando PID Usuário Tipo FD Tamanho do dispositivo/Off NODE NODE SSHD 1471 ROOT 3U IPV4 12683 0T0 TCP *: SSH (ouvidos) SSHD 1471 ROOT 4U IPV6 12685 0T0 TCP *: SSH (ouça)

4. Liste apenas arquivos abertos IPv4 e IPv6

No exemplo abaixo mostra apenas IPv4 e IPv6 Arquivos de rede abertos com comandos separados.

# lsof -i 4 Comando PID Usuário FD TIPO TIPO DE DISPOSITIVO/NODE DESLIGADO NODE RPCBIND 1203 RPC 6U IPV4 11326 0T0 UDP *: SUNRPC RPCBind 1203 RPC 7U IPV4 11330 0T0 UDP *: 954 RPCBID 1203 RPC 8U IPV4333330 1241 AVAHI 13U IPV4 11579 0T0 UDP *: MDNS AVAHI-DAE 1241 AVAHI 14U IPV4 11580 0T0 UDP *: 58600 # lsof -i 6 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 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 (LISTEN) rpc.STATD 1277 RPCUSER 10U IPV6 11858 0T0 UDP *: 55800 RPC.STATD 1277 RPCUSER 11U IPV6 11862 0T0 TCP *: 56428 (ouça) Cupsd 1346 Raiz 6U IPv6 12112 0t0 TCP LocalHost: ipp (ouça)

5. Listar arquivos abertos da porta TCP Ranges 1-1024

Para listar todo o processo de execução de arquivos abertos de TCP A porta varia de 1-1024.

# LSOF -I TCP: 1-1024 Comando PID Usuário Tipo FD TIME DE DISPOSITIVO/OFF NODE NOME RPCBIND 1203 RPC 11U IPV6 11336 0T0 TCP *: SUNRPC (ouvidos) Cupsd 1346 raiz 7U IPv4 12113 0T0 TCP LocalHost: Ipp (ouça) SSHD 1471 SAV 4U 4U IPV6680 (Ouça) Mestre 1551 Raiz 13U IPv6 12898 0T0 TCP LocalHost: SMTP (ouça) SSHD 1834 ROOT 3R IPV4 15101 0T0 TCP 192.168.0.2: ssh-> 192.168.0.1: Conclave-CPP (estabelecido) SSHD 1838 Tecmint 3U IPv4 15101 0T0 TCP 192.168.0.2: ssh-> 192.168.0.1: Conclave-CPP (estabelecido) sshd 1871 raiz 3r ipv4 15842 0t0 tcp 192.168.0.2: ssh-> 192.168.0.1: Groove (estabelecido) httpd 1918 raiz 5u ipv6 15991 0t0 tcp *: http (escuta) httpd 1918 raiz 7u ipv6 15995 0t0 tcp *: https (auditora)

6. Exclua o usuário com o personagem '^'

Aqui, excluímos o raiz do utilizador. Você pode excluir um usuário em particular usando '^' com o comando como mostrado acima.

# lsof -i -u raiz COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 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 (LISTEN) rpcbind 1203 rpc 9U IPV6 11333 0T0 UDP *: SUNRPC RPCBIND 1203 RPC 10U IPV6 11335 0T0 UDP *: 954 RPCBind 1203 RPC 11U DA AVAHAHAHA131336 0T0 TCP *: SUNRPC (LISTE) 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 (ouça) RPC.STATD 1277 RPCUSER 10U IPV6 11858 0T0 UDP *: 55800 RPC.STATD 1277 RPCUSER 11U IPV6 11862 0T0 TCP *: 56428 (Ouça)

7. Descubra quem está procurando quais arquivos e comandos?

O exemplo abaixo mostra o usuário Tecmint está usando comandos como ping e /etc diretório.

# LSOF -I -U Tecmint Comando PID Usuário Tipo FD Tamanho do dispositivo /Nó OFF NODE BASH 1839 Tecmint CWD Dir 253,0 12288 15 /etc Ping 2525 Tecmint CWD Dir 253,0 12288 15 /etc

8. Liste todas as conexões de rede

O seguinte comando com opção '-eu' mostra a lista de todas as conexões de rede 'Ouvindo e estabelecido '.

# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 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 (LISTEN) 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 (Ouça) Cupsd 1346 Raiz 6U IPv6 12112 0T0 TCP LocalHost: IPP (ouvidos) CupSD 1346 Raiz 7U IPv4 017 017 RIATURATUM 31713017 ROOTS 317 ROOTS 317113113017 ROOTS 31111111 *: ssh (ouça) mestre 1551 raiz 12u ipv4 12896 0t0 localhost tcp: smtp (ouça) mestre 1551 raiz 13u ipv6 12898 0t0 TCP LocalHost: smtp (audição) sshd 1834 raiz 3r ipv4 15101 0t0 tcp 192.168.0.2: ssh-> 192.168.0.1: Conclave-CPP (estabelecido) httpd 1918 raiz 5u ipv6 15991 0t0 tcp *: http (auditora) httpd 1918 raiz 7u ipv6 15995 0t0 tcp *: https (audição) relógio-app 2362 narad 21u ipv4 22590tg.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 (estabelecido) Chrome 2377 Narad 80U IPv4 25866 0T0 TCP 192.168.0.2: 36405-> BOM03S01-in F15.1E100.NET: HTTP (estabelecido)

9. Pesquise por PID

O exemplo abaixo mostra apenas de quem PID é 1 [[Um].

# LSOF -P 1 Comando PID Usuário Tipo FD Tamanho do dispositivo /Nó OFF NODE INIT 1 ROOT CWD Dir 253,0 4096 2 /init 1 raiz Rtd Dir 253,0 4096 2 /init 1 Raiz TXT Reg 253,0 145180 147164 /SBIN /INIT 1 raiz Mem Reg 253,0 1889704 190149 /LIB /LIBC-2.12.Então init 1 Raiz Mem Reg 253,0 142472 189970 /lib /ld-2.12.então

10. Mate toda a atividade de um usuário específico

Às vezes, você pode ter que matar todos os processos para um usuário específico. O comando abaixo matará todos os processos do Tecmint do utilizador.

# mata -9 'lsof -t -u tecmint'

Observação: Aqui, não é possível dar exemplos de todas as opções disponíveis, este guia é apenas para mostrar como LSOF O comando pode ser usado. Você pode consultar a página do homem de LSOF comando para saber mais sobre isso. Compartilhe -o se você achar que este artigo é útil através da nossa caixa de comentários abaixo.