279 votes

Comment trouver un fichier par son nom dans le terminal Mac OSX ?

Je veux trouver un fichier sur mon Macbook avec le nom de fichier : abc.dmg . J'ai essayé d'utiliser spotlight, mais il ne le trouve pas. Quand j'ai essayé de trouver, et utilisé : find -name abc.dmg -path / j'ai reçu des erreurs en retour.

Quelle est la syntaxe correcte pour trouver un fichier par nom de fichier avec la commande find sur un terminal Mac OSX ?

1 votes

@VxJasonxV Les questions relatives à Apple sont 100% dans le sujet de Super User, et il n'est pas vraiment nécessaire que toutes les questions relatives à Apple y soient déplacées. Les questions relatives à l'iPhone ou à l'iPad seront cependant déplacées quand/si nécessaire.

1 votes

Ce n'était pas tant une raison d'être hors sujet, mais le fait qu'il existe un sujet/site plus spécifique pour ce sujet général.

1 votes

@Diago : Y a-t-il eu une discussion à ce sujet sur meta ou sur le chat ? Je me demande juste parce que, selon l'AFAIK, apple.SE va bientôt sortir de sa phase bêta, et il serait bon que tout le monde soit sur la même longueur d'onde.

342voto

Ryan Gauger Points 11

Dans sa forme la plus simple, find prend un paramètre : le chemin. Dans sa forme réellement utile, il prend le chemin suivi par les critères de rétrécissement.

Ainsi, vous voulez :

  • find (le programme)
  • / (le chemin), et
  • -name abc.dmg (les critères).

    find / -name abc.dmg

18 votes

Vous pouvez obtenir des erreurs de type permission refusée lors de la recherche sur l'ensemble du disque, mais elles peuvent être ignorées, sauf si vous pensez que le fichier se trouve dans un dossier à accès restreint. Dans ce cas, utilisez sudo find / -name abc.dmg

1 votes

J'ai essayé, mais sans résultat.

11 votes

On peut donc supposer que vous n'avez pas de fichier nommé abc.dmg sur votre ordinateur. Vous pouvez utiliser -iname au lieu de -name pour rendre la recherche insensible à la casse. Je doute fortement que vous recherchiez réellement "abc.dmg", et étant donné ce fait (présumé), il est difficile de vous dire quel est votre problème sans avoir les détails réels.

63voto

pjammer Points 621

find . -name '*.csv' par exemple, a fonctionné pour moi avec des caractères génériques. Le PO pourrait également utiliser find . -name '*.dmg' pour vérifier son répertoire actuel, en supposant qu'il se trouve dans / .

16voto

Lark Points 1640

2 votes

Mais Spotlight ne le trouve pas, conformément à la question initiale de l'OP.

8voto

Wuffers Points 18372

Vous pouvez utiliser le locate commandement.

locate abc.dmg

5 votes

Notez le osx tag. slocate db ne se remplit pas par défaut.

0 votes

Je l'ai essayé, après avoir créé la base de données, mais sans résultat.

0 votes

Si locate y mdfind Si les deux échouent, il y a de fortes chances que le fichier ne soit pas sur votre machine. Ou son nom n'est pas celui que vous pensez. Peut-être qu'une recherche de TOUS les DMGs pourrait être votre prochaine étape ?

5voto

Rafa de Castro Points 111

La méthode la plus simple (que vous avez sûrement déjà essayée, mais laissez-moi quand même l'ajouter au fil de discussion) consiste à entrer abc.dmg dans le champ de recherche en haut à droite de n'importe quelle fenêtre du Finder, puis à sélectionner "Nom du fichier" dans les options de la barre de recherche qui apparaît.

Pas besoin du terminal.

Rappelez-vous également que Spotlight n'indexe que les répertoires spécifiés dans le panneau de configuration de Spotlight et que abc.dmg peut ne pas se trouver dans l'un de ces répertoires.

Corrigez-moi si je me trompe, mais je pense que la commande find doit savoir ce qu'elle doit afficher :

find / -name abc.dmg -print

...devrait imprimer tous les résultats dans le terminal (y compris les erreurs de permission).

Si vous ne voulez pas d'erreurs d'autorisation et que vous souhaitez rechercher d'autres répertoires d'utilisateurs, alors.. :

sudo find / -name abc.dmg -print

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X