Wie kann ich wissen, welche Befehle mit einem Paket installiert wurden?

11

Wie kann ich eine Liste der Befehle abrufen, die mit einem bestimmten Paket installiert wurden?

Wenn ich beispielsweise Chromium installiere, was sollte ich jetzt eingeben? Oder moreutilswoher weiß ich bei der Installation , welche Befehle installiert wurden?

Flimm
quelle

Antworten:

14

Kurze Antwort:

dpkg -L packagename | grep 'bin/'

Lange Antwort:

moreutilsFühren Sie den folgenden Befehl aus, um eine Liste aller in einem Paket installierten Dateien zu erhalten (z. B. ):

dpkg -L moreutils

Jetzt müssen wir nur noch die herausfilterbaren Dateien im Pfad herausfiltern. Im Allgemeinen werden Befehle installiert /bin, /sbin, /usr/binund /usr/sbin, so dass wir einfach diese Muster entsprechen können:

dpkg -L moreutils | grep -e '^/bin/' -e '^/sbin/' -e '^/usr/bin/' -e '^/usr/sbin/'

Wenn Sie etwas möchten, das sich leichter merken lässt, aber nicht ganz genau ist, filtern Sie bin/stattdessen einfach die folgenden Zeilen heraus :

$ dpkg -L moreutils | grep 'bin/'
/usr/bin/isutf8
/usr/bin/pee
/usr/bin/errno
/usr/bin/vidir
/usr/bin/zrun
/usr/bin/lckdo
/usr/bin/ifne
/usr/bin/mispipe
/usr/bin/parallel
/usr/bin/sponge
/usr/bin/ts
/usr/bin/ifdata
/usr/bin/vipe
/usr/bin/chronic
/usr/bin/combine

Also, in diesem Beispiel habe ich diese Befehle entdeckt: isutf8, pee, errnoetc.


Einige Pakete installieren keine Befehle im Pfad, installieren jedoch ein Symbol für die GUI-App. Wenn Sie den Befehl suchen möchten, mit dem die Anwendung gestartet wird, müssen Sie die installierte .desktopDatei suchen und sich die Zeile ansehen, die mit beginnt Exec=. Beispielsweise:

$ dpkg -L worldofgoo | grep '\.desktop$'
/usr/share/applications/WorldOfGoo.desktop

$ grep '^Exec=' /usr/share/applications/WorldOfGoo.desktop 
Exec=/opt/WorldOfGoo/WorldOfGoo

In diesem Beispiel habe ich festgestellt, dass ich /opt/WorldOfGoo/WorldOfGooWorld Of Goo vom Terminal aus starten sollte .

Flimm
quelle
1
Der grepTeil kann leicht konsolidiert werden, basierend auf der Idee, dass alle Muster mit enden bin/. (Und ich konnte nicht widerstehen, die Pfadnamen zu dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
kürzen
@lgarzo, du hast das vielleicht in den letzten 6 Jahren gelernt, aber du kannst auf das grep verzichten und genauso dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'wie das -nund pnur die geänderten Zeilen drucken lassen. Sie sparen 60/1000 Sekunden!
pbhj