Como utilizar o terminal Linux para visualizar logs de forma fácil (utilizando less)
Tags: linux, less, brasil, help
Published: 2020-08-23 14:59:26

Quem nunca teve aqueles problemas em localizar um erro naquele arquivo de log gigantesco? 
Sim, isso provavelmente já aconteceu com você. Bem, o que venho trazer aqui é uma solução que utilizo no meu dia-a-dia no trabalho. 

Diferente da grande maioria que vá ler esse post, eu sou um usuário Windows.   
Aí, você pode se perguntar: 

> "Por que um **windows user** está me dando dicas de como usar o terminal Linux?"

A resposta, na verdade, é bem fácil: **NECESSIDADE**! 

Brincadeiras a parte, a minha necessidade foi a minha grande amiga para criação desse post. 

Diariamente, preciso analisar Logs de aplicações que estão em servidores Linux. No início, eu utilizava um programa chamado WinSCP para se conectar em máquinas linux e visualizar esses logs. Porém, esse programa me obrigava a abrir o arquivo de log por inteiro e isso demorava bastante. Pois, cada um desses logs diários tinham em média entre 40mb a 60mb de tamanho. 

Foi aí, então, que conheci um comando mágico. O famoso (ou nem tanto) "less". 

## Como o less funciona? 

A princípio, o comando less não carrega o arquivo inteiro. Ele faz com que o Linux abra apenas um "pedaço" do seu arquivo para ser exibido no terminal. Fazendo com que ele seja aberto de forma extremamente rápida. (Comparado aos editores que necessitam abrir todo o arquivo)

## Como usar o less?

Vamos começar com o mais básico, que é abrindo um arquivo: 
```
less nomedoarquivo
```

![](https://jhofernandes.dev/images/opening_file.png)
Viu, não é tranquilo abrir um arquivo usando less? Então, continuando...


## Navegando pelo arquivo:

Ao carregar o arquivo com o less, ele carregará a visão do topo do arquivo no seu terminal. Você pode utilizar as setas do seu teclado para fazer as movimentações padrões (cima, baixo, esquerda, direita). 

Também, é possível utilizar o comando: **Shift + G** para chegar no final do arquivo. 

## Buscando textos no arquivo

O less possui algumas buscas que são extremamente úteis e rápidas para aqueles arquivos de logs gigantescos. Quais são elas e como utilizá-las:

- "**/**" -> Busca o próximo match da palavra de cima para baixo.

- "**?**" -> Busca o próximo match da palavra de baixo para cima. (Muito útil se você começar lendo o arquivo e apertar **Shift + G** em seguida e querer pegar os logs mais recentes)


Quando o arquivo estiver carregado, basta apenas apertar o botão de "/" ou "?" para começar a sua busca. Depois, basta utilizar a busca desta forma: 
```
"/meutexto" (Buscando de cima para baixo)
```
```
"?meutexto" (De baixo para cima)
```

![](https://jhofernandes.dev/images/finding_element.png)

Caso o primeiro match não seja o que você queira, basta apenas colocar o caractere **"/"** ou **"?"** que foi utilizado na busca e apertar Enter. O less irá procurar o próximo match. Caso não tenha mais nenhum, ele irá informar a mensagem na tela:

![](https://jhofernandes.dev/images/pattern_not_found.png)

## Dica de ouro

Também é possível ter uma preview de **matchs** de texto em um arquivo antes da abertura do mesmo pelo próprio less. Nesse caso, vamos utilizar o comando grep.

```
less seuarquivo | grep "texto buscado"
```
Utilizando o less desta forma, é possível verificar se existe, em alguma linha desse arquivo, a palavra que você deseja encontrar. Sem a necessidade de utilizar o próprio less para abrir o pedaço do arquivo. Evitando a abertura de arquivos indesejáveis (os quais você, provavelmente, não iria encontrar o que está buscando).

##### Agradecimentos

Pessoal, esse foi meu primeiro post da vida. Então, caso tenha ficado algum erro ou algum ponto de difícil entendimento. Por favor, podem comentar. Irei consertá-los!

Segue algumas informações/comandos mais específicos do less - **[linuxize](https://linuxize.com/post/less-command-in-linux/#:~:text=Share%3A,and%20backward%20through%20the%20file.)**