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.