Introdução
Bem-vindo ao mundo da visualização de arquivos no Linux. No módulo anterior, você aprendeu a organizar arquivos. Agora, é hora de abri-los e ler o conteúdo.
Neste laboratório, você aprenderá três maneiras fundamentais de examinar o conteúdo de um arquivo:
cat: lê o arquivo inteiro de uma vez. É ideal para anotações pequenas.head: lê apenas o início, ou o “cabeçalho”, do arquivo. É útil para verificar do que trata um arquivo.tail: lê apenas o final do arquivo. É ideal para verificar as atualizações mais recentes em um arquivo de log.
Você também aprenderá um recurso especial para acompanhar as atualizações de um arquivo em tempo real.
Este é um passo importante para desenvolver sua familiaridade com o Linux. Nos módulos anteriores, você aprendeu como os arquivos são organizados. Agora, começará a interagir com o conteúdo deles. Em sistemas reais, grande parte da administração consiste em saber ler o arquivo de texto certo da maneira correta.
Visualizar o arquivo inteiro (cat)
O comando cat é a forma padrão de dizer: “Mostre tudo o que está neste arquivo”.
Ele funciona melhor com arquivos pequenos. Se você usá-lo em um arquivo enorme, o texto passará pela tela rápido demais para ser lido.
O nome cat é uma abreviação de concatenate, porque o comando foi originalmente criado para unir e exibir o conteúdo de arquivos. Muitos iniciantes conhecem o comando primeiro como uma ferramenta de visualização, mas historicamente ele fazia parte de um estilo mais amplo de processamento de texto.
Preparamos um arquivo pequeno chamado sample.txt.
Primeiro, vá para a pasta do projeto:
cd ~/project
Agora, exiba o conteúdo do arquivo na tela:
cat sample.txt
Você verá todo o conteúdo impresso imediatamente:
Line 1: This is a sample file.
Line 2: It is used to demonstrate the cat command.
Line 3: The cat command displays the full content.
Line 4: This file is short enough to read easily.
Line 5: End of the sample file.
Para arquivos maiores, precisamos de ferramentas mais adequadas.
Visualizar o início do arquivo (head)
Às vezes, você só precisa verificar o título ou as primeiras linhas. É nesse momento que o head é útil. Ele mostra o “cabeçalho”, ou seja, o início de um arquivo.
Por padrão, head mostra as 10 primeiras linhas.
Esse padrão é útil porque o início de um arquivo geralmente contém informações de contexto: um cabeçalho, comentários, nomes de colunas ou os primeiros registros. Em outras palavras, head é uma ferramenta para obter uma amostra rápida do arquivo.
Vamos examinar /etc/passwd. Esse é um arquivo de sistema longo que contém informações sobre usuários.
head /etc/passwd
Você verá apenas as 10 primeiras linhas.
Personalizar a visualização
E se você quiser ver apenas as 5 primeiras linhas? Você pode informar ao head exatamente quantas linhas deseja usando a opção -n (número).
head -n 5 /etc/passwd
Essa é uma ótima maneira de obter uma “amostra” do arquivo sem precisar ler tudo.
Visualizar o final do arquivo (tail)
Se head mostra o início, tail mostra o final. O comando tail exibe as últimas linhas de um arquivo.
No Linux, os logs são gravados sequencialmente. A entrada mais “recente” está sempre no final. Portanto, se algo der errado agora, a mensagem de erro estará no final do arquivo.
Por isso, tail está tão associado ao trabalho de operações. Os logs geralmente crescem com a adição de novas linhas, então o final do arquivo é a parte mais provável de explicar um problema atual.
Vamos examinar o log do sistema /var/log/syslog.
tail /var/log/syslog
Você verá as 10 últimas entradas.
Assim como acontece com head, você pode limitar o número de linhas. Para ver os 5 últimos eventos:
tail -n 5 /var/log/syslog
Esse é um dos comandos mais usados por administradores de sistemas. Quando um servidor trava, a primeira coisa que eles geralmente digitam é tail.
Monitorar logs em tempo real (tail -f)
Arquivos estáticos podem ser entediantes; dados em tempo real são mais interessantes. O comando tail tem a opção -f, que significa follow.
Quando você usa -f, tail aguarda. Se um programa gravar uma nova linha nesse arquivo, tail a captura e a exibe imediatamente. É como acompanhar um letreiro de notícias ao vivo.
Este é um dos primeiros momentos em que o terminal começa a parecer interativo, em vez de estático. Em vez de ler um arquivo já concluído, você observa os eventos aparecerem à medida que um programa os produz.
Vamos testar isso usando dois terminais.
Terminal 1 (o monitor)
Comece a monitorar o arquivo de log:
tail -f ~/project/app.log
O cursor ficará aguardando. O terminal parecerá “travado”, mas, na verdade, ele está escutando.
Terminal 2 (o gerador de eventos)
Abra um segundo terminal — clique no botão + ao lado das abas. Vamos gravar uma mensagem no log:
echo "New log entry at $(date)" >> ~/project/app.log
Volte rapidamente para o Terminal 1. Você verá a mensagem aparecer.
Volte ao Terminal 2 e gere mais eventos:
echo "Another event happened" >> ~/project/app.log
echo "System is running smoothly" >> ~/project/app.log
Assim que você pressionar Enter no Terminal 2, o texto aparecerá no Terminal 1. É assim que os engenheiros monitoram servidores em tempo real.
Para finalizar, volte ao Terminal 1. Pressione Ctrl+C para interromper o acompanhamento e retornar ao prompt do shell.
Resumo
Parabéns! Agora você tem um conjunto básico de ferramentas para examinar arquivos no Linux.
cat: lê o arquivo inteiro. É adequado para arquivos pequenos.head: lê o início do arquivo. É útil para verificações rápidas.tail: lê o final do arquivo. É adequado para logs.tail -f: monitora um arquivo em tempo real.
Esses comandos permitem responder à pergunta: “O que há dentro deste arquivo?”



