trilha / arco 1 · onde eu estou
o que é less e o que ele faz
o log tem 40 mil linhas e o cat jogou todas na sua tela. a que importava passou voando. o que você queria era ler uma tela por vez, procurar e sair.
em poucos minutos: o que o less faz, as teclas que importam, e o erro de seguir um log que já foi trocado. a pílula fica no final.
a aula já funciona: lê, treina no terminal e faz o quiz.
escolhe a camada
em uma frase
é folhear um livro em vez de despejar as páginas no chão. você vai e volta, procura, e fecha quando quer.
para quem está começando
abre o arquivo e mostra uma tela por vez. espaço avança, b volta, / procura, q sai. ele não edita nada e não carrega o arquivo inteiro de uma vez.
a fonte da verdade
o less lê o arquivo sob demanda, só o pedaço que você pede. o F (follow) fica com o arquivo que ele abriu, o descritor, e não com o nome. se o nome passar a apontar para outro arquivo, ele não percebe.
o número por trás do nome
o inode é o número do arquivo no disco. o ls -i mostra. quando o log rotaciona, o nome app.log vai para um arquivo novo, com inode novo, e o antigo vira app.log.1 com o inode de sempre.
mac vs linux
no mac o less também existe, mas é uma versão mais antiga. o --follow-name pode não existir lá: confira com less --version.
agora você
um linux de verdade, só seu, apagado quando você sai.
abre o app.log no less. use a seta e o espaço para andar, e q para sair.
less app.logo app.log tem uma linha enorme. abre de novo com -S, que corta a linha em vez de quebrar. q para sair.
less -S app.logabre o app.log seguindo o fim, como um tail -f. ctrl+c para parar de seguir, q para sair.
less +F app.logo comando rotacionar faz o que o logrotate faz: renomeia o app.log para app.log.1 e cria um app.log novo, vazio. o less +F estava seguindo o app.log. depois do rotacionar, ele segue qual arquivo?
abre de novo mandando o F seguir o nome do arquivo, não o arquivo aberto. ctrl+c e q para sair.
less --follow-name +F app.log
cuidado: o F do less segue o arquivo, não o nome
o arquivo ~/vigiar.sh abre o app.log no less seguindo o fim, para você vigiar o servidor. só que o F do less segue o arquivo que abriu, não o nome. quando o log rotaciona, o script fica parado num arquivo velho e não mostra mais nada. passo 1: leia o script. rode cat ~/vigiar.sh e repare no que ele chama. passo 2: conserte. abra com nano ~/vigiar.sh. para salvar: ctrl+o e enter. para sair: ctrl+x. passo 3: teste. rode ~/vigiar.sh, veja o less esperando, e saia com ctrl+c e q.
a pílula
less arquivo | lê por telas: espaço, b, /, q |
less -S arquivo | corta a linha longa em vez de quebrar |
less --follow-name +F arquivo | segue o fim e acompanha a rotação |
F segue o arquivo aberto, não o nome.