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