19 votes

Comment trouver tous les outils disponibles dans le terminal Mac ?

J'essaie de mettre en place un certain nombre de projets de développement sur mon Mac. Je dois utiliser divers outils comme Python, ruby, scala, groovy, etc. Pour voir si un outil est disponible, j'utilise des options telles que

ruby --version. 

Au lieu de cela, je voudrais voir toute la liste des outils disponibles dans le terminal Mac via une seule commande. Quelle est la commande/les options pour cela ?

12 votes

La liste sera plus accablante qu'instructive. Sous MacOS 10.14.4, je vois 1 302 exécutables dans /bin, /sbin, /usr/bin et /usr/sbin. La plupart d'entre eux sont obscurs et/ou à usage unique. Par exemple : hpftodit qui convertit les polices du format HP Tagged Font Metric (TFM) en vue de leur utilisation avec une imprimante HP Laser-Jet série 4 (ou plus récente) dotée d'un système de gestion des polices. groff -Tlj4 . Ok, c'est un exemple extrême, je prétends que le point est toujours valable.

1voto

Aaron Brady Points 121

Par souci d'exhaustivité, si vous utilisez l'option zsh vous pouvez utiliser ls "${(@)path}(N)" . Pour obtenir une liste groupée par répertoire, utilisez ls "${(@)path}"/*(-*N) ou printf "%s\n" "${(@)path}"/*(-*N) (non triés mais dans l'ordre dans lequel ils seraient trouvés) ; printf "%s\n" "${(@)path}"/*(-*N) | xargs -L 1 basename | sort -u vous donnera une liste des commandes sans chemin d'accès.

Notez que cela ne montre que les exécutables, pas les alias ou les fonctions. Pour les obtenir, utilisez alias ou typeset -f + | grep -v '^_' respectivement.

Exemple de sortie de chacun :

% ls "${(@)path}"(N)
/bin:
[         cat       cp
[...]
 sync      test      wait4path

/sbin:
apfs_hfs_convert fsck             fstyp
[...]

% ls "${(@)path}"/*(-*N)
/bin/[                                                      /usr/bin/nc                                                 /usr/local/bin/gmktemp
/bin/bash                                                   /usr/bin/ncal                                               /usr/local/bin/gmv
/bin/cat                                                    /usr/bin/ncctl                                              /usr/local/bin/gnice
/bin/chmod                                                  /usr/bin/ncdestroy                                          /usr/local/bin/gnl
/bin/cp                                                     /usr/bin/ncinit                                             /usr/local/bin/gnohup
/bin/csh                                                    /usr/bin/nclist                                             /usr/local/bin/gnproc

% printf "%s\n" "${(@)path}"/*(-*N)
/usr/local/bin/2to3
/usr/local/bin/2to3-2
/usr/local/bin/2to3-2.7
[...]
/usr/sbin/AppleFileServer
/usr/sbin/BootCacheControl
/usr/sbin/DevToolsSecurity
/usr/sbin/DirectoryService
[...]

% printf "%s\n" "${(@)path}"/*(-*N) | xargs -L 1 basename | sort -u
2to3
2to3-
2to3-2
2to3-2.7
2to3-3.7
7z
7za
7zr
AppleFileServer
AssetCacheLocatorUtil
AssetCacheManagerUtil
[...]
znew
zprint
zsh
zsh-5.7.1

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X