GNU/Linux >> Tutoriales Linux >  >> Linux

Comando de cola de Linux con ejemplos


Como sabrá, el comando cat se usa para mostrar todo el contenido de un archivo a través de la 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 (de forma predeterminada) de un archivo usando la salida estándar.

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

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

Sintaxis del comando de cola

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

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

Sin ninguna 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 principal hace exactamente lo contrario del comando final.

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

1) Usar 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 un 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 de cola 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 ('==> archivo1.txt <==' y '==> archivo2.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 tail 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 a partir del byte number .

$ tail -c +300 file1.txt

5) Ver cambios en archivos

Utilice -f o --follow opción para monitorear los cambios de archivos. Esta opción se usa muy comúnmente para monitorear y solucionar problemas de archivos de registro.

El siguiente comando mostrará los últimos 10 cambios en la 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

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

Intentemos mostrar las últimas 3 líneas de una salida de cola usando -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

Usando el -fq opción puede controlar los cambios de varios archivos.

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

Con -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 -f opción el shell no sale solo, pero puede decirle al comando que termine después de que un proceso muere con el --pid opción.

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

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

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

$ tail -f file2.txt --retry

6) Usar cola con tubos

El comando tail se puede canalizar a/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 ver 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, al usar el comando sort, se ordena el contenido de 'continent.txt' 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.


Linux
  1. Ordenar comando en Linux con ejemplos

  2. Comando JQ en Linux con ejemplos

  3. Ejemplos de comandos de cola de Linux

  4. Ejemplos de comandos ln en Linux

  5. Ejemplos de comandos de archivo en Linux

Uso de Cat Command en Linux con ejemplos

Comando WC de Linux con ejemplos

Uso del comando Linux mv con ejemplos

Comando de montaje de Linux con ejemplos

Comando gawk de Linux con ejemplos

Comando make de Linux con ejemplos