El comando que publicaste tiene dos partes
-
find /Volumes/Documents/ -exec stat -f "%N %Sm" {} +
-
>~/Desktop/test.txt
La segunda parte es más fácil de explicar, simplemente escribe toda la salida de la primera en un archivo llamado test.txt
que se almacena en su escritorio. Si deja esa parte fuera, el resultado de find
se escribirá directamente en la ventana de su Terminal.
La primera parte es el comando find
real. Una llamada a find
básicamente obtiene dos tipos de parámetros
- uno o varios caminos que actúan como punto de partida para la búsqueda (
/Volumes/Documents/
en su caso)
- una o varias expresiones, también conocidas como "comandos de búsqueda", que se aplican a todos los archivos / carpetas encontrados
Una versión simple se vería como find /Volumes/Documents/ -print
, que solo imprime todos los archivos / carpetas encontrados.
En tu ejemplo, la parte de la expresión es un poco más elaborada:
-
-exec
ejecuta un comando sobre los resultados de encontrar ( stat -f "%N %Sm"
en realidad)
-
stat
proporciona información sobre un archivo.
-
La opción -f
para stat muestra información usando un formato específico.
-
%N %Sm
es el formato utilizado por -f
.
-
%
significa una cadena de formato.
-
N
significa imprimir el nombre del archivo.
-
Sm
significa imprimir la fecha modificada para el archivo.
-
{} +
se reemplaza por la mayor cantidad de archivos encontrados / posible en cada llamada a stat
Para obtener más información sobre cómo comprender los comandos, consulte la página del manual de find
y stat
.