4 votes

Existe-t-il un moyen de lister toutes les commandes disponibles dans le terminal ?

Existe-t-il un moyen de lister toutes les commandes disponibles dans le terminal ?

Je sais que linux a compgen -c Existe-t-il une commande équivalente pour OS X ?

Mise à jour : Le problème réel était que j'utilisais zsh au lieu de bash. Donc, depuis zsh, je pouvais soit ouvrir bash ou lancer une commande bash depuis zsh bash -c "compgen -c"

10voto

Michael Zhou Points 167

Sur zsh vous devez activer le système d'achèvement. Veuillez lire attentivement man zshcompsys . Pour installer le système de complétion, entrez la commande

compinstall

et suivez les instructions. Vérifiez le fpath variable

echo $fpath

Dans mon cas, j'ai dû déclarer la variable dans mon .zshrc.

fpath=(/usr/local/share/zsh/5.0.7/functions)

C'est l'emplacement de mon zsh functions . Après le compinit dans votre .zshrc ajouter les lignes suivantes

autoload -Uz bashcompinit
bashcompinit

Il s'agit des entrées de complétion dans mon .zshrc

#\\\_ COMPLETIONS _///#
zstyle :compinstall filename '/Users/fd0/.zshrc'
zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
autoload -Uz compinit
compinit
autoload -Uz bashcompinit
bashcompinit

Je peux maintenant entrer la commande compgen -c et il se comporte de la même manière que bash .

6voto

Kevin Peterson Points 4456

Il suffit d'appuyer sur le Onglet deux fois ( TabTab ). Un message vous demandera si vous souhaitez voir toutes les commandes possibles. Appuyez sur y et une liste vous sera présentée.

Vous pouvez faire la même chose pour les commandes individuelles afin de voir toutes les options pour cette commande spécifique.

4voto

Comme fd0 l'a commenté plus haut, la meilleure source pour lister rapidement tout ce que vous pouvez faire dans le Terminal, est d'utiliser la commande Bash intégré compgen .

Compgen s'interface avec la fonction "completion" de Bash, de sorte qu'il est destiné à conserver une liste de presque tout ce que vous pouvez faire dans le shell. Il est donc intéressant que techniquement compgen liste les commandes, les alias et les fonctions, ainsi que quelques autres choses comme les builtins, les variables, les groupes, les travaux et les noms de service. Mon expérience est qu'il ne listera pas tout, comme les applications typiquement exécutées dans l'interface graphique, que je mentionnerai ci-dessous. Vous pouvez utiliser le open dans OSX pour un certain nombre de choses, par exemple.

compgen -c exécute la commande dans un environnement de sous-shell, et sa sortie est utilisée comme les compléments possibles, ce qui est probablement ce que vous voulez. Si Bash si votre shell, il fournira des informations similaires pour toutes les commandes ou pour une seule commande si vous appuyez sur Tab Tab .

C'est également fréquent dans OSX que de nombreux programmes peuvent être exécutés à partir du shell, tant de noms de programmes que vous trouverez dans /Applications peut également être appelé via une CLI à partir du shell. De la même manière, de nombreux programmes sont (au moins) à /Applications/Utilitaires Des informations intéressantes sont disponibles à l'adresse suivante /Système/Bibliothèque/CoreServices/Applications (ainsi que d'autres choses sous le répertoire principal /System...), et aussi parfois des programmes personnalisés sont placés sous les emplacements classiques d'Unix comme /usr/bin, usr/local/bin, /opt, et /sys/bin.

Vous pouvez souvent trouver d'autres choses intéressantes à taper, probablement aussi couvertes ci-dessus, en tapant help o help [command or argument] avec plus d'informations sur la plupart des programmes ou des modules intégrés fournis avec le logiciel. info [command] o man [command]. Apropos est également très intéressant, ce que vous savez peut-être déjà. Ces outils permettent d'obtenir presque tout, j'imagine qu'il y a d'autres choses que l'on doit, ou devrait, pirater et découvrir...

-1voto

James Points 7

Dans le Terminal, tapez Tab Tab . Alors vous verrez :

Display all 1653 possibilities? (y or n).

Appuyez sur Y et il énumérera toutes les commandes possibles

-1voto

Willz Points 1

(Tab, Tab) fait l'affaire, mais cela ne fonctionne que sur bash, si cela ne fonctionne pas, tapez simplement 'bash' puis (Tab, Tab) et vous aurez une option de oui (y) ou non (n) et tout ira bien.

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