Wie suche ich nach einem Befehl, dessen vollständiger Name nicht bekannt ist?

10

Jedes Mal, wenn ich versuche, ein Programm vom Terminal aus zu verwenden, kann ich es nicht finden, da es nicht mit dem tatsächlichen Namen übereinstimmt. Zum Beispiel tippe ich disksTerminal ein, aber der wirkliche Name ist gnome-disks.

Ich habe versucht zu verwenden:

sudo dpkg -l | grep disks 

um es zu finden, aber was ist mit Programmen, die überhaupt nicht übereinstimmen? Was ist der einfachste Weg, um alle Namen der installierten Programme im Terminal zu finden?

Adam
quelle

Antworten:

4

Dies listet alle Seitennamen und Kurzbeschreibungen auf, die den Text "Datenträger" enthalten. Beachten Sie, dass dies nicht alles für Skripte oder Programme zurück , die aber mit der Ubuntu - Distribution geliefert jedes Programm keine manpage haben sollte man haben ...

man -k disks

ODER...

apropos disks

Beispielsweise...

 root@LX02:~  apropos disks
cryptdisks_start (8) - wrapper around cryptsetup which parses /etc/crypttab.
cryptdisks_stop (8)  - wrapper around cryptsetup which parses /etc/crypttab.
mtools (1)           - utilities to access DOS disks in Unix.
smartctl (8)         - Control and Monitor Utility for SMART Disks
udisks (1)           - udisks command line tool
udisks (7)           - Storage Management
udisks-daemon (8)    - udisks Daemon
DocSalvager
quelle
3

Am einfachsten ist es, den "Programmstarter" mit dem Menüeditor zu überprüfen:

  • Klicken Sie mit der rechten Maustaste auf die Menüschaltfläche in der Taskleiste.
  • Wählen Sie Edit Menu- Dies öffnet den Menü-Editor.

Jetzt können Sie links die Kategorie und rechts die Anwendung auswählen ( Entries). Wählen Sie einfach die Anwendung mit einem einzigen Linksklick aus, öffnen Sie das Kontextmenü mit einem Rechtsklick und wählen Sie Properties. Es erscheint ein kleines Fenster, in dem (unter anderem) die Befehlszeile angezeigt wird.

Diese Programmstarterdateien befinden sich normalerweise in /usr/share/applications. Ein anderer Ansatz besteht darin, die *.desktopDateien in diesem Verzeichnis zu überprüfen . Wenn Sie sich nicht sicher sind, nach welchem ​​Namen Sie *.desktopsuchen sollen, führen Sie einen Grep aus dem /usr/share/applicationsVerzeichnis aus:

grep gThumb * | grep 'Name='

wird dir so etwas geben

gthumb.desktop:Name=gThumb
gthumb.desktop:X-GNOME-FullName=gThumb Image Viewer
gthumb-import.desktop:Name=Import with gThumb
gthumb-import.desktop:X-GNOME-FullName=gThumb Photo Import Tool

Jetzt können Sie nur noch less gthumb.desktopdie Details dieses Programmstarters überprüfen.

Eine andere Möglichkeit wäre, mit dem aproposBefehl ein bestimmtes Schlüsselwort in den Manpages zu suchen.

tohuwawohu
quelle
1

for bin in $(for path in $(tr ':' '\n' <<<"$PATH"); do echo $path; done); do ls $bin; done |grep 'disk'

Die obige Schleife listet jede Datei in jedem Verzeichnis von Ihnen auf $PATHund zeigt alle Dateien an, die mit dem regulären Ausdruck (in diesem Fall 'disk') übereinstimmen, der am Ende der Pipeline an grep übergeben wurde.

Wenn Sie nicht ausführbare Dateien in Ihrem haben, werden $PATHdiese auch angezeigt.

cpugeniusmv
quelle
0

Vielleicht nicht das, was Sie hören möchten, aber zsh (zshell) leistet hervorragende Arbeit bei der Befehlsvervollständigung. Es ist (abwärts) kompatibel mit Bash, sodass Sie nichts völlig Neues lernen müssen.
Mit oh-my-zsh gibt es einen guten Ausgangspunkt für Einstellungen, die leicht nach Ihren Wünschen angepasst werden können.

Wenn ich in meinem Terminal 'disk' eingebe, wird automatisch die folgende Liste vorgeschlagen, die durchlaufen werden kann.
cfdisk fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

Wie Sie vielleicht bemerkt haben, starte ich keinen Gnome, also keine Gnome-Disks, aber es hätte definitiv auch diesen gefunden, wenn er vorhanden wäre.

cee
quelle