Cómo usar el comando tail en Linux

Ventana de terminal que muestra el indicador Bash en una computadora portátil Linux en estilo Ubuntu.

Linux tail el comando muestra datos desde el final de un archivo. Incluso puede mostrar las actualizaciones agregadas a un archivo en tiempo real. Te mostramos cómo usarlo.

¿Matar la cola?

Un tail el comando le muestra datos al final de un archivo. Los datos nuevos generalmente se agregan al final de un archivo para que tail La línea de comandos es una forma rápida y sencilla de ver las últimas incorporaciones a un archivo. Puede monitorear un archivo y mostrar todas las nuevas entradas de texto en ese archivo a medida que aparecen. Esta es una gran herramienta para monitorear archivos de registro.

Muchas distribuciones modernas de Linux lo han adoptado systemd gerente de sistemas y servicios. Este es el primer proceso que se realiza, sí. Reconocimiento de procesos 1, y es el padre de todos los demás procesos. Este papel fue antes se preocupa por los ancianos init sistema.

Con este cambio llegó un nuevo formato para los archivos de registro del sistema. Ya no se crea en texto sin formato, a continuación systemd grabado en formato binario. para leer estos archivos de registro, debe usarlos un journactl utilidades. Un tail el comando funciona con formatos de texto sin formato. Los binarios no se leen. Entonces eso significa tail ¿Solicita una solución a un problema? ¿Tiene algo más que ofrecer?

Hay mas para tail comando o mostrar actualizaciones en tiempo real. Por cierto, todavía hay muchos archivos de registro que no son generados por el sistema y aún se crean como archivos de texto sin formato. Por ejemplo, generar archivos de registro Solicitud no cambiaron su formato.

Usando la cola

Enviar nombre de archivo a tail y le mostrará las últimas diez líneas de ese archivo. Las listas de palabras se ordenan en los archivos de muestra que usamos. Cada línea tiene números, por lo que debería ser fácil seguir los ejemplos y ver qué efecto tienen las diferentes opciones.

tail word-list.txt

Para ver un número diferente de líneas, use -n (número de líneas) opción:

tail -n 15 word-list.txt

De hecho, simplemente puede soltar la «-n» y usar el guión «-» y el número. Asegúrese de que no haya espacios entre ellos. Técnico, este es un formulario de pedido desactualizado, pero aun esta adentro página de manualy todavía funciona.

tail -12 word-list.txt

Usar la cola para varios archivos

Usted puede ser tail trabajar con varios archivos a la vez. Simplemente ingrese los nombres de los archivos en la línea de comando:

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

Se muestra un pequeño encabezado para cada archivo, para que sepa a qué archivo pertenecen las líneas.

Mostrar líneas al comienzo del archivo

Un + el moderador (contando desde el principio) tail mostrar líneas al principio de un archivo, comenzando con un número de línea determinado. Si el archivo es muy largo y selecciona una línea cerca del principio del archivo, obtendrá muchos resultados que se enviarán a la ventana del terminal. Si este es el caso, tiene sentido enviar la salida desde tail sa less.

tail +440 list-1.txt

Usted puede desplazarse por el texto de forma controlada.

Debido a que este archivo contiene 20,445 líneas, este comando representa la opción «-6»:

tail +20440 list-1.txt

Usa una medida con cola

Puedes decir tail use el desplazamiento en una medida en lugar de usar líneas -c opción (bytes). Esto puede resultar útil si tiene un archivo de texto formateado en registros de tamaño completo. Tenga en cuenta que se incluye un carácter de nueva línea como medida. Este comando mostrará los últimos 93 bytes del archivo:

tail -c 93 list-2.txt

Puedes combinar -c (bytes) con la opción + modificador (número al comienzo del archivo) y especifique el desplazamiento en bytes de recuento al comienzo del archivo:

tail -c +351053 list-e.txt

Tubos en linea

Anteriormente, hice referencia a la salida. tail sa less . También podemos ingresar otra salida de comando tail.

Para identificar los cinco archivos o carpetas con los tiempos de conversión más antiguos, utilice -t (ordenar por hora de cambio) opción con ls y enviar la salida i tail.

ls -tl | tail -5

Un head pedido enumera líneas de texto al principio de un archivo. Podemos combinar eso con tail para eliminar parte del archivo. Aquí usamos head eliminar el comando de las primeras 200 líneas del archivo. Esto se introduce en tail, extrajo las últimas diez filas. Esto nos da las líneas de la 191 a la línea 200. Es decir, las últimas diez líneas de las primeras 200 líneas:

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

Este comando enumera los cinco procesos de memoria más consumidos.

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

Déjame desglosar esto.

Un ps pedido muestra información sobre los procesos actuales. Las opciones utilizadas son:

  • para: Enumera todos los procesos, no solo el usuario actual.
  • o: Muestra la salida orientada al usuario.
  • X.: Enumera todos los procesos, incluidos los que no se ejecutan en TTY.

Un sort pedido ordenar la salida Oh ps . Las elecciones que usamos sort Son:

  • norte: Ordenar por numérico.
  • k +4: Ordene en la cuarta columna.

Un tail -5 el comando muestra los últimos cinco procesos en el resultado ordenado. Estos son los cinco procesos de memoria más lentos.

Use tail para rastrear archivos en tiempo real

Las nuevas entradas de texto que entran en un archivo, generalmente un archivo de registro, son fáciles de rastrear tail. Ingrese el nombre del archivo en la línea de comando y use -f (siguiente) opción.

tail -f geek-1.log

A medida que se agrega cada nueva entrada de registro al archivo de registro, la cola actualiza su visualización en la ventana del terminal.

Puede refinar el resultado incluyendo solo líneas de relevancia o interés. Aquí usamos grep para solo muestra las líneas de expansión la palabra «promedio»:

tail -f geek-1.log | grep average

Para realizar un seguimiento de los cambios en dos o más archivos, ingrese los nombres de los archivos en la línea de comando:

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

Cada entrada está etiquetada con un encabezado que indica de dónde proviene el texto.

Scuaine Scoir -f -n 5 geek-1.log geek-2.log

La pantalla se actualiza cada vez que aparece una nueva entrada en un archivo de seguimiento. Para especificar el período de actualización, use -s elección (período de sueño). Eso lo dice todo tail espere unos segundos, cinco en este ejemplo, entre comprobaciones de archivos.

tail -f -s 5 geek-1.log

Por supuesto, no puedes saberlo mirando una pantalla, sino por las actualizaciones. el archivo ocurre una vez cada dos segundos. Hay nuevas entradas de archivos en curso mostrado en la ventana del terminal una vez cada cinco segundos.

Salir de la cola -f -s 5 geek-1.log

Al rastrear adiciones de texto a varios archivos, puede eliminar los encabezados que indican de qué archivo de registro proviene el texto. usos -q opción (silenciosa) para hacer esto:

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

La salida de los archivos se muestra en una combinación de texto perfecta. No hay ninguna indicación de de qué archivo de registro proviene cada entrada.

la cola aun tiene valor

Aunque ahora proporciona acceso a los archivos de registro del sistema journalctl, tail todavía tiene mucho que ofrecer. Esto es especialmente cierto cuando se usa junto con otros controles, insertando o dejando tuberías tail.

systemd puede haber cambiado el panorama, pero todavía hay espacio para las utilidades tradicionales que se adhieren a la filosofía de Unix de hacer algo y hacerlo bien.