El comando táctil se usa para crear archivos vacíos y también cambia las marcas de tiempo de los archivos existentes en el sistema Unix y Linux. Cambiar las marcas de tiempo aquí significa actualizar el tiempo de acceso y modificación de archivos y directorios.
Echemos un vistazo a la sintaxis y las opciones utilizadas en el comando táctil,
Sintaxis: # toque {opciones} {archivo}
Opciones utilizadas en el comando táctil,
En este artículo, veremos 9 ejemplos útiles de comandos táctiles en Linux,
Ejemplo:1 Crear un archivo vacío usando el toque
Para crear un archivo vacío usando el comando touch en sistemas Linux, escriba touch seguido del nombre del archivo, el ejemplo se muestra a continuación,
[[email protected] ~]# touch devops.txt [[email protected] ~]# ls -l devops.txt -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt [[email protected] ~]#
Ejemplo: 2 Crear archivos vacíos de forma masiva usando el tacto
Puede haber algún escenario en el que tengamos que crear muchos archivos vacíos para algunas pruebas, esto se puede lograr fácilmente usando el comando táctil,
[[email protected] ~]# touch sysadm-{1..20}.txt
En el ejemplo anterior, hemos creado 20 archivos vacíos con el nombre sysadm-1.txt a sysadm-20.txt, puede cambiar el nombre y los números según sus requisitos.
Ejemplo:3 Cambiar / Actualizar el tiempo de acceso de un archivo y directorio
Supongamos que queremos cambiar el tiempo de acceso de un archivo llamado «devops.txt“, para hacer esto usa ‘-a‘ opción en el comando táctil seguido del nombre del archivo, el ejemplo se muestra a continuación,
[[email protected] ~]# touch -a devops.txt [[email protected] ~]#
Ahora verifique si el tiempo de acceso de un archivo se ha actualizado o no usando el comando ‘stat’
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 22:39:29.365000000 -0400 Change: 2018-03-29 23:03:10.902000000 -0400 Birth: - [[email protected] ~]#
Cambiar el tiempo de acceso de un directorio,
Supongamos que tenemos una carpeta ‘nfsshare’ en /mnt, cambiemos el tiempo de acceso de esta carpeta usando el siguiente comando,
[[email protected] ~]# touch -a /mnt/nfsshare/ [[email protected] ~]#
[[email protected] ~]# stat /mnt/nfsshare/ File: ‘/mnt/nfsshare/’ Size: 6 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 2258 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:mnt_t:s0 Access: 2018-03-29 23:34:38.095000000 -0400 Modify: 2018-03-03 10:42:45.194000000 -0500 Change: 2018-03-29 23:34:38.095000000 -0400 Birth: - [[email protected] ~]#
Ejemplo: 4 Cambiar el tiempo de acceso sin crear un nuevo archivo
Puede haber algunas situaciones en las que queramos cambiar el tiempo de acceso de un archivo si existe y evitar crear el archivo. Utilizando ‘-C‘ en el comando táctil, podemos cambiar el tiempo de acceso de un archivo si existe y no crearemos un archivo, si no existe.
[[email protected] ~]# touch -c sysadm-20.txt [[email protected] ~]# touch -c winadm-20.txt [[email protected] ~]# ls -l winadm-20.txt ls: cannot access winadm-20.txt: No such file or directory [[email protected] ~]#
Ejemplo: 5 Cambiar la hora de modificación de un archivo y directorio
Utilizando ‘-metro‘ opción en el comando táctil, podemos cambiar el tiempo de modificación de un archivo y directorio,
Cambiemos el tiempo de modificación de un archivo llamado “devops.txt”,
[[email protected] ~]# touch -m devops.txt [[email protected] ~]#
Ahora verifique si el tiempo de modificación se ha cambiado o no usando el comando stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 23:59:49.106000000 -0400 Change: 2018-03-29 23:59:49.106000000 -0400 Birth: - [[email protected] ~]#
Del mismo modo, podemos cambiar el tiempo de modificación de un directorio,
[[email protected] ~]# touch -m /mnt/nfsshare/ [[email protected] ~]#
Ejemplo: 6 Cambiar el tiempo de acceso y modificación de una sola vez
Usar «-soy” opción en el comando táctil para cambiar el acceso y la modificación juntos o de una sola vez, el ejemplo se muestra a continuación,
[[email protected] ~]# touch -am devops.txt [[email protected] ~]#
Verifique de forma cruzada el tiempo de acceso y modificación usando stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-30 00:06:20.145000000 -0400 Modify: 2018-03-30 00:06:20.145000000 -0400 Change: 2018-03-30 00:06:20.145000000 -0400 Birth: - [[email protected] ~]#
Ejemplo: 7 Establezca el tiempo de acceso y modificación en una fecha y hora específicas
Cada vez que cambiamos el tiempo de acceso y modificación de un archivo y directorio usando el comando táctil, establece la hora actual como tiempo de acceso y modificación de ese archivo o directorio,
Supongamos que queremos establecer una fecha y hora específicas como hora de acceso y modificación de un archivo, esto se puede lograr usando la opción ‘-c’ y ‘-t’ en el comando táctil,
La fecha y la hora se pueden especificar en el formato: {CCYY}MMDDhhmm.ss
Donde:
- CC – Primeros dos dígitos de un año
- YY – Segundos dos dígitos de un año
- MM – Mes del año (01-12)
- DD – Día del Mes (01-31)
- hh – Hora del día (00-23)
- mm – Minutos de la hora (00-59)
Configuremos el tiempo de acceso y modificación del archivo devops.txt para la fecha y hora futuras (año 2025, mes 10, día 19 del mes, hora 18 y minuto 20)
[[email protected] ~]# touch -c -t 202510191820 devops.txt
Use el comando stat para ver el acceso a la actualización y el tiempo de modificación,
Establezca el tiempo de acceso y modificación según la cadena de fecha, use la opción ‘-d’ en el comando táctil y luego especifique la cadena de fecha seguida del nombre del archivo, el ejemplo se muestra a continuación,
[[email protected] ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt [[email protected] ~]#
Verifique el estado usando el comando stat,
[[email protected] ~]# stat sysadm-20.txt File: ‘sysadm-20.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324189 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2010-02-07 20:15:12.000000000 +0530 Modify: 2010-02-07 20:15:12.000000000 +0530 Change: 2018-03-30 10:23:31.584000000 +0530 Birth: - [[email protected] ~]#
Nota: En los comandos anteriores, si no especificamos ‘-c’, el comando táctil creará un nuevo archivo en caso de que no exista en el sistema y establecerá las marcas de tiempo que se mencionan en el comando.
Ejemplo: 8 Establezca las marcas de tiempo en un archivo usando un archivo de referencia (-r)
En el comando táctil podemos usar un archivo de referencia para configurar las marcas de tiempo del archivo o directorio. Supongamos que quiero establecer las mismas marcas de tiempo del archivo «sysadm-20.txt» en el archivo «devops.txt». Esto se puede lograr fácilmente usando la opción ‘-r’ en contacto.
Sintaxis: # touch -r {archivo de referencia} archivo actual
[[email protected] ~]# touch -r sysadm-20.txt devops.txt [[email protected] ~]#
Ejemplo: 9 Cambiar el tiempo de acceso y modificación en el archivo de enlace simbólico
De forma predeterminada, cada vez que intentamos cambiar las marcas de tiempo de un archivo de enlace simbólico usando el comando táctil, cambiará solo las marcas de tiempo del archivo original. En caso de que desee cambiar las marcas de tiempo de un archivo de enlace simbólico, esto se puede lograr usando ‘-h’ opción en comando táctil,
Sintaxis: # touch -h {archivo de enlace simbólico}
[[email protected] opt]# ls -l /root/linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]# touch -t 203010191820 -h linuxgeeks.txt [[email protected] ~]# ls -l linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Oct 19 2030 linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]#
Eso es todo de este tutorial, espero que estos ejemplos te ayuden a entender el comando táctil. Por favor, comparta sus valiosos comentarios y opiniones.
Lea más en: 17 ejemplos útiles de comandos rsync (sincronización remota) en Linux