Contenido y Comparación de Archivos

LinuxBeginner
Practicar Ahora

Introducción

¡Te damos la bienvenida a esta práctica guiada sobre el manejo de archivos en Linux! Si es tu primera vez en este sistema operativo, no te preocupes. Te guiaremos paso a paso con cuidado. En esta sesión, aprenderás a visualizar el contenido de los archivos, examinar partes específicas de los mismos y realizar comparaciones entre ellos. Estas son habilidades fundamentales que te ayudarán a navegar y comprender el sistema de archivos de Linux con soltura.

Mostrar el Contenido de un Archivo

En primer lugar, abre una terminal en el Escritorio O cambia a la pestaña de la terminal en el entorno de la práctica.

Terminal window screenshot

Una vez que tengas la terminal abierta, verás el cursor de comandos, que normalmente termina con el símbolo $. Aquí es donde introduciremos nuestras instrucciones.

Ahora, utilizaremos el comando cat para mostrar el contenido de un archivo:

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
cat /tmp/hello

En este caso, /tmp/hello es la ruta del archivo que queremos ver. /tmp es un directorio (carpeta) de tu sistema, y hello es el nombre del archivo dentro de ese directorio.

  1. Tras pulsar Enter, deberías ver el contenido del archivo:
Hi,
I am Labby!

Este es todo el texto que contiene el archivo /tmp/hello. El comando cat se ha encargado de imprimirlo directamente en nuestra terminal.

Mostrar el Contenido con Números de Línea

Ahora, utilizaremos de nuevo el comando cat, pero esta vez añadiremos números de línea a la salida para facilitar su lectura.

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
cat -n /tmp/hello

El parámetro -n se conoce como opción o bandera (flag). Le indica a cat que debe numerar todas las líneas que muestre.

  1. Ahora deberías ver el contenido del archivo con su respectiva numeración:
     1 Hi,
     2 I am Labby!

Esto resulta sumamente útil cuando trabajas con archivos extensos y necesitas hacer referencia a líneas específicas.

Mostrar las Primeras Líneas de un Archivo

A continuación, utilizaremos el comando head. Como su nombre indica (cabeza), head se utiliza para visualizar el principio de un archivo.

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
head -n1 /tmp/hello

Aquí, -n1 es una opción que le indica a head que solo muestre la primera línea. Puedes cambiar el 1 por cualquier otro número para ver esa cantidad de líneas.

  1. Deberías ver el siguiente resultado:
Hi,

Esta es solo la primera línea del archivo. Por defecto, si no usas la opción -n1, head mostraría las primeras 10 líneas.

Visualizar los Primeros Bytes de un Archivo

Utilizaremos de nuevo el comando head, pero esta vez para ver un número específico de bytes desde el inicio del archivo.

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
head -c1 /tmp/hello

La opción -c1 le indica a head que muestre únicamente el primer byte (carácter) del archivo. Al igual que con -n, puedes modificar el 1 por cualquier cifra para ver más bytes.

  1. Deberías ver este resultado:
H

Este es el primer carácter del archivo. En los archivos de texto simple, cada carácter suele ocupar un byte.

Mostrar las Últimas Líneas de un Archivo

Pasemos ahora al comando tail. Como habrás adivinado, tail (cola) es lo opuesto a head: muestra el final de un archivo.

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
tail -n1 /tmp/hello

Al igual que con head, la opción -n1 le indica a tail que muestre solo una línea, que en este caso será la última del archivo.

  1. Deberías ver este resultado:
I am Labby!

Esta es la última línea de nuestro archivo. Sin la opción -n1, tail mostraría por defecto las últimas 10 líneas.

Visualizar los Últimos Bytes de un Archivo

De forma similar a lo que hicimos con head, podemos usar tail para mostrar un número determinado de bytes desde el final del archivo.

  1. Primero, intentemos ver el último byte. En la terminal, escribe el siguiente comando y pulsa Enter:
tail -c1 /tmp/hello

Es posible que no veas ninguna salida visible. Esto se debe a que el último carácter suele ser un salto de línea, el cual es invisible.

  1. Intentemos ver los últimos dos bytes. Escribe el siguiente comando y pulsa Enter:
tail -c2 /tmp/hello
  1. Ahora deberías ver:
!

La opción -c2 le indica a tail que muestre los últimos 2 bytes (caracteres) del archivo. En este caso, muestra el signo de exclamación, que es el último carácter visible de nuestro archivo.

Comparar Archivos

Ahora aprenderemos a usar el comando diff para comparar dos archivos y observar las diferencias entre ellos.

  1. Primero, asegúrate de estar en el directorio correcto. Escribe el siguiente comando y pulsa Enter:
cd ~/project

Esto cambia nuestro directorio actual a la carpeta "project" dentro de tu carpeta personal. El símbolo ~ es un atajo que representa tu directorio de inicio (home).

  1. Ahora, comparemos dos archivos. Escribe el siguiente comando y pulsa Enter:
diff file1 file2

Esto le indica a diff que compare el contenido de file1 con el de file2.

  1. Deberías ver una salida similar a esta:
1c1
< this is file1
---
> this is file2

Analicemos qué significa este resultado. El comando diff genera una salida que describe qué cambios son necesarios para que el primer archivo sea idéntico al segundo. No importa cuál se creó primero; diff solo compara su contenido en el momento de ejecutar el comando.

  • 1c1: Indica que la línea 1 del primer archivo debe ser cambiada (changed) para coincidir con la línea 1 del segundo archivo.
  • < this is file1: El símbolo < indica una línea que pertenece al primer archivo (file1).
  • ---: Es un separador entre las líneas de file1 y file2.
  • > this is file2: El símbolo > indica una línea que pertenece al segundo archivo (file2).

En términos sencillos, diff nos muestra que el contenido de la línea 1 es diferente entre ambos. Para que file1 sea igual a file2, la frase "this is file1" tendría que reemplazarse por "this is file2".

Comparar Directorios

Por último, utilizaremos el comando diff para comparar directorios completos.

  1. En la terminal, escribe el siguiente comando y pulsa Enter:
diff -r ~/Desktop ~/Code

La opción -r le indica a diff que realice la comparación de forma recursiva, incluyendo también los subdirectorios. ~/Desktop y ~/Code son las rutas de las dos carpetas que estamos comparando.

  1. Es posible que veas una salida parecida a esta:
Only in /home/labex/Desktop: code.desktop
Only in /home/labex/Desktop: gedit.desktop
Only in /home/labex/Desktop: gvim.desktop
Only in /home/labex/Desktop: xfce4-terminal.desktop

Este resultado indica que el directorio Desktop contiene cuatro archivos que no están presentes en el directorio Code.

Resumen

¡Enhorabuena! Has completado la práctica de Contenido y Comparación de Archivos. Repasemos lo que has aprendido:

  1. Utilizaste cat para ver el contenido completo de un archivo.
  2. Aprendiste a usar cat -n para visualizar archivos con números de línea.
  3. Usaste head para ver el principio de un archivo, tanto por líneas como por bytes.
  4. Usaste tail para ver el final de un archivo, tanto por líneas como por bytes.
  5. Aprendiste a emplear diff para comparar el contenido de dos archivos.
  6. Finalmente, utilizaste diff -r para comparar directorios enteros.

Estos comandos son herramientas fundamentales en Linux. A medida que sigas trabajando con este sistema, los usarás con frecuencia para inspeccionar y comparar archivos y carpetas.

Recuerda que si alguna vez olvidas cómo usar un comando, siempre puedes escribir man seguido del nombre del comando (por ejemplo, man cat) para consultar el manual oficial. Allí encontrarás información detallada sobre todas las opciones disponibles.

¡Sigue practicando con diferentes archivos y directorios para familiarizarte aún más! Cuanto más los uses, más naturales te resultarán.