Ich möchte eine Möglichkeit, Programme schnell zu starten, während ich mich in einem SSH-Terminal befinde. Aber ich will mir den genauen Befehl nicht merken müssen. Wenn ich zum Beispiel „Fuchs“ in kupfer/synapse/quicksilver oder Unity Search eingebe, wird Firefox angezeigt. Ebenso wird Firefox angezeigt, wenn ich „Browser“ eingebe.
Was ist das Kommandozeilenäquivalent dazu? So dass ich browser
eingeben kann und es listet firefox
auf im Terminal
Ich bin natürlich mit dem Drücken der Tabulatortaste vertraut, aber das setzt voraus, dass ich die ersten paar Buchstaben richtig habe, und lässt mich nicht „Browser“ eingeben. Ich bin vertraut mit findutils locate
Befehl, aber wieder das gleiche Problem. Ich möchte die reibungslose Desktop-Erfahrung per Text, ähnlich wie lynx
Browser bietet ein Web-Erlebnis über die Konsole.
Akzeptierte Antwort:
Es gibt mehrere Befehlszeilen-Shells. Die wichtigsten für die interaktive Verwendung sind:
- Bash, die Standard-Shell auf den meisten Linux-Distributionen. Sein Hauptverkaufsargument ist, dass es die Standardeinstellung ist.
- Zsh ist extrem leistungsfähig und konfigurierbar.
- Fish hat einige nette Funktionen, aber sehr wenig Anpassbarkeit.
Es ist wahrscheinlicher, dass Sie solche erweiterten Funktionen entweder in fish integriert finden oder in zsh durch einen Anpassungscode bereitgestellt werden (entweder mit zsh oder über ein Plug-in eines Drittanbieters geliefert). Unglücklicherweise glaube ich nicht, dass Fisch auch nur annähernd das hat, wonach Sie suchen, und mir ist auch nichts wirklich Schönes für zsh bekannt.
Suche nach fox
In zsh können Sie eine Vervollständigung basierend auf der Eingabe eines Teils des Namens haben. Wie das funktioniert, hängt von der Konfiguration ab. Mit der folgenden Konfiguration können Sie *fox
eingeben und drücken Sie Tab um die Vervollständigung firefox
zu erhalten :
autoload -U compinit; compinit
zstyle ':completion:*' completer _expand _complete _match _prefix
Sie können dieses Setup aus dem Konfigurationsbildschirm abrufen, der angezeigt wird, wenn Sie zsh ohne Konfigurationsdatei starten. Vielleicht möchten Sie ein wenig mit den vervollständigungsbezogenen Konfigurationsoptionen spielen.
Suche nach browser
Suche nach browser
ist ein ganz anderes Problem, da die Informationen nicht am selben Ort gespeichert sind. firefox
abrufen von fox
erfordert nur einen Blick auf die Namen der ausführbaren Dateien, während die Informationen, die firefox
ist ein browser
muss woanders herkommen.
Sie können den apropos-Befehl verwenden, um anhand der einzeiligen Beschreibung am Anfang ihrer Dokumentation nach Programmen zu suchen.
apropos browser
In gewisser Weise ist dies die offizielle Antwort auf Ihre Frage – es ist die Befehlszeilenmethode, um anhand seiner Beschreibung nach einem Programm zu suchen. Aber Sie werden es wahrscheinlich aus zwei Gründen nicht so bequem finden:
-
Es gibt viel mehr Kommandozeilenprogramme als Programme, die sinnvollerweise von einer GUI ausgeführt werden können, also gibt es viel mehr Lärm in den
rausschneidenapropos
Ausgang. Derapropos
command zeigt Ihnen auch Programmierschnittstellen; das kannst du mitapropos -s 1,8 browser
oder
apropos -s 1 browser
um Systemverwaltungsbefehle auszuschließen. Die Nummern sind Manpage-Abschnitte. -
Die einzeilige Beschreibung oben auf der Manpage wird von den Entwicklern jeder Anwendung gepflegt und sie verwenden nicht immer dieselbe Terminologie. Manchmal übersehen Sie also eine Anwendung, weil der Entwickler die Anwendung anders beschrieben hat. Zum Beispiel, wenn Sie nur Web finden möchten Browser, den Sie ausführen könnten
apropos -a web browser
und Sie würden
lynx
finden undfirefox
, aber nichtlinks
weil es als „WWW-Browser“ beschrieben wird.
Die GUI-Schnittstelle zum Suchen von Anwendungen basiert auf .desktop
Dateien. Sie können diese Dateien mit Befehlen wie
grep browser /usr/share/applications/*
Es wäre möglich, darauf eine Benutzeroberfläche aufzubauen, aber ich habe keine anzubieten.