Hay muchos comandos para ver el contenido de los archivos en Linux. Entre ellos, la tail
y head
Los comandos imprimen la salida de las últimas y primeras diez líneas de un archivo, respectivamente. En algunos casos, la salida o el error de su trabajo o script enviado crea un archivo muy grande y el resultado más reciente se imprime al final del archivo. Puedes usar tail
, en lugar del cat
comando, para ver las últimas líneas del archivo. A veces necesitas varias opciones con la tail
comando para ver correctamente el contenido del archivo. A continuación, demostraré el uso de tail
y head
comandos.
La sinopsis de ambos comandos es la siguiente:
tail [OPTION]... [FILE]...
head [OPTION]... [FILE]...
También he creado dos archivos de saludos en diferentes idiomas con números de línea. Cada archivo tiene un total de 15 líneas. Veamos el contenido de los archivos con un simple cat
comando:
root@jaibhim:~# cat greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# cat greetings2.txt
1 Good Morning
2 Good Morning
3 Good Morning
4 Good Morning
5 Good Morning
6 Good Morning
7 Good Morning
8 Good Morning
9 Good Morning
10 Good Morning
11 Good Morning
12 Good Morning
13 Good Morning
14 Good Morning
15 Good Morning
Ahora usaré tanto la tail
y head
comandos sin ninguna opción para mostrar el greetings1.txt
expediente. La tail
comando me da una salida de las últimas diez líneas, mientras que el head
comando me da las primeras diez líneas.
root@jaibhim:~# tail greetings1.txt
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
En el ejemplo anterior, puede ver que ambos comandos imprimen las diez primeras y últimas líneas del archivo.
Puede configurar el número de líneas que se muestran para ambos comandos con la opción -n
.
root@jaibhim:~# tail -n 3 greetings1.txt
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head -n 3 greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
Ambos comandos también se pueden usar para varios archivos. Doy el nombre de ambos archivos con un espacio entre ellos e imprime la salida. En el siguiente ejemplo, he usado la opción -n
para restringir la salida. Si me salto el -n
opción, los comandos imprimen las diez líneas predeterminadas de cada archivo. Como se muestra a continuación, he usado más de un archivo como argumento y ambos comandos imprimen un encabezado de una línea antes de la salida de cada archivo:
root@jaibhim:~# tail -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
==> greetings2.txt <==
13 Good Morning
14 Good Morning
15 Good Morning
root@jaibhim:~# head -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
==> greetings2.txt <==
1 Good Morning
2 Good Morning
3 Good Morning
La opción más importante para la tail
el comando es -f
. En algunos casos, cuando los usuarios ejecutan un trabajo o secuencia de comandos, se crean archivos de registro o de error. Necesito rastrear el archivo de registro para determinar si el script respectivo funciona bien o no. En este momento, necesito usar la opción -f
con la tail
comando, que imprime la salida de las nuevas líneas que está creando el script. Otro ejemplo donde puedes usar la opción -f
con la tail
el comando es /var/log/messages
archivo.
Aquí hay una secuencia de comandos simple, que se ejecuta en segundo plano y agrega palabras sueltas en cada línea con un retraso de un segundo:
for i in {16..100}; do echo “$i JaiBhim” >> greetings1.txt; sleep 1; done &
Nota :He usado &
al final del comando para que el script se ejecute en segundo plano.
Ahora, en la misma terminal, usa el tail
comando con opción -f
y el nombre del archivo como argumento. Puede ver que la nueva línea se agrega en el mismo archivo:
tail -f greetings1.txt
Terminar
Como puede ver, tanto la tail
y la head
Los comandos son muy útiles para controlar exactamente qué contenido de archivo se imprimirá en la pantalla. ¡Pruébalos!
[ ¿Quiere probar Red Hat Enterprise Linux? Descárgalo ahora gratis. ]