La commande que vous avez postée a deux parties
find /Volumes/Documents/ -exec stat -f "%N %Sm" {} +
>~/Desktop/test.txt
La deuxième partie est plus facile à expliquer, elle écrit simplement toutes les sorties de la première dans un fichier appelé test.txt
qui est stocké sur votre bureau. Si vous omettez cette partie, le résultat de find
sera directement écrit dans votre fenêtre de terminal.
La première partie est la véritable commande find
. Un appel à find
obtient essentiellement deux types de paramètres
- un ou plusieurs chemins servant de point de départ pour la recherche (
/Volumes/Documents/
dans votre cas)
- un ou plusieurs expressions également appelées "commandes find" qui sont appliquées à chaque fichier/dossier trouvé
Une version simple ressemblerait à find /Volumes/Documents/ -print
qui imprime simplement chaque fichier/dossier trouvé.
Dans votre exemple, la partie expression est un peu plus élaborée :
-
-exec
exécute une commande sur les résultats de find (stat -f "%N %Sm"
en fait)
-
stat
donne des informations sur un fichier.
-
L'option -f
pour stat affiche les informations en utilisant un format spécifié.
-
%N %Sm
est le format utilisé par -f
.
-
%
signifie une chaîne de format.
-
N
signifie imprimer le nom du fichier.
-
Sm
signifie imprimer la date de modification pour le fichier.
-
{} +
est remplacé par autant de fichiers trouvés/que possible dans chaque appel à stat
Pour plus d'informations sur la compréhension des commandes, consultez la page de manuel pour find
et stat
.