Como Usar a cauda de Comando no Linux

  • Dave McKay

    @TheGurkha

  • 28 de janeiro de 2020, 8:00 EDT
Fatmawati Ela Zaenuri/

O Linux tail comando exibe os dados do final de um arquivo. Ele pode até mesmo Exibir atualizações que são adicionadas a um arquivo em tempo real. Mostramos-te como usá-lo.o systemd matou a cauda?

o comando tail mostra-lhe os dados do fim de um ficheiro., Normalmente, novos dados são adicionados ao fim de um arquivo, então o comando tail é uma maneira rápida e fácil de ver as adições mais recentes a um arquivo. Ele também pode monitorar um arquivo e exibir cada entrada de texto novo para esse arquivo como eles ocorrem. Isso faz com que seja uma grande ferramenta para monitorar arquivos de log.

muitas distribuições Linux modernas adotaram o systemd system and service manager. Este é o primeiro processo executado, tem o processo ID 1, e é o pai de todos os outros processos. Este papel costumava ser tratado pelo antigo sistema init.,

anúncio

juntamente com esta mudança veio um novo formato para arquivos de log do sistema. Não mais criados em texto simples, sob systemd eles são registrados em um formato binário. Para ler esses arquivos de log, você deve usar o utilitário journactl. O comando tail funciona com formatos de texto simples. Ele não lê arquivos binários. Então isso significa que o comando tail é uma solução em busca de um problema? Ainda tem alguma coisa para oferecer?,

Há mais no comando tail do que mostrar atualizações em tempo real. E por essa matéria, ainda há uma abundância de arquivos de log que não são gerados pelo sistema e ainda são criados como arquivos de texto simples. Por exemplo, os arquivos de log gerados pelas aplicações não mudaram seu formato.

usando tail

passa o nome de um ficheiro para tail e irá mostrar-lhe as últimas dez linhas desse ficheiro. Os arquivos de exemplo que estamos usando contêm listas de palavras ordenadas., Cada linha é numerada, por isso deve ser fácil seguir os exemplos e ver o efeito que as várias opções têm.

tail word-list.txt

Para ver um número diferente de linhas, use o -n (número de linhas) opção:

tail -n 15 word-list.txt
Propaganda

na Verdade, você pode dispensar o “-n”, e é só usar um hífen “-” e o número. Certifique-se de que não há espaços entre eles. Tecnicamente, este é um formulário de comando obsoleto, mas ainda está no man page, e ainda funciona.,

tail -12 word-list.txt

Usando a cauda Com Vários Arquivos

Você pode ter tail trabalhar com vários arquivos de uma vez. Basta passar os nomes dos ficheiros na linha de comandos:

tail -n 4 list-1.txt list-2.txt list-3.txt

é mostrado um pequeno cabeçalho para cada ficheiro, para que saiba a que ficheiro pertencem as linhas.

mostrando linhas desde o início de um ficheiro

o + (Contagem desde o início) modificador faz tail mostrar linhas desde o início de um ficheiro, começando com um número de linha específico., Se o seu arquivo é muito longo e você escolher uma linha perto do início do arquivo, você vai obter um monte de saída enviado para a janela de terminal. Se for esse o caso, faz sentido canalizar a saída de tail para less.

tail +440 list-1.txt
publicitário

pode page através do texto de forma controlada.,

Porque há de acontecer para ser 20,445 linhas neste arquivo, o comando é o equivalente a usar a “-6” opção:

tail +20440 list-1.txt

a Utilização de Bytes Com cauda

Você pode dizer tail usar deslocamentos em bytes, em vez de linhas utilizando -c (bytes) opção. Isto poderia ser útil se você tiver um arquivo de texto que foi formatado em registros de tamanho regular. Note que um personagem newline conta como um byte., Este comando irá exibir o último 93 bytes no arquivo:

tail -c 93 list-2.txt

Você pode combinar o -c (bytes) opção com o + (a contar a partir do início do arquivo) modificador, e especificar um deslocamento em bytes contado a partir do início do arquivo:

tail -c +351053 list-e.txt

Tubulação Em cauda

Antes, nós canalizada a saída a partir de tail dentro de less . Também podemos canalizar a saída de outros comandos para tail.,

Propaganda

Para identificar os cinco ficheiros ou pastas com o mais antigo horas de modificação, use o -t (classificação por data de modificação) opção com ls , e canalizar a saída em tail.

ls -tl | tail -5

The head command lists lines of text from the start of a file. Podemos combinar isso comtail para extrair uma seção do arquivo. Aqui, estamos usando o comando head para extrair as primeiras 200 linhas de um arquivo., Isto está a ser canalizado para tail, que está a extrair as últimas dez linhas. Isto dá-nos linhas 191 até à linha 200. Isto é, as últimas dez linhas das primeiras 200 linhas:

head -n 200 list-1.txt | tail -10

Este comando lista os cinco processos mais famintos de memória.

ps aux | sort -nk +4 | tail -5

Let’s break that down.

o comando ps mostra informações sobre os processos em execução. As opções utilizadas são:

  • a: listar todos os processos, não apenas para o usuário atual.
  • u: mostra uma saída orientada para o utilizador.,
  • x: listar todos os processos, incluindo aqueles que não estão em execução dentro de um TTY.

publicidade

o sort o comando ordena o resultado de ps . As opções que estamos usando com sort são:

  • n: Ordenar numericamente.
  • k +4: Ordenar na quarta coluna.

o comando tail -5 mostra os últimos cinco processos a partir do resultado ordenado. Estes são os cinco processos mais famintos de memória.,

usar o tail para rastrear arquivos em tempo Real

rastrear novas entradas de texto chegando em um arquivo-geralmente um arquivo de log-é fácil com tail. Passa o nome do ficheiro na linha de comandos e usa a opção -f (follow).

tail -f geek-1.log

À medida que cada nova entrada de registo é adicionada ao ficheiro de registo, a cauda actualiza a sua visualização na janela do terminal.

publicidade

você pode refinar a saída para incluir apenas linhas de particular relevância ou interesse., Aqui, estamos usando grep para mostrar apenas as linhas que contêm a palavra “média”:

tail -f geek-1.log | grep average

a seguir as alterações em dois ou mais arquivos, passar os nomes de arquivos na linha de comando:

tail -f -n 5 geek-1.log geek-2.log

Cada entrada é marcada com um cabeçalho que mostra qual arquivo o texto veio.

a visualização é atualizada cada vez que uma nova entrada chega em um arquivo seguido. Para especificar o período de actualização, use a opção -s (período de latência)., Isto diz a tail para esperar um número de segundos, cinco neste exemplo, entre verificações de arquivos.

tail -f -s 5 geek-1.log
anúncio

reconhecidamente, você não pode dizer olhando para uma imagem, mas as atualizações do arquivo estão acontecendo uma vez a cada dois segundos. Os novos itens de arquivos estão sendo exibidos na janela do terminal uma vez a cada cinco segundos.

Quando estiver a seguir as adições de texto a mais de um ficheiro, poderá suprimir os cabeçalhos que indicam de que ficheiro de registo o texto vem., Use a opção-q (quiet) para fazer isto:

tail -f -q geek-1.log geek-2.log

a saída dos ficheiros é mostrada numa mistura de texto sem costura. Não há nenhuma indicação de que Arquivo de registro cada entrada veio.

tail Still Has Value

Although access to the system log files is now provided by journalctl, tail still has plenty to offer. Isto é especialmente verdadeiro quando é usado em conjunto com outros comandos, por piping para dentro ou para fora de tail.,

publicidade

systemd pode ter mudado a paisagem, mas ainda há um lugar para utilitários tradicionais que se conformam com a filosofia Unix de fazer uma coisa e fazer bem.Dave McKay usou pela primeira vez computadores quando a fita de papel perfurado estava em voga, e ele tem estado programando desde então. Depois de mais de 30 anos na indústria de TI, ele é agora um jornalista de tecnologia em tempo integral., Durante sua carreira, ele trabalhou como programador freelance, gerente de uma equipe internacional de desenvolvimento de software, um gerente de projeto de serviços de TI, e, mais recentemente, como um oficial de proteção de dados. Dave é um evangelista Linux e defensor de código aberto.Read Full Bio ”

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *