Wie erstelle ich eine Liste *aller* verfügbaren Befehle und Funktionen?

Wie erstelle ich eine Liste *aller* verfügbaren Befehle und Funktionen?

In Linux (ich verwende CentOS 7) gibt es eine integrierte Funktion zum Anzeigen aller ausführbaren Befehle. Der Befehl wird ausgeführt, indem Sie in der Konsole zweimal die Tabulatortaste drücken und dann die Eingabeaufforderung aufrufen:

Display all 1130 possibilities? (y or n)

Durch Drücken yvon wird eine riesige Liste mit Befehlen an die Konsole ausgegeben.

Gibt es eine Möglichkeit, diese Ausgabe in einer Datei zu erfassen?

Oder ist diese Liste bereits lokal gespeichert? Wenn ja, wie kann ich darauf zugreifen?

Antwort1

Die von mir gewählte Lösung bestand darin, den folgenden Befehl auszuführen:

$ compgen -A function -abck | sort -u >> cmds.txt

das alle ausführbaren Befehle, Funktionen und Aliase an eine Textdatei anhängtcmds.txt

Genommen von:https://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases

Bearbeiten: sort -uzum Befehl hinzugefügt, um Duplikate zu entfernen, wie von Glenn Jackman vorgeschlagen

Antwort2

Es scheint, als compgenwürden Duplikate ausgegeben: möglicherweise Programme, die an mehreren Stellen in Ihrem PATH auftauchen:

Autovervollständigung sagt:

$ [tab][tab]
Display all 2328 possibilities? (y or n)

compgen sagt:

$ compgen -A function -abck | wc -l
2647
$ compgen -A function -abck | sort -u | wc -l
2328

Ich weiß nicht, ob das für Sie wichtig ist.

verwandte Informationen