Cómo tocar todos los archivos en subárbol recursivamente Linux?

Cómo tocar todos los archivos en subárbol recursivamente Linux?
Touch es un comando en Linux que se usa para crear y modificar las marcas de tiempo de un archivo. Además, puede crear archivos sin contenido y una marca de tiempo especificada por el usuario. A menudo, tenemos un directorio en Linux con múltiples subdirectorios y archivos, y deseamos cambiar las marcas de tiempo de cada subdirectorio y archivo.

En este artículo, analizaremos cómo tocar todos esos archivos y subdirectorios de manera recursiva, junto con un desglose integral de los comandos que se utilizan para este propósito.

¿Cuál es el comando touch y cómo usarlo??

El propósito del comando táctil en Linux es doble; Se puede usar para crear archivos vacíos con una marca de tiempo especificada por nosotros, y se puede usar para modificar y cambiar las marcas de tiempo de los archivos ya existentes. Es un comando muy útil, ya que puede cambiar una amplia gama de marcas de tiempo, incluidas, entre otros, el acceso (la última vez que se accedió el archivo) y modificados (la última vez que se modificó el archivo) las marcas de tiempo). Enumeraremos algunos de los usos comunes del comando táctil y sus formatos.

  • Touch FileName: crea un archivo vacío con el nombre especificado por el argumento 'nombre de archivo'.
  • Touch -A: Se usa para cambiar la última marca de tiempo de acceso de un archivo.
  • touch -c: verifica si un archivo con el nombre especificado existe o no. Si dicho archivo no existe, evita crearlo.
  • touch -c -d: utilizado para actualizar el tiempo de acceso y modificación.
  • touch -m: se usa para actualizar el último tiempo de modificación del archivo especificado.
  • touch -r: se usa para almacenar la marca de tiempo de otro archivo como referencia.
  • touch -t: se usa para crear un archivo con una marca de tiempo específica.

Ahora que tenemos a nuestros lectores familiarizados con los usos fundamentales del comando táctil, avanzaremos para aprender cómo podemos usarlo para tocar todos los archivos y subdirectorios en un subárbol de manera recursiva.

Paso 1 - Abra una terminal

Usaremos la interfaz de línea de comandos para tocar todos los archivos en un subárbol recursivamente. Para comenzar, abriremos una nueva terminal de comando. Puede abrir una ventana de terminal, ya sea accediendo a través del menú de la aplicación o presionando el atajo de teclado Ctrl + Alt + T.

Paso 2: ejecute el comando touch

Para fines de demostración, tomaremos un directorio de ejemplo para experimentar libremente con el comando touch. En este caso, nuestro directorio se encuentra en ~/ejemplo. Obviamente, debe seguir el directorio de su elección para garantizar el máximo aprendizaje. Debe cambiarlo de acuerdo con el directorio que desea tocar. Después de establecer el directorio correcto, todo lo que queda por hacer es ejecutar el siguiente comando para tocar todos los archivos y subdirectorios en la carpeta especificada.

$ Find ~/Ejemplo -exec Touch \;

Como vimos anteriormente, hay muchas variantes del comando touch que se puede ejecutar para lograr diferentes propósitos. Uno de esos casos es cuando el usuario desea imprimir todos los directorios en cuestión. Esto también se puede hacer a través del comando touch. Todo lo que debe hacerse es un poco de modificación en la sintaxis y la adición de "-imprenta" al comando. Ejecute el comando a continuación para probar la función de impresión (una vez más se le informa que se asegure de que la dirección esté configurada en su directorio deseado que debe tocarse).

$ find ~/ejemplo -print -exec touch \;

Como puede ver en la imagen de arriba, los directorios no solo se tocan sino que también se imprimen mientras ejecutamos el comando anterior.

Desglose de los comandos

Ahora que hemos cubierto la parte principal del proceso, aquellos que sienten curiosidad sobre cómo funcionan los comandos anteriores pueden quedarse para obtener más detalles sobre ellos. Esta sección desglosará cada parte de los comandos que ejecutamos uno por uno y pasará por sus funcionalidades.

En primer lugar, echemos un vistazo al comando Find.

El comando Find se utiliza para buscar archivos y directorios en un directorio particular. Algunos métodos posibles de su uso se dan a continuación.

  • Find -name: se usa para buscar un nombre de archivo particular en un directorio.
  • encontrar -iname: utilizado para realizar una búsqueda de nombres insensibles.
  • Buscar -f: utilizado para encontrar un archivo normal.
  • Find -d: utilizado para encontrar directorios.
  • Find -l: se usa para encontrar enlaces simbólicos.
  • find -c: utilizado para encontrar dispositivos de caracteres.
  • Find -B: se usa para encontrar dispositivos de bloque.
  • Find -s: se usa para encontrar enchufes

Ahora, debe entender lo que hace el comando Find y cómo usarlo. Esencialmente, enumera todos los archivos y directorios en una dirección dada por el usuario.

Avanzando, especificamos el directorio donde queremos buscar archivos y directorios.

-Impresión le dice a la terminal que muestre los archivos y directorios que encuentra el comando.

-Exec Touch Ejecuta el comando touch en cada uno de los archivos y directorios encontrados.

se asegura de que los nombres de los archivos y los directorios que encuentran listas de comandos se están reenviando para tocar el comando como argumentos.

\; se usa para escapar del comando exec.

Dicho esto, hemos cubierto el propósito detrás de cada parte de este comando.

Conclusión

Este artículo analizó cómo tocar todos los archivos en un subárbol utilizando recursivamente comandos Find and Touch. Además, se presenta una descripción general del comando Touch and Find, junto con un desglose de su combinación utilizada para enumerar y tocar archivos en un subárbol recursivamente.