Comando Linux · 6 min read · Sep 16, 2025

Tutorial do Comando lsof do Linux para Iniciantes (15 Exemplos)

O comando Linux lsof mostra em sua saída informações sobre arquivos que estão abertos por um processo. Neste artigo, discutiremos a ferramenta lsof do Linux usando 15 exemplos fáceis de entender. Por favor, note que todos os exemplos mencionados neste tutorial foram testados no Ubuntu 22.04 LTS, mas também funcionarão em outras distribuições Linux como Debian, Fedora e CentOS.

Sobre o Comando lsof

Se você quiser ver rapidamente o nome dos arquivos que foram abertos por um processo específico (ou todos os processos), o comando lsof permite que você faça isso. Um arquivo aberto pode ser um arquivo regular ou um diretório, uma biblioteca, um arquivo especial ou dispositivo de bloco, um arquivo especial de caractere, uma referência de texto executável ou até mesmo um fluxo ou um arquivo de rede. Você também pode listar processos por número de porta. Se você não estiver logado como usuário root, pode ser necessário adicionar ‘sudo’ aos comandos.

Instalar o comando lsof do Linux

A maioria das distribuições Linux vem com o lsof pré-instalado. Se ele ainda não estiver instalado em seu sistema, use os seguintes comandos para instalar o lsof:

No Ubuntu e Debian:

$ sudo apt install lsof

No CentOS e Fedora:

$ dnf install lsof

1. Como listar todos os arquivos abertos

Para listar todos os arquivos abertos, execute o comando lsof sem argumentos:

lsof

Por exemplo, aqui está a captura de tela de uma parte da saída que o comando acima produziu em meu sistema:

Como listar todos os arquivos abertos no Linux

A primeira coluna representa o processo, enquanto a última coluna contém o nome do arquivo. Para detalhes sobre todas as colunas, consulte a página de manual do comando.

2. Como listar arquivos abertos por processos pertencentes a um usuário específico

A ferramenta também permite que você liste arquivos abertos por processos pertencentes a um usuário específico. Esse recurso pode ser acessado usando a opção de linha de comando -u.

lsof -u [nome-de-usuário]

Por exemplo:

lsof -u administrador

Como listar arquivos abertos por processos pertencentes a um usuário específico

3. Como listar arquivos com base em seu endereço de Internet

A ferramenta permite que você liste arquivos com base em seu endereço de Internet. Isso pode ser feito usando a opção de linha de comando -i. Por exemplo, se você quiser, pode ter arquivos IPv4 e IPv6 exibidos separadamente. Para IPv4, execute o seguinte comando:

lsof -i 4

Por exemplo:

Como listar arquivos com base em seu endereço de Internet

Da mesma forma, para IPv6, execute o seguinte comando:

lsof -i 6

Por exemplo: lsof -i 6

Ouvintes LSOF IPv6

4. Como listar todos os arquivos pelo nome do aplicativo

A opção de linha de comando -c permite que você obtenha todos os arquivos abertos pelo nome do programa.

$ lsof -c apache

Você não precisa usar o nome completo do programa, pois todos os programas que começam com a palavra ‘apache’ são mostrados. Portanto, no nosso caso, ele listará todos os processos do aplicativo ‘apache2’.

Obter arquivos abertos pelo nome do programa

A opção -c é basicamente apenas um atalho para os dois comandos:

$ lsof | grep apache

5. Como listar arquivos específicos de um processo

A ferramenta também permite que você exiba arquivos abertos com base nos números de identificação do processo (PID). Isso pode ser feito usando a opção de linha de comando -p.

lsof -p [PID]

Por exemplo:

lsof -p 856

Como listar arquivos específicos de um processo

Seguindo em frente, você também pode excluir PIDs específicos na saída adicionando o símbolo ^ antes deles. Para excluir um PID específico, você pode executar o seguinte comando:

lsof -p [^PID]

Por exemplo: lsof -p ^1

Como listar arquivos específicos de um processo - resultado

Como você pode ver na captura de tela acima, o processo com id 1 foi excluído da lista.

6. Como listar IDs de processos que abriram um arquivo específico

A ferramenta permite que você liste IDs de processos que abriram um arquivo específico. Isso pode ser feito usando a opção de linha de comando -t.

$ lsof -t [nome-do-arquivo]

Por exemplo:

$ lsof -t /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.9.0

Como listar IDs de processos que abriram um arquivo específico

7. Como listar todos os arquivos abertos em um diretório

Se você quiser, também pode fazer o lsof procurar todas as instâncias abertas de um diretório (incluindo todos os arquivos e diretórios que ele contém). Esse recurso pode ser acessado usando a opção de linha de comando +D.

$ lsof +D [caminho-do-diretório]

Por exemplo:

$ lsof +D /usr/lib/locale

Como limitar o lsof a um diretório específico

8. Como listar todos os arquivos de rede Internet e x.25 (HP-UX)

Isso é possível usando a opção de linha de comando -i que descrevemos anteriormente. Apenas que você deve usá-la sem argumentos.

$ lsof -i

Como listar todos os arquivos de rede Internet e x.25 (HP-UX)

9. Descubra qual programa está usando uma porta

A opção -i do comando permite que você encontre um processo ou aplicativo que escuta em um número de porta específico. No exemplo abaixo, verifiquei qual programa está usando a porta 80.

$ lsof -i :80

Em vez do número da porta, você pode usar o nome do serviço conforme listado no arquivo /etc/services. Exemplo para verificar qual aplicativo escuta na porta HTTPS (443):

$ lsof -i :https

Resultado:

Listar processos por porta ou serviço aberto

Os exemplos acima verificarão tanto TCP quanto UDP. Se você quiser verificar apenas TCP ou UDP, adicione a palavra ‘tcp’ ou ‘udp’. Por exemplo, qual aplicativo está usando a porta 25 TCP:

$ lsof -i tcp:25

ou qual aplicativo usa a porta UDP 53:

$ lsof -i udp:53

10. Como listar arquivos abertos com base no intervalo de portas

A utilidade também permite que você liste arquivos abertos com base em uma porta específica ou intervalo de portas. Por exemplo, para exibir arquivos abertos para a porta 1-1024, use o seguinte comando:

$ lsof -i :1-1024

Como listar arquivos abertos com base no intervalo de portas

11. Como listar arquivos abertos com base no tipo de conexão (TCP ou UDP)

A ferramenta permite que você liste arquivos com base no tipo de conexão. Por exemplo, para arquivos específicos de UDP, use o seguinte comando:

$ lsof -i udp

Como listar arquivos abertos com base no tipo de conexão (TCP ou UDP)

Da mesma forma, você pode fazer o lsof exibir arquivos específicos de TCP.

12. Como fazer o lsof listar o PID pai dos processos

Há também uma opção que força o lsof a listar o número de Identificação do Processo Pai (PPID) na saída. A opção em questão é -R.

$ lsof -R

Para obter informações do PPID para um PID específico, você pode executar o seguinte comando:

$ lsof -p [PID] -R

Por exemplo:

$ lsof -p 3 -R

Como fazer o lsof listar o PID pai dos processos

13. Como encontrar atividade de rede por usuário

Usando uma combinação das opções de linha de comando -i e -u, podemos pesquisar todas as conexões de rede de um usuário Linux. Isso pode ser útil se você inspecionar um sistema que pode ter sido invadido. Neste exemplo, verificamos toda a atividade de rede do usuário www-data:

$ lsof -a -i -u www-data

Encontrar atividade de rede por usuário no Linux

14. Listar todos os arquivos mapeados na memória

Este comando lista todos os arquivos mapeados na memória no Linux.

$ lsof -d mem

Encontrar arquivos mapeados na memória

15. Listar todos os arquivos NFS

A opção -N mostra uma lista de todos os arquivos NFS (Sistema de Arquivos de Rede).

$lsof -N

Conclusão

Embora o lsof ofereça uma infinidade de opções, as que discutimos aqui devem ser suficientes para você começar. Uma vez que você tenha terminado de praticar com esses, dirija-se à página de manual da ferramenta para aprender mais sobre ela. Ah, e caso você tenha alguma dúvida ou pergunta, deixe um comentário abaixo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.