GNU/Linux >> Tutoriales Linux >  >> Linux

9 ejemplos útiles de Touch Command en Linux

Comando táctil en Linux

El comando táctil en Linux se usa para cambiar las marcas de tiempo de los archivos; sin embargo, uno de los usos más comunes del comando táctil incluye la creación de un nuevo archivo vacío.

Con el comando táctil, puede cambiar el acceso, modificar y cambiar la hora de los archivos y carpetas en Linux. Puede actualizar las marcas de tiempo o modificarlas a una fecha pasada.

La sintaxis del comando táctil es bastante simple:

touch [option] file

¿Qué son las marcas de tiempo de archivo en Linux, de nuevo?

He escrito sobre las marcas de tiempo en Linux en detalle en un artículo anterior. Recomendaría leerlo para una mejor y más clara comprensión. En aras de un recuerdo rápido, enumeraré las marcas de tiempo aquí:

  • hora de acceso:la última vez que se accedió a un archivo
  • hora de modificación:la última vez que se modificó un archivo
  • hora de cambio:última vez que se cambiaron los metadatos del archivo (permiso del archivo, propiedad, etc.)

Puede ver las marcas de tiempo de un archivo usando el comando stat de la siguiente manera:

stat abhi.txt 
  File: abhi.txt
  Size: 10        	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11940163    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 14:12:24.476483367 +0530
Modify: 2018-09-02 14:12:24.476483367 +0530
Change: 2018-09-02 14:12:24.476483367 +0530
 Birth: -

El comando Stat incluso muestra el número de inodo del archivo.

9 ejemplos prácticos de touch command en Linux

Ahora veamos cómo usar el comando táctil con algunos ejemplos simples pero útiles.

1. Crea un  archivo vacío

Como mencioné anteriormente, este es el uso más común del comando táctil. Todo lo que tiene que hacer es tocar con el nombre del archivo.

touch <filename>

Esto creará un archivo vacío si el archivo no existe.

touch empty_file
ls -l empty_file 
-rw-r--r-- 1 abhishek abhishek 0 Sep  2 14:37 empty_file

Pero, ¿y si el archivo ya existe? En ese caso, actualizará las tres marcas de tiempo del archivo a la hora actual.

2. Crear múltiples archivos vacíos

También puede usar el toque para crear más de un archivo vacío. Simplemente proporcione los nombres de los archivos que desea crear.

touch <file1> <file2> <file3>

Si cree que es agotador escribir todos los nombres de archivo, puede generar automáticamente nombres de archivo de esta manera:

touch new-file-{1..10}.txt

Esto creará nuevo-archivo-1.txt, nuevo-archivo-2.txt hasta nuevo-archivo-10.txt.

3. Evite crear un archivo con toque si no existe

Touch actualizará las marcas de tiempo del archivo de entrada si existe y creará un archivo vacío si el archivo de entrada no existe.

Pero, ¿qué sucede si no desea tocar para crear un nuevo archivo vacío? Desea que actualice las marcas de tiempo del archivo, pero si el archivo no existe, no debe crearse.

Puede usar el comando táctil con la opción -c en tales casos:

touch -c <filename>
Recuerda :Toque creará un nuevo archivo vacío si no existe; de ​​lo contrario, modificará las marcas de tiempo del archivo existente. Puede detener la creación de un nuevo archivo con la opción -c.

4. Cambiar todas las marcas de tiempo de un archivo

Si usa el toque en un archivo existente, cambiará el acceso, modificará y cambiará la hora de ese archivo.

Por ejemplo, tengo este archivo llamado sherlock.txt con las siguientes marcas de tiempo:

stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-08-25 09:44:56.092937000 +0530
Modify: 2018-08-09 09:41:05.028309000 +0530
Change: 2018-08-25 09:44:56.096937182 +0530

Si uso el toque en este comando, todas las marcas de tiempo se cambiarán a las marcas de tiempo actuales.

touch sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:22:47.017037942 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:22:47.017037942 +0530
 Birth: -

Nota:no debe molestarse con ctime (hora de cambio). Es una propiedad del sistema y no puede/no debe ser controlada por el usuario. Su enfoque debe estar en el acceso y modificar el tiempo.

5. Actualizar solo el tiempo de acceso del archivo

Es posible que no siempre desee cambiar todas las marcas de tiempo de un archivo. Si solo desea cambiar el tiempo de acceso de un archivo, puede usar la opción -a con toque.

touch -a sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:29:08.796926093 +0530
 Birth: -

6. Actualizar solo modificar la hora del archivo

Si solo desea actualizar la hora de modificación de un archivo a la marca de tiempo actual, use la opción -m del comando táctil.

touch -m sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:31:25.770866881 +0530
Change: 2018-09-02 15:31:25.770866881 +0530
 Birth: -

7. Usar marcas de tiempo de otro archivo

También puede usar las marcas de tiempo de otro archivo como referencia con la opción -r de la siguiente manera:

touch -r <source_file> <target_file>

Esto establecerá el acceso y la hora de modificación del archivo de destino igual que el acceso y la hora de modificación del archivo de origen.

8. Establecer hora específica de acceso y modificación

Es posible que haya notado que en casi todos los casos (excepto el del archivo de referencia), las marcas de tiempo se cambian a la marca de tiempo actual.

Pero no estás obligado a eso. Touch le permite configurar el tiempo de acceso y modificación a una fecha pasada o futura. Puede usar la opción -t y una marca de tiempo en el siguiente formato:

[[CC]AA]MMDDhhmm[.ss]

  • CC:los dos primeros 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 – Minuto de la hora (00-59)
  • ss:segundos (00-59)

En el caso anterior, CC es opcional. De hecho, CCYY también es opcional, tomará el año actual en ese caso. Del mismo modo, los segundos también son opcionales, el valor predeterminado es 00.

Déjame mostrarte un ejemplo cambiando la marca de tiempo a 12021301, es decir, mes 12, segundo día, hora 13 y primer minuto del año actual:

touch -t 12021301 agatha.txt 
stat agatha.txt 
  File: agatha.txt
  Size: 457       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928279    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-12-02 13:01:00.000000000 +0530
Modify: 2018-12-02 13:01:00.000000000 +0530
Change: 2018-09-02 15:59:47.588680901 +0530
 Birth: -

Si intenta ingresar una fecha no válida, verá un error. También notará que el tiempo de cambio está usando la marca de tiempo actual, no lo mismo que acceder y modificar. Es porque es propiedad del sistema.

9. Cambiar la marca de tiempo de un enlace simbólico

También puede usar el comando táctil con enlaces simbólicos. Solo tiene que usar la opción -h al tratar con enlaces simbólicos. El resto permanece igual que los archivos normales.

touch -h <symbolic_link>

Espero que encuentre útiles estos ejemplos de comandos táctiles en Linux. Si tiene alguna pregunta o sugerencia, hágamelo saber.


Linux
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. Comando ls en Linux:17 ejemplos útiles explicados

  3. Comando mv en Linux:7 ejemplos esenciales

  4. 9 ejemplos útiles del comando Split en Linux

  5. 14 ejemplos útiles de comandos "cat" en Linux

Comando WC de Linux con ejemplos

Ejemplos de comandos táctiles de Linux

15 ejemplos útiles de comandos táctiles en el sistema Linux

9 ejemplos útiles de Touch Command en Linux

Ejemplos de comandos cat de Linux

Ejemplos de comandos gzip de Linux