# Como listar arquivos e analisar seu sistema com o lsof do Linux

A ferramenta do Linux, lsof, permite o monitoramento rápido do sistema e a detecção de problemas. Ela fornece uma lista de arquivos abertos, permitindo que você a otimize para suas necessidades específicas usando filtros e opções.

## O que é o Linux lsof?

Para **monitorar e analisar** seu [sistema Linux](https://www.ionos.com/digitalguide/server/know-how/linux-the-cost-effective-alternative-to-windows/), o lsof é uma ferramenta fácil de usar. O programa, desenvolvido e publicado em 1994 por Vic Abell, é de código aberto e faz parte da instalação padrão de várias [distribuições do Linux](https://www.ionos.com/digitalguide/server/configuration/linux-distributions/), como [Debian](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/debian-sistema-operacional-universal/) ou [Ubuntu](https://www.ionos.com/digitalguide/server/know-how/ubuntu-the-linux-system-for-everyone/). lsof significa “List open files” (Listar arquivos abertos). O programa fornece informações sobre os tipos de arquivos que estão abertos no momento ou que foram abertos anteriormente por processos em execução. Isso inclui arquivos comuns, diretórios, soquetes, unidades e portas. Ele apresenta uma lista clara e organizada dos diferentes processos e arquivos associados.

## Como o Linux lsof funciona?

Se o lsof não estiver presente em seu sistema, basta instalá-lo com este [comando do Linux](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/comandos-linux-para-usar-no-terminal/):

```bash
$ apt-get install lsof
```

Uma vez instalado, o Linux lsof permite que você obtenha uma visão geral abrangente dos processos ativos em seu computador. Isso é possível porque, em sistemas do tipo Unix, tudo é tratado como um arquivo. Como resultado, você pode usar o lsof para determinar quais processos podem acessar um arquivo específico.

## Como é a sintaxe do Isof?

Deseja usar o lsof? Esta é a sintaxe básica do comando correspondente:

```bash
$ lsof [Option] <Format>
```

Embora seja possível usar o lsof sem opções ou filtros, isso não é aconselhável. A saída resultante seria extensa e difícil de interpretar.

## Quais opções e filtros estão disponíveis no lsof do Linux?

o lsof compreende várias opções de saída. As mais importantes são:

- **-F**: Essa opção garante que todos os resultados sejam gerados em uma única coluna.
- **-l**: essa opção permite exibir o ID do usuário em vez do nome.
- **-n**: Ao usar essa opção, os endereços IP correspondentes são gerados em vez de nomes de host.
- **-P**: é assim que os números das portas são exibidos em vez dos nomes dos serviços.
- **-r \[x\]**: essa opção garante que a saída seja reexecutada a cada x segundos.
- **-t**: Com essa opção, apenas uma lista de PIDs (Process Identifier) é gerada.

Além disso, o lsof conhece várias opções de filtro. As mais comuns são:

- **-a**: Essa é uma operação AND lógica em vez da operação OR; é usada por padrão.
- **-c \[Process\]**: Descubra qual arquivo é usado por qual processo.
- **+D /file/user**: Esse filtro fornece informações sobre um diretório específico e seu usuário.
- **/dev/drive**: Use esse filtro para verificar uma unidade específica.
- **-i \[TCP/UDP ou endereço IP ou porta alternativos\]**: Fornece informações sobre quais processos usam quais serviços de rede.
- **+L1**: Use esse filtro para obter informações sobre arquivos excluídos.
- **+p PID**: Fornece informações sobre os arquivos usados por qual PID.
- **/path/file**: Fornece informações sobre um arquivo específico.
- **-u \[User\]**: Descubra qual usuário está usando quais arquivos.

## Para que o Linux lsof está sendo usado?

Para concluir, mostraremos como e para que o lsof está sendo usado por meio de alguns exemplos.

```bash
$ lsof -u root
```

Isso permite que você visualize todos os arquivos que o root mantém abertos no momento.

```bash
$ lsof /mount/path
```

Frequentemente, o lsof é usado para identificar programas que impedem a execução do comando mount. Essa tarefa não poderá ser realizada se os arquivos relacionados ainda estiverem abertos.

```bash
$ lsof -n -i
```

Esse comando permite que você liste todas as portas abertas.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/linux-lsof/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/linux-lsof/) for AI/LLM consumption.