A fer­ra­menta do Linux, lsof, permite o mo­ni­to­ra­mento rápido do sistema e a detecção de problemas. Ela fornece uma lista de arquivos abertos, per­mi­tindo que você a otimize para suas ne­ces­si­da­des es­pe­cí­fi­cas usando filtros e opções.

O que é o Linux lsof?

Para monitorar e analisar seu sistema Linux, o lsof é uma fer­ra­menta fácil de usar. O programa, de­sen­vol­vido e publicado em 1994 por Vic Abell, é de código aberto e faz parte da ins­ta­la­ção padrão de várias dis­tri­bui­ções do Linux, como Debian ou Ubuntu. lsof significa “List open files” (Listar arquivos abertos). O programa fornece in­for­ma­ções sobre os tipos de arquivos que estão abertos no momento ou que foram abertos an­te­ri­or­mente por processos em execução. Isso inclui arquivos comuns, di­re­tó­rios, soquetes, unidades e portas. Ele apresenta uma lista clara e or­ga­ni­zada dos di­fe­ren­tes processos e arquivos as­so­ci­a­dos.

Como o Linux lsof funciona?

Se o lsof não estiver presente em seu sistema, basta instalá-lo com este comando do Linux:

$ apt-get install lsof
bash

Uma vez instalado, o Linux lsof permite que você obtenha uma visão geral abran­gente dos processos ativos em seu com­pu­ta­dor. Isso é possível porque, em sistemas do tipo Unix, tudo é tratado como um arquivo. Como resultado, você pode usar o lsof para de­ter­mi­nar quais processos podem acessar um arquivo es­pe­cí­fico.

Como é a sintaxe do Isof?

Deseja usar o lsof? Esta é a sintaxe básica do comando cor­res­pon­dente:

$ lsof [Option] <Format>
bash

Embora seja possível usar o lsof sem opções ou filtros, isso não é acon­se­lhá­vel. A saída re­sul­tante seria extensa e difícil de in­ter­pre­tar.

Quais opções e filtros estão dis­po­ní­veis no lsof do Linux?

o lsof com­pre­ende várias opções de saída. As mais im­por­tan­tes são:

  • -F: Essa opção garante que todos os re­sul­ta­dos 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 cor­res­pon­den­tes 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 re­e­xe­cu­tada a cada x segundos.
  • -t: Com essa opção, apenas uma lista de PIDs (Process Iden­ti­fier) é 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 in­for­ma­ções sobre um diretório es­pe­cí­fico e seu usuário.
  • /dev/drive: Use esse filtro para verificar uma unidade es­pe­cí­fica.
  • -i [TCP/UDP ou endereço IP ou porta al­ter­na­ti­vos]: Fornece in­for­ma­ções sobre quais processos usam quais serviços de rede.
  • +L1: Use esse filtro para obter in­for­ma­ções sobre arquivos excluídos.
  • +p PID: Fornece in­for­ma­ções sobre os arquivos usados por qual PID.
  • /path/file: Fornece in­for­ma­ções sobre um arquivo es­pe­cí­fico.
  • -u [User]: Descubra qual usuário está usando quais arquivos.

Para que o Linux lsof está sendo usado?

Para concluir, mos­tra­re­mos como e para que o lsof está sendo usado por meio de alguns exemplos.

$ lsof -u root
bash

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

$ lsof /mount/path
bash

Fre­quen­te­mente, o lsof é usado para iden­ti­fi­car programas que impedem a execução do comando mount. Essa tarefa não poderá ser realizada se os arquivos re­la­ci­o­na­dos ainda estiverem abertos.

$ lsof -n -i
bash

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

Ir para o menu principal