Gibt es ein Tool zum Zusammenfassen der Funktionen aller Befehle?


8

Ich verstehe also, dass es manSeiten gibt, auf denen Sie die Dokumentation abrufen können, wenn das Internet nicht verfügbar ist oder wenn Sie erweiterte Anwendungen benötigen. Aber was ist, wenn ich offline bin und nicht einmal weiß, welches Tool ich für den Job benötige? Gibt es einen Befehl, mit dem ich jedes Programm / jeden Befehl und eine kurze Beschreibung sehen kann?

Antworten:


4

Sie können die integrierte Bash (1) verwenden compgen

  • compgen -c listet alle Befehle auf, die Sie ausführen können.
  • compgen -a listet alle Aliase auf, die Sie ausführen können.
  • compgen -b listet alle integrierten Funktionen auf, die Sie ausführen können.
  • compgen -k listet alle Schlüsselwörter auf, die Sie ausführen könnten.
  • compgen -A function listet alle Funktionen auf, die Sie ausführen können.
  • compgen -A function -abck listet alle oben genannten auf einmal auf.

Der obige Befehl listet alle verfügbaren Befehle für einen Benutzer basierend auf seinen festgelegten Berechtigungen auf. Ich habe das Netzwerk deaktiviert und den obigen Befehl getestet und es funktioniert auch, wenn es deaktiviert ist. Für eine kurze Beschreibung können Sie jedoch, soweit ich das beurteilen kann, die Manpage anzeigen, sobald Sie einen Befehl erhalten haben.

Einige andere Befehle, mit denen die Beschreibung eines Befehls angezeigt werden kann, sind:

apropos
whatis
less
groff

Verweise

https://stackoverflow.com/a/949006/1742825


Das würde Ihnen natürlich nicht unbedingt sagen, ob das Ausführen dieser Befehle irgendetwas Nützliches bringt . Am Beispiel Ihres deaktivierten Netzwerks pingwürde ich wahrscheinlich immer noch als ausführbar aufgeführt, aber es würde Ihnen nicht viel nützen. Basiert dies nicht auf dem aktuellen Stand des Benutzers $PATH, was bedeutet, dass ein Befehl, der sich nicht in einem der als Suchpfad genannten Verzeichnisse befindet, niemals angezeigt wird?
Ein Lebenslauf

apropos -s1scheint eine bessere Antwort zu sein, da sie eine einzeilige Beschreibung der einzelnen Befehle enthält. Was diese Antwort beiträgt, ist eine Liste von Aliasen, Funktionen usw., aber ohne Erklärung ist sie von begrenztem Nutzen, IMO.
user1404316

9

Im Allgemeinen: Nein, einige Programme werden ohne Dokumentation geliefert.

Allerdings aproposkönnte genau das, was Sie brauchen.

apropos sshIn meinem Fall werden beispielsweise die mit ssh verbundenen Manpages aufgelistet:

authorized_keys (5)  - OpenSSH SSH daemon
git-shell (1)        - Restricted login shell for Git-only SSH access
rlogin (1)           - OpenSSH SSH client (remote login program)
rsh (1)              - OpenSSH SSH client (remote login program)
slogin (1)           - OpenSSH SSH client (remote login program)
ssh (1)              - OpenSSH SSH client (remote login program)
ssh-add (1)          - adds private key identities to the authentication agent
ssh-agent (1)        - authentication agent
ssh-argv0 (1)        - replaces the old ssh command-name as hostname     handling
ssh-copy-id (1)      - use locally available keys to authorise logins on a     remote machine
ssh-keygen (1)       - authentication key generation, management and conversion
ssh-keyscan (1)      - gather ssh public keys
ssh-keysign (8)      - ssh helper program for host-based authentication
ssh-pkcs11-helper (8) - ssh-agent helper program for PKCS#11 support
ssh_config (5)       - OpenSSH SSH client configuration files
sshd (8)             - OpenSSH SSH daemon
sshd_config (5)      - OpenSSH SSH daemon configuration file
XAllocClassHint (3)  - allocate class hints structure and set or read a window's WM_CLASS property
XClassHint (3)       - allocate class hints structure and set or read a window's WM_CLASS property
XGetClassHint (3)    - allocate class hints structure and set or read a window's WM_CLASS property
XSetClassHint (3)    - allocate class hints structure and set or read a window's WM_CLASS property
XtIsShell (3)        - obtain and verify a widget's class

Sie können sehen , einige Seiten mehr als einmal, der Grund ist , dass rsh sloginund sshdenselben Mann Seite haben. Auch dort (wie üblich) falsch positive.


Ich denke, obwohl nicht genau das , wonach ich gesucht habe, definitiv ein sehr hilfreiches und ähnliches Werkzeug. Vielen Dank!
OneChillDude

Fügen Sie Ihrer Antwort möglicherweise hinzu apropos -s1, wodurch alle Befehle aus manAbschnitt 1 und nur die Befehle abgerufen werden, die das OP zu wollen scheint.
user1404316

3

Sie können eine kurze Beschreibung vieler Befehle lesen, indem Sie whatis:

$ whatis pwd
pwd (1p)             - return working directory name
pwd (1)              - print name of current/working directory
pwd (n)              - Return the absolute path of the current working directory

Und Sie können nach mehreren Befehlen fragen:

$ whatis pwd ls ps
pwd (1p)             - return working directory name
pwd (1)              - print name of current/working directory
pwd (n)              - Return the absolute path of the current working directory
ls (1p)              - list directory contents
ls (1)               - list directory contents
ps (1)               - report a snapshot of the current processes.
ps (1p)              - report process status

Daher können Sie versuchen , die Liste der Beschreibungen aller Befehle zu erzeugen , durch die Kombination whatismit compgen:

$ whatis $(compgen -c)

Wenn es auf STDERR Müll erzeugt, können Sie `whatis $ (compgen -c) 2> / dev / null` verwenden, um ihn zu bereinigen.
Hastur

2

In bashSie mit einem einfachen beginnen helpAufruf von der Eingabeaufforderung einen eingebaute in Befehlsliste und nach refine mit help commandname, man commandnameund man -k commandname(die letzten zu erweitern , die Forschung zu den damit verbundenen ist).

Sie können nützlich finden, auch info coreutilsund zu lesen info. (Nicht nur in bash)

Am Ende der manSeiten (und infoauch) für jeden Befehl befindet sich nach dem Titel eine Liste anderer verwandter Befehle SEE ALSO. Ein guter Ausgangspunkt, um Ihre Forschung zu erweitern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.