Creación/Actualización de archivos en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo crear y actualizar archivos utilizando el comando touch de Linux. El comando touch es una utilidad simple pero poderosa que te permite crear archivos vacíos y modificar las marcas de tiempo de los archivos sin cambiar el contenido del archivo.

Este laboratorio está diseñado para principiantes que deseen entender la gestión de archivos en Linux. Aprenderás cómo crear nuevos archivos, verificar sus marcas de tiempo y modificarlas según tus necesidades. Estas habilidades son fundamentales para la administración de sistemas, la escritura de scripts y la organización general de archivos en entornos Linux.

Al final de este laboratorio, tendrás experiencia práctica con el comando touch y entenderás sus diversas aplicaciones en la gestión de archivos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") subgraph Lab Skills linux/ls -.-> lab-271409{{"Creación/Actualización de archivos en Linux"}} linux/touch -.-> lab-271409{{"Creación/Actualización de archivos en Linux"}} linux/pwd -.-> lab-271409{{"Creación/Actualización de archivos en Linux"}} linux/mkdir -.-> lab-271409{{"Creación/Actualización de archivos en Linux"}} end

Creando tu primer archivo con el comando Touch

En este paso, aprenderás a crear un nuevo archivo utilizando el comando touch. Esta es una de las operaciones de archivos más básicas en Linux.

Primero, asegúrate de estar en el directorio correcto. Ejecuta el siguiente comando:

pwd

Deberías ver una salida que indique que estás en el directorio /home/labex/project. Aquí es donde crearemos nuestros archivos.

Ahora, creemos un nuevo archivo vacío utilizando el comando touch:

touch myfile.txt

El comando touch crea un archivo vacío si no existe. Si el archivo ya existe, touch actualiza sus tiempos de acceso y modificación a la hora actual sin cambiar el contenido del archivo.

Para verificar que el archivo se ha creado, ejecuta el comando ls:

ls -l

Deberías ver una salida similar a esta:

-rw-r--r-- 1 labex labex 0 May 15 10:30 myfile.txt

La salida muestra:

  • Permisos de archivo (-rw-r--r--)
  • Propietario y grupo (ambos labex)
  • Tamaño del archivo (0 bytes porque el archivo está vacío)
  • Fecha y hora de creación
  • Nombre del archivo (myfile.txt)

¡Felicidades! Has creado con éxito tu primer archivo utilizando el comando touch.

Entendiendo los Detalles del Archivo y las Marcas de Tiempo (Timestamps)

Ahora que ha creado un archivo, aprendamos cómo ver sus detalles y entender las marcas de tiempo (timestamps) asociadas con los archivos en Linux.

Cada archivo en Linux tiene tres marcas de tiempo (timestamps):

  1. Tiempo de acceso (Access time) - cuándo el archivo fue leído o accedido por última vez
  2. Tiempo de modificación (Modification time) - cuándo el contenido del archivo fue modificado por última vez
  3. Tiempo de cambio (Change time) - cuándo los metadatos del archivo (permisos, propiedad, etc.) fueron cambiados por última vez

Para ver estas marcas de tiempo (timestamps) para el archivo que creó, use el comando stat:

stat myfile.txt

La salida debería verse similar a esto:

  File: myfile.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 655361      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-05-15 10:30:00.000000000 +0000
Modify: 2023-05-15 10:30:00.000000000 +0000
Change: 2023-05-15 10:30:00.000000000 +0000
 Birth: 2023-05-15 10:30:00.000000000 +0000

Para una vista más concisa, puede usar el comando ls con opciones específicas:

ls -l --time=atime myfile.txt ## Muestra el tiempo de acceso (access time)
ls -l myfile.txt ## Muestra el tiempo de modificación (modification time) (predeterminado para ls -l)

Ahora creemos un segundo archivo y veamos cómo comparar las marcas de tiempo (timestamps):

touch secondfile.txt

Ahora liste ambos archivos para ver sus marcas de tiempo (timestamps):

ls -lt

Debería notar que secondfile.txt aparece en la parte superior de la lista porque ls -lt ordena los archivos por tiempo de modificación (modification time), con los archivos modificados más recientemente listados primero.

Entender estas marcas de tiempo (timestamps) es importante para la administración de archivos y la resolución de problemas en sistemas Linux.

Modificando las marcas de tiempo de archivos con Touch

Una de las características más poderosas del comando touch es la capacidad de modificar las marcas de tiempo de los archivos. Esto puede ser útil para pruebas, depuración o organización de archivos.

Modifiquemos la marca de tiempo del primer archivo que creamos (myfile.txt). Lo estableceremos en una fecha y hora específicas utilizando la opción -t:

touch -t 202301010900 myfile.txt

Este comando establece la marca de tiempo de myfile.txt en el 1 de enero de 2023, a las 9:00 AM. El formato utilizado es YYYYMMDDhhmm (Año, Mes, Día, Hora, Minuto).

Ahora, verifiquemos que la marca de tiempo se haya cambiado:

ls -l myfile.txt

La salida debería mostrar que la hora de modificación del archivo es ahora el 1 de enero de 2023, 09:00:

-rw-r--r-- 1 labex labex 0 Jan  1 09:00 myfile.txt

También puedes establecer la marca de tiempo en un momento relativo, como un cierto número de días en el pasado. Por ejemplo, para establecer la marca de tiempo en hace 7 días:

touch -d "7 days ago" myfile.txt

Verifica el cambio:

ls -l myfile.txt

Otra opción útil es utilizar la marca de tiempo de un archivo como referencia para otro archivo. Creemos un nuevo archivo:

touch thirdfile.txt

Ahora, establezcamos la marca de tiempo de thirdfile.txt para que coincida con la de secondfile.txt:

touch -r secondfile.txt thirdfile.txt

Verifica que ambos archivos ahora tengan la misma marca de tiempo:

ls -l secondfile.txt thirdfile.txt

Estas características de manipulación de marcas de tiempo hacen del comando touch una herramienta versátil para la gestión de archivos en Linux.

Creando múltiples archivos simultáneamente

El comando touch te permite crear múltiples archivos con un solo comando, lo que puede ahorrar tiempo cuando necesitas crear varios archivos a la vez.

Creemos tres nuevos archivos con un solo comando:

touch file1.txt file2.txt file3.txt

Para verificar que se hayan creado los tres archivos, ejecuta:

ls -l file*.txt

Deberías ver los tres nuevos archivos listados, junto con sus detalles:

-rw-r--r-- 1 labex labex 0 May 15 11:00 file1.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file2.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file3.txt

También puedes usar la expansión de patrones para crear archivos con nombres secuenciales:

touch document_{1..5}.txt

Este comando crea cinco archivos llamados document_1.txt, document_2.txt, y así sucesivamente hasta document_5.txt.

Verifica con:

ls -l document_*.txt

Esta capacidad de crear múltiples archivos a la vez es especialmente útil cuando se prepara una estructura de directorios para un nuevo proyecto o cuando se prueban operaciones de archivos en múltiples archivos.

Usando Touch con directorios

Aunque el comando touch se utiliza principalmente con archivos, también se puede usar con directorios para actualizar sus marcas de tiempo. Sin embargo, no puede crear directorios; para eso, se utilizaría el comando mkdir.

Primero, creemos un directorio para trabajar:

mkdir testdir

Ahora, veamos la marca de tiempo de este directorio:

ls -ld testdir

La salida debería mostrar la hora de creación del directorio.

A continuación, usemos el comando touch para actualizar la marca de tiempo del directorio:

touch testdir

Ahora, veamos la marca de tiempo nuevamente:

ls -ld testdir

Deberías ver que la marca de tiempo se ha actualizado a la hora actual.

También puedes usar las mismas opciones de marca de tiempo que aprendimos anteriormente con directorios. Por ejemplo, para establecer la marca de tiempo del directorio en una fecha específica:

touch -t 202301010900 testdir

Verifica el cambio:

ls -ld testdir

Una nota importante sobre los directorios: el comando touch solo actualiza las marcas de tiempo de los metadatos del directorio, no el contenido dentro del directorio. Cada archivo dentro del directorio mantiene sus propias marcas de tiempo independientes.

Para demostrar esto, creemos un archivo dentro del directorio:

touch testdir/insidefile.txt

Ahora, veamos la marca de tiempo tanto del directorio como del archivo:

ls -ld testdir
ls -l testdir/insidefile.txt

Notarás que tienen marcas de tiempo diferentes, lo que muestra que el comando touch afecta a cada uno de manera independiente.

Resumen

En este laboratorio, has aprendido cómo usar el comando touch de Linux para la creación de archivos y la gestión de marcas de tiempo. Aquí están los puntos clave cubiertos:

  1. Creación básica de archivos: Aprendiste cómo crear archivos vacíos utilizando el comando touch.

  2. Comprensión de las marcas de tiempo: Exploraste los diferentes tipos de marcas de tiempo asociadas con los archivos en Linux y cómo visualizarlas.

  3. Modificación de marcas de tiempo: Practicaste cambiar las marcas de tiempo de los archivos a fechas específicas, tiempos relativos y hacer coincidir las marcas de tiempo entre archivos.

  4. Creación de múltiples archivos: Descubriste cómo crear múltiples archivos simultáneamente utilizando la expansión de patrones y la lista directa.

  5. Trabajo con directorios: Aprendiste cómo touch interactúa con los directorios, actualizando sus marcas de tiempo mientras se mantiene la independencia de los archivos dentro de ellos.

El comando touch es una herramienta fundamental en la gestión de archivos de Linux. Su capacidad para crear archivos y manipular marcas de tiempo lo hace valioso para diversas tareas, desde la organización básica de archivos hasta actividades más complejas de scripting y administración del sistema.

A medida que continúes tu viaje en Linux, estas habilidades servirán como base para operaciones de archivos más avanzadas y tareas de gestión del sistema.