Bienvenidos a este capítulo de este Curso de Linux para Hackers – Visualizar Archivos con TAIL. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lo que aprenderás en este artículo:

  1. Cómo usar el comando tail para ver las últimas líneas de un archivo.
  2. Opciones avanzadas del comando tail como -n, -c, -f, y -r.
  3. Uso de tail para monitorear archivos en tiempo real.
  4. Uso de tail con varios archivos a la vez.
  5. Cómo usar tail con otros comandos como ls y ps para filtrar la salida.

Abra el archivo usando el comando tail.

El comando tail es similar al comando head. La diferencia entre ambos comandos es que comienza a leer el archivo desde la cola (última línea). Al igual que el comando head, también muestra la salida de las últimas diez líneas de forma predeterminada.

Para abrir el archivo usando el comando tail, ejecute el comando de la siguiente manera:

 tail <archivo nombre>  

El comando anterior mostrará el contenido de la última línea del archivo especificado.

Al examinar la salida de los comandos head y tail anteriores, puede ver que el comportamiento predeterminado de los comandos head y tail en este shell es mostrar diez líneas.

La opción -n con los comandos head y tail se puede utilizar para especificar la cantidad de líneas a mostrar.

De manera predeterminada, el comando tail muestra el contenido del archivo. La visualización comienza en una línea, un bloque de 512 bytes o una ubicación de bloque dentro de la entrada. Los números que incluyen un símbolo más inicial se asocian con el inicio de la entrada, por ejemplo, “-c +2” comienza la visualización en el segundo byte de entrada. Los números que incluyen un símbolo menos inicial o ningún símbolo explícito se asocian con la finalización de la entrada, por ejemplo, “-n 2” muestra las dos últimas líneas de entrada. “-n 10” o las últimas diez líneas de entrada son la ubicación de inicio predeterminada.

El comando tail copia el archivo especificado en la salida estándar en una ubicación designada. La entrada estándar se copia si no se especifica el archivo. La copia comienza en la posición +número medida desde el inicio o -número desde la finalización de la entrada. El número se mide en bytes, bloques de 1K o líneas, según los indicadores adjuntos b, c o l. -101 es el valor predeterminado.

Además, el indicador r hace que el comando tail muestre las líneas desde la finalización del archivo en sentido inverso. El indicador f hace que el comando tail siga observando y mostrando más datos a medida que se muestran después de imprimir hasta la finalización.

Monitoreo de archivos

El comando tail tiene dos opciones de línea únicas, -F y -f, que permiten administrar un archivo. En lugar de simplemente mostrar algunas líneas finales y cerrar, el comando tail muestra las líneas y audita el archivo. El comando tail puede actualizar la visualización porque otros procesos incluyen nuevas líneas en el archivo.

En particular, resulta útil para auditar archivos de registro. Las versiones anteriores del comando tail, de forma predeterminada, consultan el archivo cada vez, pero admite la infraestructura inotify especificada en la versión 2.6.13 del kernel de Linux en agosto de 2005, que solo monitorea el archivo si el kernel le notifica modificaciones.

Comportamiento predeterminado

El uso predeterminado del comando tail muestra las últimas diez líneas de los archivos. Crea un archivo ‘ carlos.txt’ que contenga los números del 1 al 15 (cada número en una nueva línea).

Vamos a abrirlo ejecutando el comando tail sin ningún argumento de la siguiente manera:

 tail carlos.txt  

Considere el siguiente resultado:

De la salida anterior, podemos ver que se muestran las últimas diez líneas de ‘num.txt’.

Opciones de tail

  • –block=número, -b número: el bloque de 512 bytes es la ubicación.
  • –bytes=número, -c número: el byte del número es la ubicación.
  • -f: Esta opción hace que el comando tail no se detenga si se alcanza el final del archivo, sino que espere a que se agreguen otros datos a la entrada. La opción se evita cuando stdin es una tubería, pero no cuando es un FIFO.
  • -F: esta opción indica el indicador -f, pero el comando tail también detectará si el archivo que se sigue ha sido rotado o renombrado. El archivo se sella y se vuelve a abrir si el comando tail detecta que el nombre del archivo leído incluye los números de un nuevo inodo.

El comando tail seguirá buscando y mostrará el archivo desde el principio cuando se haya creado, si el archivo siguiente no está disponible o si se ha eliminado. La opción -F es similar a la opción -f cuando se lee desde la entrada estándar en lugar de un archivo.

  • –lines=número, -n número: la línea numérica es la ubicación.
  • -q: La opción -q se utiliza para suprimir la impresión del encabezado si se están monitoreando dos o más archivos.
  • -r: la opción -r hace que la entrada se muestre por línea en orden inverso. Esta opción modifica además el significado de las opciones -n, -b y -c. Si se nombra la opción -r, estas opciones definen el número total de bloques, líneas o bytes de 512 bytes que se mostrarán en lugar de los bytes, bloques o líneas desde el inicio o la finalización de la entrada a través de la cual se iniciará la visualización. Para -r, el valor predeterminado es mostrar cada entrada.

Todos los archivos están precedidos por el encabezado compuesto por la cadena “==> XXX <==” , en donde XXX es el nombre del archivo a menos que se especifique la opción -q si se especifica más de un archivo.

Muestra el número específico de líneas

La opción ‘-n’ muestra la cantidad de líneas especificada. Para especificar la cantidad de líneas, ejecute el comando de la siguiente manera:

cola -n <número> <archivo nombre>  

Se mostrará la cantidad de líneas especificadas desde la última. Considere el siguiente ejemplo:

tail -n 5 carlos.txt  

El comando anterior mostrará las últimas cinco líneas del archivo ‘num.txt’. También podemos omitir la letra ‘n’ en su lugar y podemos utilizar el guion (-) y el número sin ningún espacio. Considere el siguiente resultado:

Como podemos ver en la salida anterior, se muestran las últimas cinco líneas de ‘num.txt’.

Muestra el número especificado de bytes

La opción ‘-c’ muestra la cantidad de bytes especificada desde el último. Para mostrar la cantidad de bytes especificada, ejecute el comando de la siguiente manera:

 tail -c <número> <archivo nombre>  

Se mostrará la cantidad de bytes especificada. Considere el siguiente ejemplo:

 tail -c 6 carlos.txt  

El comando anterior mostrará el contenido del archivo hasta 6 bytes desde el último. Considere el siguiente resultado:

De la salida anterior, se muestran los últimos seis bytes del archivo ‘num.txt’.

También podemos utilizar el sufijo con el número, como b, kb, k, MB y otros, para especificar la cantidad de bytes. Estos sufijos multiplican el número especificado de la siguiente manera:

  • b: lo multiplica por 512.
  • kb: lo multiplica por 1000.
  • k: lo multiplica por 1024.
  • MB: lo multiplica por 1000000.

Realizar un seguimiento de los cambios en un archivo

Para hacer un seguimiento de los cambios en un archivo, se utiliza la opción ‘-f’. Aquí, ‘-f’ significa lo siguiente. Es útil para monitorear archivos de registro. Ejecute el siguiente comando:

 tail -f carlos.txt  

El comando anterior supervisará el archivo ‘num.txt’. Para salir de la supervisión, presione las teclas “CTRL+C”. Observe el resultado siguiente:

Mostrar varios archivos

Podemos mostrar varios archivos a la vez desde el último al ejecutar el comando tail. Para mostrar varios archivos, proporcione los nombres de los archivos como entrada. Se mostrarán las últimas diez líneas de los archivos especificados.

Por ejemplo, tenemos otro archivo ‘alphabet.txt’ que contiene todos los caracteres del alfabeto en una nueva línea. Para mostrar ambos archivos ‘num.txt’ y ‘alphabet.txt’, ejecute el siguiente comando:

 tail carlos.txt /etc/shadow  

El comando anterior mostrará las últimas diez líneas de los archivos especificados. Considere el siguiente resultado:

A partir del resultado anterior, podemos ver que las últimas diez líneas de los archivos especificados se muestran a la vez.

Tail con otros comandos

El comando tail se puede utilizar con otros comandos. Se puede conectar a otros comandos para filtrar la salida. Considere el siguiente comando:

ls -t /etc | tail -n 6  

A partir del comando anterior, hemos canalizado el comando tail con el comando ls. Solo mostrará seis archivos o carpetas modificados hace más tiempo. Considere el siguiente resultado:

Ejecutemos el comando tail con el comando ps para mostrar el proceso que se está ejecutando en la parte superior. Ejecute el comando de la siguiente manera:

ps aux | sort -nk +3 | tail -2  

Considere el siguiente resultado:

El comando tail tiene más opciones que puedes explorar

 tail --help

También  te recomendamos consultar las páginas man:

 man tail

Resumen y Puntos clave:

Comando tail para ver las últimas líneas de un archivo
El comando tail muestra las últimas 10 líneas de un archivo por defecto. Es útil para ver el final de archivos grandes, como los registros del sistema, donde las entradas más recientes se encuentran al final.
Sintaxis:

tail archivo.txt

Mostrar un número específico de líneas con tail -n
La opción -n permite especificar el número de líneas que deseas ver desde el final del archivo.
Ejemplo:

tail -n 5 archivo.txt Muestra las últimas 5 líneas del archivo.

Mostrar un número específico de bytes con tail -c
La opción -c permite mostrar los últimos bytes de un archivo. Puedes especificar la cantidad exacta de bytes o utilizar sufijos como k (kilobytes) o m (megabytes).
Ejemplo:

tail -c 20 archivo.txt Muestra los últimos 20 bytes del archivo.

Monitoreo de archivos en tiempo real con tail -f
La opción -f hace que tail siga mostrando nuevas líneas a medida que se agregan al archivo, lo que es útil para monitorear archivos de registro en tiempo real.
Ejemplo:

tail -f archivo.log Para detener el monitoreo, presiona Ctrl + C

Opción -F para manejar archivos rotados o renombrados
Similar a -f, pero tail -F también detecta si el archivo ha sido renombrado o rotado, lo que es útil en archivos de registro que pueden cambiar de nombre.
Ejemplo:

tail -F archivo.log

Mostrar el contenido de múltiples archivos
Puedes mostrar las últimas líneas de varios archivos al mismo tiempo, con cada archivo separado por un encabezado.
Ejemplo:

tail archivo1.txt archivo2.txt Muestra las últimas 10 líneas de ambos archivos.

Uso del comando tail -r para mostrar líneas en orden inverso
La opción -r muestra el contenido del archivo desde la última línea hacia la primera, pero no sigue leyendo nuevas entradas como lo hace -f.
Ejemplo:

tail -r archivo.txt

Filtrar la salida de tail con otros comandos
tail se puede combinar con otros comandos usando tuberías (|). Por ejemplo, puedes filtrar los procesos más antiguos usando ps y sort.
Ejemplo:

ps aux | sort -nk +3 | tail -2 Muestra los dos procesos más antiguos.

Comando tail con ls
Puedes combinar tail con ls para mostrar los archivos más antiguos o recientes en un directorio.
Ejemplo:

ls -t /etc | tail -n 5 Muestra los 5 archivos más antiguos en el directorio /etc

El comando tail es extremadamente útil para analizar archivos que cambian frecuentemente, como registros de sistemas. Sus opciones avanzadas, como -f para monitoreo en tiempo real y -r para ver el contenido en orden inverso, lo convierten en una herramienta fundamental para administradores de sistemas y desarrolladores.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas sobre el comando tail en Linux

  1. ¿Qué hace el comando tail en un archivo?
  2. ¿Cuántas líneas muestra el comando tail de forma predeterminada?
  3. ¿Cómo puedes mostrar las últimas 5 líneas de un archivo con el comando tail?
  4. ¿Qué opción de tail te permite mostrar un número específico de bytes en lugar de líneas?
  5. ¿Qué hace la opción -f en el comando tail?
  6. ¿Cómo puedes utilizar el comando tail para monitorear en tiempo real un archivo de registro que se actualiza constantemente?
  7. ¿Cómo se usa tail para mostrar las últimas 10 líneas de dos archivos al mismo tiempo?
  8. ¿Qué hace la opción -r en el comando tail?
  9. ¿Cuál es la diferencia entre las opciones -f y -F del comando tail?
  10. ¿Cómo puedes mostrar los últimos 2 KB de un archivo con el comando tail?

Ejercicios basados en el comando tail

  1. Muestra las últimas 10 líneas del archivo log.txt utilizando el comando tail.
  2. Visualiza las últimas 20 líneas del archivo registro.txt con el comando tail.
  3. Muestra las últimas 6 líneas del archivo eventos.log usando tail.
  4. Utiliza el comando tail para mostrar los últimos 100 bytes del archivo data.txt.
  5. Monitorea en tiempo real un archivo de registro llamado app.log para ver si se agregan nuevas entradas, usando la opción adecuada del comando tail.
  6. Muestra las últimas 15 líneas de dos archivos al mismo tiempo: archivo1.txt y archivo2.txt.
  7. Usa la opción -r del comando tail para mostrar el contenido del archivo historia.txt en orden inverso.
  8. Muestra los últimos 5 KB del archivo grande.txt con el comando tail.
  9. Realiza un seguimiento de los cambios en el archivo system.log con el comando tail y verifica si se ha renombrado el archivo utilizando la opción adecuada.
  10. Utiliza tail en combinación con el comando ls para mostrar los 5 archivos modificados más recientemente en el directorio /etc.

Respuestas a las preguntas

El comando tail muestra las últimas líneas de un archivo, comenzando desde la cola (última línea) hacia arriba.

Por defecto, el comando tail muestra las últimas 10 líneas de un archivo.

Para mostrar las últimas 5 líneas de un archivo, usa:

tail -n 5 archivo.txt

La opción -c permite mostrar un número específico de bytes en lugar de líneas. Por ejemplo:

tail -c 100 archivo.txt

La opción -f permite monitorear un archivo en tiempo real, mostrando las nuevas líneas que se agregan al final.

Para monitorear en tiempo real un archivo de registro que se actualiza, usa:

tail -f registro.log

Para mostrar las últimas 10 líneas de dos archivos al mismo tiempo, usa:

tail archivo1.txt archivo2.txt

La opción -r muestra el contenido del archivo en orden inverso, comenzando desde la última línea.

La opción -F es similar a -f, pero también detecta si el archivo ha sido renombrado o rotado, y vuelve a abrirlo si es necesario.

Para mostrar los últimos 2 KB de un archivo, usa:

tail -c 2k archivo.txt

Respuestas a los ejercicios

Mostrar las últimas 10 líneas del archivo log.txt:

tail log.txt

Visualizar las últimas 20 líneas del archivo registro.txt:

tail -n 20 registro.txt

Mostrar las últimas 6 líneas del archivo eventos.log:

tail -n 6 eventos.log

Mostrar los últimos 100 bytes del archivo data.txt:

tail -c 100 data.txt

Monitorear en tiempo real un archivo de registro app.log:

tail -f app.log

Mostrar las últimas 15 líneas de dos archivos archivo1.txt y archivo2.txt:

tail -n 15 archivo1.txt archivo2.txt

Mostrar el contenido del archivo historia.txt en orden inverso:

tail -r historia.txt

Mostrar los últimos 5 KB del archivo grande.txt:

tail -c 5k grande.txt

Realizar un seguimiento de los cambios en el archivo system.log y verificar si ha sido renombrado:

tail -F system.log

Usar tail en combinación con ls para mostrar los 5 archivos modificados más recientemente:

ls -t /etc | tail -n 5

 No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!