linux.playground

trilha / arco 1 · onde eu estou

o que são head e tail e o que eles fazem

você deixou o tail -f rodando a noite inteira. de manhã, o servidor tinha escrito e a tela estava parada. o log tinha sido trocado, e o tail não foi junto.

em poucos minutos: o que o head e o tail fazem, como pegar um pedaço do meio, e a diferença de uma letra que decide se o tail acompanha o log. a pílula fica no final.

o vídeo desta aula sai em breve.
a aula já funciona: lê, treina no terminal e faz o quiz.

escolhe a camada

em uma frase

é olhar a primeira e a última página do livro sem abrir o resto. o -f é deixar o dedo marcando a última página enquanto outra pessoa escreve.

para quem está começando

head mostra o começo do arquivo, tail mostra o fim. sem número, são 10 linhas. o -n escolhe quantas.

a fonte da verdade

o tail vai direto ao fim do arquivo, sem ler o resto. o -f segue o descritor do arquivo aberto. o -F segue o nome: se o nome passa a apontar para um arquivo novo, ele reabre e continua.

o número por trás do nome

10: é o padrão do head e do tail. e o +28 em tail -n +28 é a linha onde começa, não quantas mostrar: da 28 até o fim.

agora você

terminal fechado

um linux de verdade, só seu, apagado quando você sai.

  1. mostra o começo do app.log.

    head app.log

  2. mostra só as 3 últimas linhas do app.log.

    tail -n 3 app.log

  3. mostra do app.log a partir da linha 28 até o fim.

    tail -n +28 app.log

  4. um pedaço do meio: o head -n 12 entrega as 12 primeiras linhas, e o tail -n 3 pega as 3 últimas delas. quais linhas aparecem?

  5. acompanha o app.log com -F, que segue o nome. ctrl+c para parar.

    tail -F app.log

cuidado: tail -f não acompanha o log que rotaciona

o arquivo ~/acompanhar.sh acompanha o app.log com tail -f. só que o log rotaciona: o arquivo velho vira app.log.1 e nasce um app.log novo. o -f fica no arquivo velho e para de mostrar o que o servidor escreve. passo 1: leia o script com cat ~/acompanhar.sh e repare na letra do tail. passo 2: conserte. abra com nano ~/acompanhar.sh. para salvar: ctrl+o e enter. para sair: ctrl+x. passo 3: teste. rode ~/acompanhar.sh, veja o tail esperando e saia com ctrl+c. depois clique em conferir.

a pílula

head -n 5 arquivoas 5 primeiras linhas
tail -n 5 arquivoas 5 últimas linhas
tail -F arquivosegue o fim e acompanha a rotação

-f segue o arquivo. -F segue o nome.

quiz

1. o que mostra tail -n +28 app.log?
2. como pegar as linhas 10 a 12 de um arquivo?
3. o log rotacionou e o tail -f parou de mostrar linhas. por quê?

próxima: o que é history e o que ele faz