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 lsofNo CentOS e Fedora:
$ dnf install lsof1. Como listar todos os arquivos abertos
Para listar todos os arquivos abertos, execute o comando lsof sem argumentos:
lsofPor exemplo, aqui está a captura de tela de uma parte da saída que o comando acima produziu em meu sistema:

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

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 4Por exemplo:

Da mesma forma, para IPv6, execute o seguinte comando:
lsof -i 6Por exemplo: lsof -i 6

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 apacheVocê 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’.

A opção -c é basicamente apenas um atalho para os dois comandos:
$ lsof | grep apache5. 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
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 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
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

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

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 :80Em 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 :httpsResultado:

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:25ou qual aplicativo usa a porta UDP 53:
$ lsof -i udp:5310. 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

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

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 -RPara obter informações do PPID para um PID específico, você pode executar o seguinte comando:
$ lsof -p [PID] -RPor exemplo:
$ lsof -p 3 -R
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
14. Listar todos os arquivos mapeados na memória
Este comando lista todos os arquivos mapeados na memória no Linux.
$ lsof -d mem
15. Listar todos os arquivos NFS
A opção -N mostra uma lista de todos os arquivos NFS (Sistema de Arquivos de Rede).
$lsof -NConclusã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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.