Introducción
El comando táctil nos permite actualizar las marcas de tiempo en archivos y directorios existentes, así como crear nuevos archivos 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.
Marca de tiempo de los archivos de Linux
Antes de entrar en cómo usar el comando táctil, comencemos mirando las marcas de tiempo de los archivos en Linux.
Un archivo en Linux tiene tres marcas de tiempo:
- atime (tiempo de acceso): la última vez que se accedió /abrió el archivo desde un comando o aplicación como cat, vim o grep.
- mtime (cambiar ahora): la última vez que se modificó el contenido del archivo.
- ctime (cambiar ahora): la última vez que se cambió el atributo o el contenido del archivo. El atributo incluye permisos de archivo, propiedad de archivo o ubicación de archivo.
Para ver el estado del archivo, incluidas las marcas de tiempo, use el comando stat
stat file_name
La creación de un nuevo archivo requiere permisos de escritura en el directorio raíz. De lo contrario, obtendrá 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, touch creará un nuevo archivo.
Si el archivo ya existe, toque cambiará el último archivo y las horas de modificación 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 archivo como argumentos:
touch file1 file2 file3
Si no desea que el comando táctil cree nuevos archivos, use la -c
( --no-create
).
Por ejemplo, si el archivo file1
existe, el siguiente comando cambiará las marcas de tiempo del archivo; de lo contrario, no hará nada:
touch -c file1
Cambiar solo los tiempos de acceso o modificación
De forma predeterminada, si no se utiliza ninguna opción, toque actualizará el último archivo y las horas de modificación a la hora actual. Con las -a
y -m
, solo puede cambiar una de estas marcas de tiempo.
Solo cambia la hora de acceso
Utilice la -a
para cambiar solo el tiempo de acceso al archivo:
touch -a file1
Cambiar solo el tiempo de edición
Utilice la -m
para cambiar la hora de modificación del archivo:
touch -m file1
Establecer marcas de tiempo específicas
El comando táctil también nos permite actualizar o crear un archivo con una hora específica diferente a la hora actual.
Use la -d
( --date=
) para especificar una cadena de fecha y úsela 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 11:02 am, use el siguiente comando:
touch -d '1 June 2018 11:02' file1
La cadena de la fecha debe ir 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
Use la -t
para especificar una marca de tiempo y úsela 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á el último file1
y las horas de modificación al 1 de junio a las 11:02 del año actual.
touch -t 12061102 file1
Usando la marca de tiempo de otro archivo
La -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 dice a touch que use los tiempos de file1
para file2
:
touch -r file1 file2
Cambiar la fecha /hora del enlace simbólico
De forma predeterminada, si usa un comando táctil en un enlace simbólico, se cambiarán las marcas de tiempo del archivo al que se hace referencia.
Utilice -h
( --no-dereference
) para cambiar la marca de tiempo del enlace simbólico.
Por ejemplo, para cambiar las symlink1
tiempo del enlace simbólico symlink1, deberá utilizar:
touch -h symlink1
Conclusión
A estas alturas, debería tener un buen conocimiento de cómo usar el comando táctil de Linux.