LINUX

Comando de cola de Linux con ejemplos

comando de cola de linux
Como sabrá, el comando cat se usa para mostrar todo el contenido de un archivo a través de una entrada estándar. Pero en algunos casos, tenemos que imprimir la última parte del archivo. En Linux y Unix, el comando tail se usa para mostrar las últimas 10 líneas (por defecto) de un archivo usando una salida estándar.

El comando Tail se usa comúnmente para observar y analizar archivos, ya que puede mostrar líneas recién agregadas. Esta función se utiliza principalmente para ver registros u otros archivos que se actualizan de vez en cuando.

En este tutorial, aprendemos cómo usar el comando tail en Linux con algunos ejemplos prácticos. También veremos las opciones de cola en detalle.

Sintaxis del comando Tail

La siguiente línea muestra la sintaxis del comando tail:

tail [OPTION]... [FILE]...

Sin ningún OPTION o FILE, el comando tail acepta la entrada de STDIN. Entonces, en STDIN, si ingresa más de 10 líneas, solo se mostrarán las últimas 10 líneas donde el comando head hace exactamente lo contrario del comando tail.

El comando Tail puede aceptar uno o más nombres de archivos de entrada (FILE).

1) Usando el comando tail para ver las últimas diez líneas de un archivo

Sin ninguna opción, comando de cola con visualización de las últimas 10 líneas del archivo de entrada.

En los siguientes ejemplos, el comando tail muestra las 10 líneas inferiores del archivo ‘file1.txt’:

$ tail file1.txt
memtest86+_multiboot.bin
System.map-2.6.38-12-generic
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic

2) Muestra el número específico (limitado) de líneas

Si desea mostrar solo un número específico de líneas, debe usar la opción -n.

Podemos utilizar tres opciones diferentes para limitar el número de líneas.

Los siguientes tres comandos (-n100 , -n 100, -100) muestra las últimas 100 líneas del archivo ‘/var/log/apache2/error.log’:

$ tail -n100 /var/log/apache2/error.log

o

$ tail -100 /var/log/apache2/error.log

o

$ tail -n 100 /var/log/apache2/error.log

3) Cómo mostrar varios archivos

El comando Tail puede mostrarse desde varios archivos cuando se proporciona como argumento. Luego genera las últimas 10 líneas de cada archivo y con un encabezado que muestra el nombre del archivo.

$ tail file1.txt file2.txt
==> file1.txt <== 
memtest86+_multiboot.bin 
System.map-2.6.38-12-generic 
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic
==> file2.txt <==
smi.conf
snmp
sound
speech-dispatcher
ssh
ssl
sudoers
sudoers.d
sysctl.conf
tr command

Si no desea imprimir los encabezados (‘==> file1.txt <==' y '==> file2.txt <=='), puede usar el modo silencioso con -q, --quiet o --silent opción. Esta opción se puede utilizar para combinar archivos.

$ tail -q file1.txt file2.txt

Si siempre desea imprimir encabezados, incluso cuando solo se proporciona un nombre de archivo como argumento, puede usar -v o --verbose opción

$ tail -v file1.txt

4) Mostrar los últimos bytes específicos de un archivo

Para mostrar los últimos bytes específicos del archivo, use -c o --bytes opción.

El siguiente comando de cola imprime los últimos 30 bytes del archivo file2.txt:

$ tail -c 30 file2.txt
sudoers.d
sysctl.conf
sysctl.d

Alternativamente, puede usar -c +number para generar todo lo que comienza en el byte number.

$ tail -c +300 file1.txt

5) Ver cambios en el archivo

Usar -f o --follow opción para monitorear cambios de archivos. Esta opción se usa con mucha frecuencia para monitorear y solucionar problemas de archivos de registro.

El siguiente comando mostrará los últimos 10 cambios en el terminal para el archivo ‘/var/log/Xorg.1.log’.

$ tail -f /var/log/Xorg.1.log
[ 86.774] (**) Option "xkb_layout" "us"
[ 86.774] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[ 86.774] (II) Toshiba input device: (II) is tagged by udev as: Keyboard
[ 86.774] (II) Toshiba input device: (II) device is a keyboard
[ 88.453] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 88.453] (II) Vision stereo.
[ 102.094] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

los -f La opción siempre esperará los datos adjuntos y no se cerrará por sí sola. Tienes que presionar Ctrl+C salir.

Intentemos mostrar las últimas 3 líneas de una salida de cola usando el -n y f opciones.

$ tail -n3 -f /var/log/Xorg.1.log
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

Utilizando la -fq opción puede supervisar los cambios de varios archivos.

$ tail -fq /var/log/Xorg.1.log file2.txt

Con el -s o --sleep-interval (el valor predeterminado es 1 segundo), puede ajustar el intervalo de suspensión entre las iteraciones.

$ tail -f -s 4 /var/log/Xorg.1.log

Como se mencionó anteriormente con el -f opción, el shell no sale por sí mismo, pero puede decirle al comando que termine después de que un proceso muera con la --pid opción.

El comando saldrá tan pronto como el proceso con PID 4309 muera.

$ tail -f file2.txt --pid=4309

Con el --retry opción, puede seguir intentando abrir un archivo incluso cuando es o se vuelve inaccesible. Una vez que esté accesible, se mostrará la salida.

$ tail -f file2.txt --retry

6) Usando cola con tubos

El comando tail se puede canalizar hacia / desde otros comandos para producir resultados optimizados.

El siguiente ejemplo usa el comando ls para listar todos los archivos y directorios y listar todos los directorios en la parte superior.

$ ls -l /etc | tail | sort
drwxr-xr-x.  2 root root   4096 Mar  3 08:15 yum.repos.d
drwxr-xr-x.  2 root root   4096 Mar  3 08:17 yum
drwxr-xr-x.  2 root root   4096 Sep 25 14:54 xinetd.d
drwxr-xr-x.  4 root root   4096 Sep 25 14:54 xdg
drwxr-xr-x.  6 root root   4096 Sep 25 14:54 X11
lrwxrwxrwx.  1 root root     12 Dec 19 15:43 yum.conf -> dnf/dnf.conf
-rw-r--r--.  1 root root   1204 Nov 11 19:08 virc
-rw-r--r--.  1 root root   1982 Nov 11 19:08 vimrc
-rw-r--r--.  1 root root     28 Sep 25 14:51 vconsole.conf
-rw-r--r--.  1 root root    642 Dec  9  2016 xattr.conf

Si desea estar atento a las solicitudes de un tipo de archivo en particular, use el siguiente comando:

$ tail -f /var/log/apache/myvirtualhost.log | grep .jpg

En el siguiente ejemplo, el comando de cola de salida se canaliza y, con el comando de clasificación, se obtiene el contenido de ‘continente.txt’ ordenado en orden alfabético.

$ tail -n 5 continent.txt | sort
Africa
Antarctica
Asia
Australia
Europe

Conclusión

Ahora hemos visto cómo usar el comando tail y sus opciones para mostrar las líneas inferiores de un archivo de texto. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar