Cómo usar Touch Command en Linux

Cree nuevos archivos vacíos o actualice las marcas de tiempo de los archivos / directorios existentes fácilmente con el comando "touch"

La principal aplicación de la tocar comando es crear archivos sin ningún contenido. La creación de archivos vacíos puede parecer un desperdicio de la memoria del sistema, pero aquí hay un problema. tocar El comando está a su disposición cuando desee crear marcas de tiempo o registros mientras trabaja en un proyecto grande que requiere mantenimiento y monitoreo de registros. Simplemente puede crear un archivo vacío usando tocar comando y el archivo tendrá el sello de fecha y hora cuando fue creado. (En la información del archivo y no como el contenido del archivo).

El segundo uso importante del tocar El comando es modificar la hora de acceso y modificación de un archivo. Cada archivo / directorio tiene una marca de tiempo única agregada. Muestra el tiempo de Acceso y Modificación del archivo / directorio. Pero esta información se puede cambiar fácilmente usando el tocar mando.

Veamos el uso de tocar comando en más detalles con ejemplos autoexplicativos.

Opciones utilizadas con tocar mando

Hay varias opciones disponibles para usar con el tocar mando.

OpciónDescripción
-acambiar la hora de acceso al archivo
-metrocambiar la hora de modificación del archivo
-Ccambiar la hora de acceso al archivo sin crear uno nuevo
-ruse un archivo de referencia para configurar las marcas de tiempo del archivo o directorio
-Destablecer la misma marca de tiempo arbitraria para el tiempo de acceso y modificación utilizando una fecha legible por humanos de formato libre
-tcrear un archivo usando un tiempo especificado

Utilizando tocar Mando

El tocar El comando se puede usar para crear archivos vacíos sin usar ninguna opción. Siga los ejemplos que se dan a continuación para crear archivos vacíos únicos y múltiples.

Para crear un archivo vacío

Puedes usar el tocar comando sin ninguna opción para crear un solo archivo vacío.

Sintaxis:

toca [nombre de archivo]

Ejemplo:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch iift.txt

Aquí he creado un archivo llamado iift.txt usando tocar mando. Utilizar el ls comando para ver si se crea el archivo.

gaurav @ ubuntu: ~ / espacio de trabajo $ ls iift.txt init1 init2 init3 init4

Para ver la información del archivo, puede utilizar el estadística comando de la siguiente manera.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 0 Bloques: 0 Bloque IO: 4096 archivo vacío normal Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 10: 18: 43.318160860 +0530 Modificar: 2020-09-14 10: 18: 43.318160860 +0530 Cambiar: 2020-09-14 10: 18: 43.318160860 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

Para crear varios archivos vacíos

Si desea crear varios archivos vacíos a la vez, puede utilizar el tocar comando de la siguiente manera.

Sintaxis:

toque [nombre de archivo-1] [nombre de archivo-2] [nombre de archivo-3]

Ejemplo:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch log1.txt ssh.txt filemove.c gaurav @ ubuntu: ~ / espacio de trabajo $ ls -l total 36 -rw-r - r-- 1 gaurav gaurav 0 14 de septiembre 10:35 filemove .c -rw-r - r-- 1 gaurav gaurav 0 14 de septiembre 10:18 iift.txt -rw-r - r-- 1 gaurav gaurav 0 14 de septiembre 10:35 log1.txt -rw-r-- r-- 1 gaurav gaurav 0 14 de septiembre 10:35 ssh.txt

Aquí he creado tres archivos "log1.txt", "ssh.txt" y "filemove.c". Estos tienen diferentes extensiones de archivo.

También puede crear archivos vacíos de forma masiva de la siguiente manera.

Sintaxis:

toque [nombre de archivo] - {1..n} .txt

Ejemplo:

Crearemos 10 archivos a saber. sheldon_log-1.txt, sheldon_log-2.txt y así sucesivamente hasta sheldon_log-10.txt

gaurav @ ubuntu: ~ / espacio de trabajo $ touch sheldon_log- {1..0} .txt gaurav @ ubuntu: ~ / espacio de trabajo $
gaurav @ ubuntu: ~ / espacio de trabajo $ ls filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt gsy.c log1.txt sheldon_log-1. txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt gaurav @ ubuntu: ~ / espacio de trabajo $

Cambiar o modificar la hora de acceso al archivo o directorio

La marca de tiempo de acceso es la última vez que se leyó un archivo. Siempre que un usuario lee un archivo, se actualiza la marca de tiempo de acceso para ese archivo. La marca de tiempo de acceso indica la hora en la que se accedió por última vez al archivo. No se está realizando ninguna modificación con este archivo o directorio, solo se hace referencia a él o se lee.

Utilizando tocar comando con opción -a modifica el "tiempo de acceso" de un archivo en particular. La nueva "Hora de acceso" se establecerá en la fecha y hora actuales. Para comprobar el tiempo de acceso actual y el tiempo de modificación, utilice el estadística mando.

Modificar archivo

Sintaxis:

toque -a [nombre de archivo]

Ejemplo:

Veremos el tiempo de acceso actual del archivo a modificar.

gaurav @ ubuntu: ~ / workspace $ stat log1.txt Archivo: log1.txt Tamaño: 0 Bloques: 0 Bloque IO: 4096 archivo vacío normal Dispositivo: 808h / 2056d Inode: 2001385 Enlaces: 1 Acceso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-13 23: 52: 19.305416141 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Cambiar: 2020-09-13 23: 52: 19.305416141 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

Utilizando tocar -a para cambiar la Hora de acceso del archivo log1.txt a la fecha y hora actual.

Producción:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -a log1.txt gaurav @ ubuntu: ~ / espacio de trabajo $
gaurav @ ubuntu: ~ / workspace $ stat log1.txt Archivo: log1.txt Tamaño: 0 Bloques: 0 Bloque IO: 4096 archivo vacío normal Dispositivo: 808h / 2056d Inode: 2001385 Enlaces: 1 Acceso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Cambiar: 2020-09-14 10: 59: 24.972855176 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

Puede observar que ahora se modifica el tiempo de acceso al archivo log1.txt.

Modificar directorio

tocar -a también se puede utilizar para modificar el tiempo de acceso de un directorio de la misma forma que se hace para un archivo.

Sintaxis:

toque -a [ruta_directorio]

Ejemplo:

gaurav @ ubuntu: ~ $ stat ./workspace/tomcat Archivo: ./workspace/tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Código: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2018-03-30 11: 18: 28.912666800 +0530 Modificar: 2018-03-30 00: 13: 02.452194000 +0530 Cambio: 2020-09-14 11 : 18: 28.912666800 +0530 Nacimiento: -

Utilizando tocar -a para modificar el tiempo de acceso al directorio tomcat.

gaurav @ ubuntu: ~ $ touch -a ./workspace/tomcat
gaurav @ ubuntu: ~ $ stat ./workspace/tomcat Archivo: ./workspace/tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Código: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2018-03-30 00: 13: 02.452194000 +0530 Cambio: 2020-09-14 11 : 21: 10.638538949 +0530 Nacimiento: - gaurav @ ubuntu: ~ $

Aquí, la hora de acceso al directorio "tomcat" ahora se cambia a la fecha y hora actual.

Cambiar la hora de modificación del archivo / directorio

El tiempo de modificación significa la última vez que se modificó el contenido de un archivo. Un programa o proceso editó o modificó el archivo. “Modificado” significa que algo dentro del archivo se modificó, eliminó o se agregaron nuevos datos.

Utilizando tocar comando junto con la opción -metro modifica el "tiempo de modificación" de un archivo o directorio. Los siguientes métodos se pueden implementar para archivos y directorios.

Para archivo

toque -m [nombre de archivo]

Ejemplo:

En primer lugar, usando estadística comando para mostrar la hora de modificación del archivo.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 Bloque IO: 4096 archivo regular Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 33: 36.927262587 +0530 Modificar: 2020-09-12 08: 33: 28.339190370 +0530 Cambio: 2020 -09-12 08: 33: 28.339190370 +0530

Ahora usa el tocar -m comando para modificar el tiempo de modificación.

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -m iift.txt
gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 Bloque IO: 4096 archivo regular Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 33: 36.927262587 +0530 Modificar: 2020-09-14 11: 34: 34.719723531 +0530 Cambio: 2020 -09-14 11: 34: 34.719723531 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

La "hora de modificación" del archivo iift.txt ahora se cambia a la fecha y hora actuales.

Para directorio

toque -m [ruta_directorio] O [nombre_directorio]

Ejemplo:

Cambiaremos el tiempo de modificación del directorio llamado 'tomcat' usando el tocar -m mando. Averigüemos su "tiempo de modificación" actual utilizando el estadística mando.

gaurav @ ubuntu: ~ / workspace $ stat tomcat Archivo: tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Inode: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2019-07-12 11: 43: 22.482485281 +0530 Cambio: 2019-07-12 11: 43: 22.482485281 +0530 Nacimiento: -

Producción:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -m tomcat
gaurav @ ubuntu: ~ / workspace $ stat tomcat Archivo: tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Inode: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2020-09-14 11: 43: 22.482485281 +0530 Cambio: 2020-09-14 11: 43: 22.482485281 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

Aquí, he cambiado la marca de tiempo de modificación para el directorio "tomcat".

Cambiar el tiempo de acceso sin crear un archivo nuevo

tocar comando cuando se ejecuta, crea un nuevo archivo vacío. Pero pueden ocurrir algunos casos en los que el archivo ya está creado y solo desea modificar el tiempo de acceso de ese archivo sin crear uno nuevo.

En esta situación, puede utilizar tocar comando con el -C opción que evita la creación de un nuevo archivo y aún le permite modificar la marca de tiempo de acceso.

Sintaxis:

toque -c [nombre de archivo]

Ejemplo:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -c iift.txt gaurav @ ubuntu: ~ / espacio de trabajo $ ls demo gsy.c log1.txt sheldon_log-1.txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt tomcat gaurav @ ubuntu: ~ / espacio de trabajo $

Del mismo modo, puede cambiar la hora de acceso del directorio ya existente. Puede utilizar el siguiente método para hacerlo.

Ejemplo:

Visualización de la marca de tiempo de acceso actual del directorio tomcat.

gaurav @ ubuntu: ~ / workspace $ stat tomcat Archivo: tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Inode: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acceso: 2020-09-14 11: 21: 10.638538949 +0530 Modificar: 2020-09-14 11: 43: 22.482485281 +0530 Cambio: 2020-09-14 11: 43: 22.482485281 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $ 
gaurav @ ubuntu: ~ / espacio de trabajo $ touch -c tomcat

Aquí, he cambiado la hora de acceso del directorio ya existente "tomcat".

Producción:

gaurav @ ubuntu: ~ / workspace $ stat tomcat Archivo: tomcat Tamaño: 4096 Bloques: 8 Bloque IO: directorio 4096 Dispositivo: 808h / 2056d Inode: 2039942 Enlaces: 3 Acceso: (0775 / drwxrwxr-x) Uid: (1000 / gaurav ) Gid: (1000 / gaurav) Acceso: 2020-09-14 20: 18: 52.625031128 +0530 Modificar: 2020-09-14 20: 18: 52.625031128 +0530 Cambio: 2020-09-14 20: 18: 52.625031128 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $ 

Comprobación cruzada de la salida:

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -c temp.cpp gaurav @ ubuntu: ~ / espacio de trabajo $ ls temp.cpp ls: no se puede acceder a 'temp.cpp': no ​​existe tal archivo o directorio gaurav @ ubuntu: ~ / espacio de trabajo $ 

Aquí, traté de usar toque -c con temp.cpp. Este archivo no existe. Por lo tanto, podemos decir que usando tocar con opcion -C evita la creación de nuevos archivos vacíos y modifica la marca de tiempo solo para el archivo existente.

Modificación de la marca de tiempo de acceso y modificación a una fecha y hora específicas

En los bloques anteriores, debes haber observado que siempre que usamos el tocar comando para cambiar las marcas de tiempo, se cambia a la hora y fecha actuales.

Sin embargo, puede haber casos en los que necesite utilizar una fecha y hora personalizadas. Utilizando tocar comando con -C y -t las opciones pueden servir al propósito.

Ejemplo:

Cambiaré la marca de tiempo de acceso y modificación en el archivo iift.txt a una fecha y hora personalizadas.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 Bloque IO: 4096 archivo regular Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 12: 04: 07.091786565 +0530 Modificar: 2020-09-14 12: 04: 07.091786565 +0530 Cambio: 2020 -09-14 12: 04: 07.091786565 +0530 Nacimiento: -

La fecha y la hora se pueden especificar en el formato: {CCYY} MMDDhhmm.ss

ParámetroDescripción
CCPrimeros dos dígitos de un año
YYSegundos dos dígitos de un año
MMMes del año (01-12)
DDDía del mes (01-31)
S.SHora del día (00-23)
mmMinutos de la hora (00-59)

Estoy usando el sello de fecha como 203011051820 (es decir, 5 de noviembre de 2030, 18:20 horas).

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -c -t 203011051820 iift.txt

Este comando cambiará la marca de tiempo de Acceso y Modificación para el archivo iift.txt como sigue.

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 Bloque IO: 4096 archivo regular Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2030-11-05 18: 20: 00.000000000 +0530 Modificar: 2030-11-05 18: 20: 00.000000000 +0530 Cambio: 2020 -09-14 20: 39: 55.641781140 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $ 

Uso de un archivo de referencia para establecer la marca de tiempo

tocar El comando también se puede usar con la opción -r para utilizar la marca de tiempo de un archivo de referencia de su elección en su archivo actual.

Sintaxis:

touch -r [archivo_de_referencia] [archivo_real]

Ejemplo:

Usaremos gsy.c archivo como archivo de referencia. Entonces, las marcas de tiempo de gsy.c se utilizará para el archivo iift.txt. Comprobemos las marcas de tiempo actuales de ambos archivos primero con estadística mando.

gaurav @ ubuntu: ~ / workspace $ stat gsy.c Archivo: gsy.c Tamaño: 0 Bloques: 0 Bloque IO: 4096 archivo vacío normal Dispositivo: 808h / 2056d Inode: 2001385 Enlaces: 1 Acceso: (0644 / -rw-r --r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Cambiar: 2020-09-14 10: 59: 24.972855176 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 IO Bloque: 4096 archivo regular Dispositivo: 808h / 2056d Inode : 1990385 Enlaces: 1 Acceso: (0644 / -rw-r - r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2025-10-19 18: 20: 00.000000000 +0530 Modificar: 2025-10-19 18: 20: 00.000000000 +0530 Cambio: 2020-09-14 20: 39: 55.641781140 +0530 

Usando el comando toque -r ahora.

gaurav @ ubuntu: ~ / espacio de trabajo $ touch -r gsy.c iift.txt

Producción:

gaurav @ ubuntu: ~ / workspace $ stat iift.txt Archivo: iift.txt Tamaño: 66 Bloques: 8 Bloque IO: 4096 archivo regular Dispositivo: 808h / 2056d Inode: 1990385 Enlaces: 1 Acceso: (0644 / -rw-r- -r--) Uid: (1000 / gaurav) Gid: (1000 / gaurav) Acceso: 2020-09-14 10: 59: 24.972855176 +0530 Modificar: 2020-09-13 23: 52: 00.215090207 +0530 Cambio: 2020 -09-14 21: 04: 27.640026328 +0530 Nacimiento: - gaurav @ ubuntu: ~ / workspace $

En la salida, podemos ver que las marcas de tiempo del archivo iift.txt ha cambiado. Las nuevas marcas de tiempo ahora son similares a las del archivo de referencia gsy.c

Conclusión

En este tutorial, aprendimos sobre la tocar comando y varias opciones disponibles con él para crear nuevos archivos vacíos y modificar las marcas de tiempo de los archivos existentes de varias maneras.