El comando táctil nos permite actualizar las marcas de tiempo en archivos y directorios existentes, así como crear archivos nuevos y vacíos.
En esta guía, le mostraremos cómo usar el comando táctil a través de ejemplos prácticos y explicaciones detalladas de las opciones de comando más comunes.
Linux Files Timestamps #
Antes de entrar en cómo usar el comando táctil, comencemos revisando las marcas de tiempo de los archivos en Linux.
Un archivo en Linux tiene tres marcas de tiempo:
- atime (hora de acceso):la última vez que se accedió/abrió el archivo mediante algún comando o aplicación como cat, vim o grep.
- mtime (hora de modificación):la última vez que se modificó el contenido del archivo.
- ctime (hora de cambio):la última vez que se cambió el atributo o el contenido del archivo. El atributo incluye permisos de archivos, propiedad de archivos o ubicación de archivos.
Para mostrar el estado del archivo, incluidas las marcas de tiempo, use el stat
comando.
stat file_name
La creación de un nuevo archivo requiere permisos de escritura en el directorio principal. De lo contrario, recibirá un error de permiso denegado.
Cómo usar el comando táctil #
En su forma más simple cuando se usa sin ninguna opción, si el nombre de archivo especificado como argumento no existe, tocar creará un nuevo archivo.
Si el archivo ya existe, toque cambiará las horas de último acceso y modificación del archivo a la hora actual.
Por ejemplo, si el archivo file1
no existe, el siguiente comando lo creará; de lo contrario, cambiará sus marcas de tiempo:
touch file1
Para crear o modificar varios archivos a la vez, especifique los nombres de los archivos como argumentos:
touch file1 file2 file3
Si no desea que el comando táctil cree nuevos archivos, use -c
(--no-create
) opción.
Por ejemplo, si el archivo file1
exist el siguiente comando cambiará las marcas de tiempo del archivo; de lo contrario, no hará nada:
touch -c file1
Cambiando sólo los tiempos de acceso o modificación #
De forma predeterminada, si no se utiliza ninguna opción, el toque actualizará las horas de último acceso y modificación del archivo a la hora actual. Usando el -a
y -m
opciones, puede cambiar solo una de estas marcas de tiempo.
Cambiar solo la hora de acceso #
Utilice el -a
opción para cambiar solo el tiempo de acceso del archivo:
touch -a file1
Cambiar solo la hora de modificación #
Utilice el -m
opción para cambiar el tiempo de modificación del archivo:
touch -m file1
Al cambiar la hora de modificación, la hora de cambio también se actualizará.
Establecer marcas de tiempo específicas #
El comando táctil también nos permite actualizar o crear un archivo con una hora específica distinta a la hora actual.
Utilice el -d
(--date=
) para especificar una cadena de fecha y usarla en lugar de la hora actual.
Por ejemplo, para cambiar las horas de último acceso y modificación de file1
al 1 de junio de 2018 a las 11:02, usaría el siguiente comando:
touch -d '1 June 2018 11:02' file1
La cadena de fecha debe estar entre comillas simples.
También puede proporcionar una cadena de fecha y hora parcial al comando táctil. Proporcionando solo la fecha, cambia automáticamente el año al actual:
touch -d '12 June' file1
Usa el -t
opción para especificar una marca de tiempo y usarla en lugar de la hora actual. El argumento de marca de tiempo debe tener el siguiente formato:
use [[CC]YY]MMDDhhmm[.ss]
Por ejemplo, el siguiente comando establecerá las horas de último acceso y modificación de file1
al 1 de junio 11:02 del año en curso.
touch -t 06011102 file1
Usando la marca de tiempo de otro archivo #
El -r
(--reference=
) nos permite especificar un archivo de referencia y usar sus marcas de tiempo en lugar de la hora actual.
Por ejemplo, el siguiente comando le indicará a touch que use los tiempos de file1
para file2
:
touch -r file1 file2
Cambio de marca de tiempo de enlace simbólico #
De forma predeterminada, si usa un comando táctil en un enlace simbólico, cambiará las marcas de tiempo de su archivo al que se hace referencia.
Usa el -h
(--no-dereference
) para modificar la marca de tiempo del enlace simbólico.
Por ejemplo, para cambiar las marcas de tiempo del enlace simbólico symlink1
usarías:
touch -h symlink1
Conclusión #
A estas alturas ya debería tener una buena comprensión de cómo usar el comando táctil de Linux.