Jai besoin de trouver des configurations enfouies dans des dossiers cachés et je ne peux pas me rappeler où elles se trouvent pour y accéder directement Cmd + Shift + G .

Jai fait un sudo find -name Foo* (lent), mais aucun des éléments renvoyés les fichiers étaient dans des dossiers cachés.

Quelle est la manière la plus simple de rechercher tous les fichiers cachés?

Commentaires

  • Remarque: Utilisation sudo nest pas nécessaire, sauf si vous devez rechercher dans des répertoires auxquels vous navez pas accès. La recherche dans les répertoires masqués ne nécessite pas de privilèges élevés, si ' s pourquoi ' est utilisé dans votre exemple.

Réponse

mdfind semble ignorer un grand nombre de fichiers cachés. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename" liste .DS_Store, mais pas par exemple .bash_history. Je nai « trouvé aucun moyen de rechercher un fichier s dans certains répertoires cachés comme /private/etc/.

Quoi quil en soit, Rechercher un fichier est beaucoup plus rapide que find.

Find Any File est un programme pour Mac OS X qui vous permet de rechercher des fichiers sur vos disques.

  • Contrairement à Spotlight, il nutilise pas de base de données mais utilise à la place le pilote du système de fichiers « s opérations de recherche rapide, le cas échéant. Cela vous permet de rechercher des propriétés de fichier telles que le nom, les dates, la taille, etc., mais pas le contenu du fichier (utilisez Spotlight ou EasyFind pour cela).
  • Find Any File peut trouver les fichiers que Spotlight ne fait pas « t , par exemple ceux à lintérieur des bundles et des packages et dans les dossiers internes qui sont généralement exclus de la recherche Spotlight.
  • Enfin, cest assez rapide. Une recherche ne prend que quelques secondes sur un disque dur interne ou SSD. Essayez pour vous-même!

Réponse

En supposant que par « hidden file », vous entendez les fichiers dont le nom commence par un point ou qui se trouvent quelque part sous un répertoire dont le nom commence par un point, et non autres formes de fichiers invisibles , la commande suivante imprime les noms de tous les fichiers cachés. Elle est lente car elle parcourt tous les noms de fichiers partout sur votre système.

sudo find / -name ".*" \( -type d -exec find {} \; -prune -o -print \) 

Explication:

  • -type d -exec find {} \; -prune exécute find sur chaque répertoire (dont le nom correspond à .*), et ne descend pas dans ce répertoire à cause de -prune.
  • -type d … -o -print provoque limpression de tous les non-répertoires correspondant à .*.

Si vous cherchez pour un fichier avec un nom ou un motif spécifique:

sudo find / -name "Foo*" -path "*/.*" 

Le motif */.* sur tout le chemin force les correspondances à être dans un répertoire caché.

Vous pouvez ajouter -xdev après / pour éviter de traverser des systèmes de fichiers spéciaux et disques amovibles.

Commentaires

  • Ah, merci. Et il semble que -x soit préféré maintenant, car -xdev est obsolète.

Réponse

Essayez la locate. Vous devrez sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist dabord et attendre que la base de données de localisation soit générée.

Commentaires

  • Cela ' est tellement gênant que Spotlight ne ' ne récupère pas les fichiers cachés / (point-), car mdfind est largement supérieur à slocate .

Réponse

EasyFind est une excellente application alternative pour faire le travail. Cest gratuit et facile. Vous pouvez rechercher du texte dans des fichiers (même invisibles). < = Cela peut être un moyen plus simple de trouver vos fichiers de configuration.

Vous pouvez lobtenir sur lApp Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Clause de non-responsabilité: Je ne suis pas affilié au développeur.

Commentaires

  • Ne fonctionne pas sur les lecteurs au format APFS.

Réponse

ag peut rechercher des fichiers cachés par nom de fichier.

Par exemple:

ag --hidden -g ".swiftlint.yml" ~/ 

Comment installer

brew install the_silver_searcher 

https://github.com/ggreer/the_silver_searcher

rg est plus rapide que ag.

rg --files --hidden ~/ |rg ".swiftlint.yml" 

Comment installer

brew install ripgrep 

https://github.com/BurntSushi/ripgrep

Commentaires

  • Comment cela aide-t-il dans la situation décrite par lOP (qui apparemment ne ' ne connaît pas le nom des fichiers cachés)?
  • Cela fonctionne ainsi que. Par exemple, rg –files –hidden ~ / | rg " .swiftlint * "

Réponse

Si vous souhaitez rechercher .DS_Store fichiers cachés, cette commande fonctionne bien.

du -a | grep .DS_Store 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *