Visualizando arquivos: cat, less, more, head, tail
1. Introdução à visualização de arquivos no terminal
Trabalhar com arquivos de texto é uma das tarefas mais comuns no terminal Linux/Unix. Seja para verificar logs, conferir configurações ou analisar dados, dominar os comandos de visualização é essencial para qualquer profissional de TI.
Cada comando atende a necessidades específicas: enquanto cat exibe o conteúdo completo de uma vez, less e more permitem paginação interativa. Já head e tail focam em partes específicas do arquivo — início e fim, respectivamente.
A escolha do comando certo depende do tamanho do arquivo, da necessidade de navegação e do que se deseja extrair dele.
2. cat – Concatenação e exibição simples
cat (concatenate) é o comando mais básico para exibir arquivos. Sua sintaxe é simples:
cat [opções] [arquivo]
Exemplo básico:
cat /etc/hostname
Opções úteis:
| Opção | Descrição |
|---|---|
-n |
Numera todas as linhas |
-b |
Numera apenas linhas não vazias |
-s |
Suprime linhas em branco repetidas |
Exemplos práticos:
# Numerar linhas
cat -n arquivo.txt
# Suprimir linhas em branco repetidas
cat -s arquivo.txt
# Concatenar dois arquivos
cat parte1.txt parte2.txt > completo.txt
# Criar arquivo rapidamente com redirecionamento
cat > notas.txt
Comprar leite
Ligar para João
^D
Cuidado: Para arquivos grandes, cat pode poluir o terminal. Use paginação quando necessário.
3. less – Navegação interativa e eficiente
less é o paginador mais poderoso e moderno. Ele carrega apenas parte do arquivo na memória, sendo ideal para arquivos grandes.
less arquivo.txt
Comandos de navegação:
| Tecla | Ação |
|---|---|
Espaço |
Avança uma página |
Enter |
Avança uma linha |
b |
Volta uma página |
g |
Vai para o início |
G |
Vai para o fim |
/ |
Busca para frente |
? |
Busca para trás |
n |
Próximo resultado da busca |
N |
Resultado anterior |
q |
Sair |
Exemplo com busca:
less /var/log/syslog
# Dentro do less, digite /error e pressione Enter
# Use n para navegar entre as ocorrências
Vantagens: busca com destaque, carregamento parcial, suporte a múltiplos arquivos (less arquivo1.txt arquivo2.txt).
4. more – Paginação simples e legado
more é o paginador original do Unix, mais limitado que less. Seu uso é simples:
more arquivo.txt
Navegação:
| Tecla | Ação |
|---|---|
Espaço |
Avança uma página |
Enter |
Avança uma linha |
q |
Sair |
Limitações: não permite voltar páginas (apenas avançar), busca limitada.
# Exibir progresso percentual
more /etc/services
# Mostra: --More--(57%)
Quando usar: sistemas muito mínimos (containers, sistemas embarcados) onde less não está disponível.
5. head – Visualizando o início dos arquivos
head exibe as primeiras linhas de um arquivo. Por padrão, mostra 10 linhas.
head [opções] arquivo
Opções principais:
| Opção | Descrição |
|---|---|
-n N |
Exibe N linhas |
-c N |
Exibe N bytes |
-q |
Suprime cabeçalhos ao exibir múltiplos arquivos |
Exemplos:
# Exibir 5 primeiras linhas
head -n 5 /etc/passwd
# Exibir primeiros 100 bytes
head -c 100 dados.bin
# Cabeçalho de arquivo CSV
head -n 1 vendas.csv
Aplicação prática: verificar rapidamente a estrutura de logs ou arquivos de dados sem abri-los completamente.
6. tail – Visualizando o final e monitorando mudanças
tail exibe as últimas linhas de um arquivo (padrão: 10 linhas).
tail [opções] arquivo
Opções principais:
| Opção | Descrição |
|---|---|
-n N |
Exibe N últimas linhas |
-c N |
Exibe N últimos bytes |
-f |
Monitora o arquivo em tempo real (follow) |
-F |
Segue o arquivo mesmo se for rotacionado |
Casos de uso essenciais:
# Últimas 20 linhas do log
tail -n 20 /var/log/syslog
# Monitorar log de acesso em tempo real
tail -f /var/log/apache2/access.log
# Monitorar múltiplos logs
tail -f /var/log/*.log
# Últimos 200 bytes
tail -c 200 /etc/hostname
Dica: Para parar o monitoramento com -f, pressione Ctrl+C.
7. Combinações práticas e dicas avançadas
A verdadeira potência está em combinar esses comandos com pipes (|) e outros utilitários.
Exemplos práticos:
# Primeiras 5 linhas de um arquivo grande
head -n 5 arquivo_grande.txt
# Últimas linhas de um log e filtrar por erro
tail -f app.log | grep "ERROR"
# Ver linhas 50 a 60 de um arquivo
head -n 60 arquivo.txt | tail -n 11
# Monitorar log e salvar erros em arquivo
tail -f sistema.log | grep "CRITICAL" >> erros.txt
# Contar ocorrências com tail e wc
tail -n 1000 access.log | grep "404" | wc -l
Comparação rápida:
| Situação | Comando recomendado |
|---|---|
| Arquivo pequeno (< 100 linhas) | cat |
| Arquivo grande com navegação | less |
| Ver início do arquivo | head |
| Ver fim do arquivo | tail |
| Monitorar atualizações | tail -f |
Sistema mínimo sem less |
more |
Performance: Evite cat desnecessário com redirecionamento:
# Ineficiente
cat arquivo.txt | grep "termo"
# Eficiente
grep "termo" arquivo.txt
8. Resumo e boas práticas
Tabela comparativa:
| Comando | Função principal | Ideal para |
|---|---|---|
cat |
Exibir conteúdo completo | Arquivos pequenos, concatenação |
less |
Paginação interativa | Arquivos grandes, busca avançada |
more |
Paginação simples | Sistemas legados/mínimos |
head |
Início do arquivo | Pré-visualização, cabeçalhos |
tail |
Final do arquivo | Logs, monitoramento em tempo real |
Boas práticas:
1. Use less para arquivos com mais de 50 linhas
2. Prefira tail -f para logs em vez de abrir e fechar repetidamente
3. Combine com grep, sort, wc para análises rápidas
4. Evite cat em pipelines quando possível (redirecionamento direto é mais eficiente)
5. Use -F em vez de -f para logs que podem ser rotacionados
Dominar esses comandos é o primeiro passo para se tornar eficiente no terminal. Pratique combinando-os com outros utilitários para criar pipelines poderosos de processamento de texto.
Referências
- GNU Coreutils: cat invocation — Documentação oficial do GNU Coreutils sobre o comando cat.
- GNU Coreutils: head invocation — Documentação oficial sobre o comando head.
- GNU Coreutils: tail invocation — Documentação oficial sobre o comando tail, incluindo a opção -f.
- Linux man page: less — Página de manual completa do comando less com todas as opções de navegação.
- Linux man page: more — Página de manual do comando more, paginador legado do Unix.
- Linuxize: How to Use tail Command in Linux — Tutorial prático sobre o comando tail com exemplos de monitoramento de logs.
- HowtoForge: Linux cat Command Tutorial — Guia completo sobre o comando cat com exemplos de uso e opções.