Como usar o comando lsof no linux

Como usar o comando lsof no linux
No ambiente Linux, tudo é considerado como um arquivo e gerenciado em pastas ou diretórios. Portanto, enquanto trabalha no sistema operacional Linux, pode haver um número de pastas e arquivos que estão sendo utilizados; Alguns deles seriam visíveis para os usuários, e outros podem estar ocultos. Portanto, o gerenciamento de arquivos é muito importante nas distribuições Linux/Unix.

No sistema Linux, o comando mais popular é LSOF, abreviado para a lista de arquivo aberto. Este comando mostra as informações sobre os arquivos abertos em seu sistema. Em outras palavras simples, podemos explicar que o comando LSOF fornece informações sobre os arquivos que são abertos por qual processo. Ele simplesmente lista os arquivos abertos no console de saída. Ele lista o diretório, a biblioteca compartilhada, o arquivo especial de bloqueio, o tubo regular, um soquete da Internet, o arquivo especial de caracteres, o soquete do Domain Unix e mais outros. O comando LSOF pode ser usado para combinar com o comando Grep para fazer recursos mais avançados para listagem e pesquisa.

Este artigo lhe dará uma compreensão básica do comando lsof. Além disso, você explorará como usar este comando no ambiente Linux.

Pré-requisitos

Você deve estar login como usuário root em seu sistema ou deve ter privilégios de comando sudo.

Nós realizamos toda a tarefa no Ubuntu 20.04 Sistema, que é mencionado abaixo:

Liste arquivos abertos usando o comando lsof

Você pode listar todos os arquivos abertos com uma descrição completa usando o comando LSOF.

# LSOF


Por exemplo, aqui listamos alguns arquivos abertos para o seu melhor entendimento. Na captura de tela abaixo, você verá as informações na forma de colunas como comando, pid, usuário, fd, tipo, etc.

Vamos explicar cada termo um por um. Na primeira coluna, você verá que o comando é usado para o nome do comando. PID mostra o ID do processo. De acordo com a coluna chamada Usuário, você verá o tipo de função do usuário ou nome. Os valores acima dos exibidos na imagem são auto-explicativos. No entanto, analisaremos as colunas do tipo e FD.

O FD é usado para um descritor de arquivo que possui alguns valores como:

  • cwd - Representa o diretório de trabalho atual.
  • rtd - Mostra o diretório raiz
  • TXT - Usado para o código do programa e dados de texto
  • Mem - Usado para arquivo mapeado de memória
  • 1U - Descritor de arquivo U para modo de leitura e gravação, W para modo de gravação e r usado para o modo de leitura.

A coluna Type contém todos os arquivos e identificações usando palavras -chave. Dir significa diretório. Reg representa o arquivo regular. CHR é usado para arquivos especiais de caracteres. FIFO significa primeiro na primeira saída.

Liste arquivos específicos do usuário usando o comando LSOF

Por exemplo, se quisermos listar todos os arquivos abertos de nome de usuário kbuzdar, usando o seguinte comando, você pode fazer isso:

$ sudo lsof -u kbuzdar

Processos de pesquisa trabalhando em uma porta específica

Você pode pesquisar esses arquivos ou processos aqueles que estão em execução em um número de porta específico. Para esse fim, você só precisa usar o seguinte comando com -i opção e inserir um número de porta específico.

# lsof -i tcp: 22

Se você deseja listar todos os arquivos abertos em execução de processos de porta TCP que variam entre 1-1024, execute o comando abaixo mencionado:

# LSOF -I TCP: 1-1024

Exibir arquivos abertos apenas para IPv4 e IPv6

Por exemplo, você deseja mostrar apenas arquivos de rede IPv4 e IPv6. Execute o seguinte comando para abrir arquivos para IPv4 na janela do terminal:

# lsof -i 4

Para IPv6, use o seguinte comando:

# lsof -i 6

Exibir arquivos excluindo usuários específicos

Se você deseja excluir um usuário root, poderá excluir um usuário root usando o caractere '^' com o comando que é mostrado na captura de tela abaixo:

# lsof -i -u raiz


Você pode excluir um usuário específico usando o nome deles.

# lsof -i -u^kbuzdar

Exibir todas as conexões de rede usando o comando LSOF

Digite o seguinte comando LSOF com opção -i para exibir a lista de todas as conexões de rede:

# lsof -i

Processo de pesquisa por PID

No exemplo seguinte, mostra apenas os arquivos ou processos cujo PID é 2 [dois].

# LSOF -P 2

Mate atividades específicas do usuário

Às vezes você pode precisar de processos de usuário específicos. Nesse caso, ao executar o seguinte comando, você pode matar todos os processos do usuário 'kbuzdar'.

# kill -9 'lsof -t -u kbuzdar'

Conclusão

Neste artigo, vimos como usar o comando LSOF no sistema Linux. Implementamos exemplos diferentes para uma melhor compreensão do comando LSOF. Não é possível elaborar todas as opções disponíveis, mas você pode explorar a página do homem do comando lsof para obter mais sobre este comando. Compartilhe conosco seus comentários por meio de comentários.