Como ver o fin dun ficheiro en Linux co comando Tail

Existen dous comandos moi útiles en Linux que permiten ver parte dun arquivo. O primeiro chámase cabeza e por defecto, mostra as primeiras 10 liñas nun ficheiro. O segundo é o comando tail que por defecto permite ver as últimas 10 liñas nun ficheiro.

Por que desexa usar calquera destes comandos? Por que non usar o comando cat para ver todo o ficheiro ou usar un editor como o nano ?

Imaxina que o ficheiro que estás lendo contén 300 mil liñas nel.

Imaxina tamén que o ficheiro consome moita memoria en disco.

Un uso común para o comando principal é asegurarse de que o ficheiro que desexa ver é realmente o arquivo correcto. Xeralmente pode dicir se está mirando o ficheiro correcto só ao ver as primeiras liñas. Pode entón optar por usar un editor como nano para editar o ficheiro.

O comando de cola é útil para ver as últimas liñas de ficheiros e é moi bo cando quere ver o que está a suceder nun ficheiro de rexistro realizado no cartafol / var / log .

Esta guía mostraralle como usar o comando tail incluíndo todos os interruptores dispoñibles.

Exemplo de uso do comando Tail

Como se mencionou anteriormente, o comando tail mostra por defecto as últimas 10 liñas dun ficheiro.

A sintaxe para o comando tail é a seguinte:

cola

Por exemplo para ver o rexistro de inicio para o seu sistema pode usar o seguinte comando:

sudo tail /var/log/boot.log

A saída sería algo así:

* Comezando habilitar os dispositivos de bloqueo cifrados en tempo de arranque restantes [OK]
* Comezando gardar o rexistro de udev e as regras de actualización [OK]
* Deixando de gardar o rexistro de udev e as regras de actualización [OK]
* speaker-dispatcher desactivado; editar / etc / default / speech-dispatcher
* As adicións de VirtualBox deshabilítanse, non nunha máquina virtual
sanado discapacitado; editar / etc / default / saned
* Restaurando o estado de resolver ... [OK]
* Parar a compatibilidade de nivel de execución do sistema V [OK]
* Iniciar MDM Display Manager [OK]
* Parar Enviar un evento para indicar que o plymouth está activado [OK]

Como especificar o número de liñas a mostrar

Quizais queiras ver máis das últimas 10 liñas do ficheiro. Pode especificar o número de liñas que quere ver usando o seguinte comando:

sudo tail -n20

O exemplo anterior mostraría as últimas 20 liñas do ficheiro.

Alternativamente pode usar o botón -n para especificar tamén o punto de partida do ficheiro. Quizais saiba que as primeiras 30 fileiras dun ficheiro son comentarios e só quere ver os datos dentro dun ficheiro. Neste caso, usarías o seguinte comando:

sudo tail -n + 20

O comando de cola úsase a miúdo xunto co comando máis para que poida ler o ficheiro dunha páxina á vez.

Por exemplo:

sudo tail -n + 20 | máis

O comando anterior envía as últimas 20 liñas do nome do ficheiro e colócase como a entrada ao comando máis:

Tamén pode usar o comando de cola para mostrar un número determinado de bytes en vez de liñas:

sudo tail -c20

Unha vez máis pode usar o mesmo interruptor para comezar a mostrarse a partir dun determinado byte como segue:

sudo tail -c + 20

Como controlar un ficheiro de rexistro

Hai moitas secuencias de comandos e programas que non saen á pantalla senón que se engaden a un ficheiro de rexistro mentres se están a executar.

Neste caso, pode querer controlar o ficheiro de rexistro cando cambia.

Podes usar o seguinte comando de cola para comprobar como o rexistro cambia cada tantos segundos:

sudo tail -F -s20

Tamén podes usar a cola para seguir monitoreando un rexistro ata que un proceso faga o seguinte:

sudo tail -F --pid = 1234

Para atopar a ID do proceso para un proceso pode usar o seguinte comando:

ps -ef | grep

Por exemplo, imaxine que está editando un ficheiro usando nano. Podes atopar a ID de proceso para nano empregando o seguinte comando:

ps -ef | grep nano

A saída do comando forneceralle unha ID de proceso. Imaxina que o ID do proceso é 1234.

Agora podes executar cola contra o ficheiro que está editando nano usando o seguinte comando:

sudo tail -F --pid = 1234

Cada vez que o ficheiro está gardado dentro de nano o comando tail recollerá as novas liñas na parte inferior. O comando só detén cando o editor nano está pechado.

Como reintentar o comando Tail

Se recibe un erro ao tentar executar o comando de cola porque é inaccesible por algún motivo, entón pode usar o parámetro de reintento para continuar a voltar ata que o ficheiro estea dispoñible.

sudo tail --retry -F

Isto só funciona realmente en conxunto co botón-F xa que necesitas estar seguindo o ficheiro para que queres probar de novo.

Resumo

Esta guía mostra os usos máis comúns do comando tail.

Para obter máis información sobre o comando de cola pode usar o seguinte comando:

cola do home

Notarás que eu incluíra sudo na maioría dos comandos. Isto só é necesario cando non teña permisos como usuario normal para ver o ficheiro e precisa de permisos elevados.