Cómo usar el comando touch en Ubuntu

Este tutorial explica como usar el comando touch en Ubuntu con diferentes ejemplos.
touch” es un comando básico de Linux que sirve para crear archivos vacíos o cambiar los Timestamps de los archivos (última fecha u hora de acceso o modificación del archivo).

El comando touch es muy útil en el uso diario, es útil para probar las transferencias de archivos mediante la creación de archivos vacíos para pruebas, tener la capacidad de crear archivos ficticios para hacer cualquier cosa que queramos con ellos puede ayudar en cualquier momento, por ejemplo, para probar cualquier comando de Linux, que interactúe directamente con un archivo (para comandos como wipe, srm o shred) y no quiere arriesgarse a probar con archivos reales.

Cuando usamos el comando touch con el nombre de un archivo existente, no creará un nuevo archivo pero actualizará los Timestamps del archivo. Por otro lado, cambiar los Timestamps sería útil si queremos evitar que alguien sepa que accedimos a un archivo en la fecha y hora reales a las que realmente se accedió.

Timestamps

Los archivos de Linux tienen 3 timestamps: atime, mtime y ctime.

atime: Contiene información sobre cuándo se leyó el contenido del archivo con herramientas o comandos para mostrar el contenido del archivo como less, nano, vi, vim, cat, grep, head, etc. El Timestamps de atime cambia y se actualiza cada vez que se visualiza el archivo.

mtime: Muestra la última modificación del contenido de un archivo, incluido su nombre, pero no las propiedades o los permisos, solo el archivo en sí.

ctime: Al igual que mtime, ctime también muestra cuándo se modificó un archivo, pero también se actualiza cuando se cambió la propiedad, el grupo o el permiso de acceso de un archivo. Podemos editar atime y mtime pero no podemos editar el ctime, la hora se actualiza cuando se editan los permisos de un archivo o cuando los archivos se leen o modifican realmente.

Editando el timestamp:

Antes de ver el Timestamps de un archivo, crearemos un archivo llamado LinuxHintEmpyFile ejecutando:

touch LinuxHintEmpyFile

Luego, con el comando ls observamos que el archivo ya fue creado

touch LinuxHintEmptyFile

Donde:

touch= Crea una archivo vacío llamado en este caso LinuxHintEmpyFile

Ahora para ver su Timestamps (marca de tiempo) escriba en la terminal:

stat LinuxHintEmpyFile

Devuelve la siguiente información:

El comando stat muestra los permisos de acceso, el último acceso (atime), la última modificación (mtime) y el último cambio (ctime).

Dado que la fecha y la hora de creación del archivo son las mismas, cambiaremos los permisos del archivo para ver la diferencia de salida de la estadística:

chmod -777 LinuxHintEmptyFile
stat LinuxHintEmptyFile
usar comando touch en ubuntu

Donde:

Chmod -777: Remueve los permisos sobre el archivo LinuxHintEmptyFile

Stat: muestra las Timestamps del archivo.

En la imagen de arriba podemos ver el ctime (Change) actualizado.

Ahora vamos a editar el archivo atime al 01/02/1999, escribimos:

touch -a –-date="1999-02-01" LinuxHintEmptyFile
stat LinuxHintEmptyFile
comando touch en linux

Si también desea cambiar la fecha de acceso, ejecute:

touch -a –-date="1999-02-01 21:35" LinuxHintEmptyFile

Para confirmar el resultado ejecute:

stat LinuxHintEmptyFile
como usar el comando touch en linux.

Editando el Timestamps de mtime:

La sintaxis para editar mtime es la misma, para cambiar el ctime a 1989.02.01 ejecute:

touch -m –-date="1989-02-01" LinuxHintEmptyFile

Para ver el resultado ejecute:

stat LinuxHintEmptyFile

Ahora puede observar que la fecha de modificación se actualizó, para actualizar también su hora de manera similar con atime, escriba:

touch -m –-date="1989-02-01 20:22" LinuxHintEmptyFile
stat LinuxHintEmptyFile

Ahora vamos a crear un segundo archivo y usaremos el comando touch para copiar las Timestamps de un archivo sobre el segundo:

touch LHFile2
stat LHFile2

Hemos accedido, modificado y cambiado el 2019-05-15 00:02:14, para copiar las Timestamps del archivo del tipo LinuxHintEmptyFile:

touch -r LinuxHintEmptyFile LHFile2 stat LHFile2

Como se ve ahora, ambos archivos comparten el mismo Timestamps.

Si queremos cambiar todos los Timestamps a la hora actual, sólo tenemos que escribir touch

stat LHFile2

(En la imagen siguiente describo este paso y el próximo)

touch
stat LHFile2
sobre el comando touch

Como hemos visto el segundo stat muestra atime, mtime y ctime  actualizados tras aplicar el comando  touch.


Espero que este tutorial sobre Cómo usar el comando touch en Ubuntu haya sido útil, de ser así aconsejo seguir la lectura con un tutorial sobre Comandos básicos de red en Linux.


Este artículo es una traducción al español del original “How to use the touch command on Ubuntu