Trouver des fichiers à partir de la ligne de commande

La recherche dans le système de fichiers pour un document ou un fichier spécifique est facile et très rapide. Bien que la plupart des utilisateurs soient mieux servis avec Spotlight depuis la barre de menus, il arrive que Spotlight ne fonctionne pas, que vous ayez besoin de plus de paramètres, que vous travailliez sur le Terminal, que vous utilisiez une machine distante ou que vous vouliez utiliser un fonction de recherche alternative.

Vous avez de la chance, nous allons vous montrer comment trouver des fichiers et des dossiers directement à partir de la ligne de commande en utilisant deux astuces différentes. La première méthode est indépendante du système d'exploitation, ce qui signifie que vous pouvez utiliser la fonction de recherche avec Mac OS X, Linux, BSD et de nombreuses autres variantes Unix, alors que la deuxième méthode de recherche utilise un modèle de recherche de fichiers Mac uniquement. la ligne de commande. Lisons et apprenons à utiliser ces grandes capacités.

Recherche de fichiers à partir de la ligne de commande avec find

La commande find est très rapide et facile à utiliser, elle vient directement du monde unix et fonctionne donc sous Linux et Mac OS X. Si vous cherchez à apprendre des choses qui sont cohérentes sur toutes les plateformes, find est un bon choix.

Au plus basique, find peut être utilisé comme ça:

find path parameters

Par exemple, vous pouvez trouver n'importe quoi dans le répertoire personnel de l'utilisateur contenant "screen" dans son nom avec ce qui suit:

find ~ -iname "screen*"

Vous voudrez peut-être canaliser les résultats à plus si vous attendez un grand retour, comme ceci:

find ~ -iname "screen*" | more

Bien sûr, vous pouvez également trouver des fichiers spécifiques qui sont enterrés quelque part dans un répertoire. Par exemple, en regardant dans le dossier de la bibliothèque de l'utilisateur pour un fichier plist spécifique:

find ~/Library/ -iname "com.apple.syncedpreferences.plist"

Vous aurez besoin de préfixe find avec 'sudo' pour rechercher les répertoires racine et en dehors des privilèges utilisateur actuels. find prend également en charge les expressions, ce qui vous permet de rechercher des correspondances, des caractères génériques, des séquences et d'autres options avancées très spécifiques.

find est très puissant mais sa puissance apporte rapidement de la complexité, par conséquent la commande mdfind classique est probablement meilleure pour les utilisateurs en ligne de commande plus novices.

Recherche de fichiers sur la ligne de commande avec mdfind

mdfind est l'interface du terminal de Spotlight, ce qui signifie qu'il ne fonctionnera pas si Spotlight lui-même est désactivé, ne fonctionne pas pour une autre raison, ou reconstruit son index. En supposant que Spotlight fonctionne comme prévu, mdfind est très rapide, efficace et un peu plus convivial.

Au niveau le plus élémentaire, mdfind est utilisé comme suit:

mdfind -name FileName

Par exemple, pour trouver toutes les apparences de "Photo 1.PNG" la commande serait:

mdfind -name "Photo 1.PNG"

Parce que mdfind est comme Spotlight, il peut également être utilisé pour rechercher le contenu des fichiers et des dossiers pour un fichier spécifique. Pour trouver tous les documents contenant someones nom pourrait être fait comme suit:

mdfind "Will Pearson"

Tout comme la commande find, envoyer des résultats à plus peut être utile lors du tri d'un grand nombre de fichiers, comme ceci:

mdfind "Sent from my" | more

mdfind peut également être limité à des répertoires spécifiques avec le drapeau -onlyin:

mdfind -onlyin ~/Library plist

Enfin, il y a aussi la commande 'locate', qui est aussi très puissante et peut être liée à find, mais elle doit être activée séparément.

Connaître d'autres astuces de recherche ou méthodes de localisation de fichiers pour la ligne de commande? Partagez avec nous dans les commentaires.