Comment puis-je savoir quelles commandes ont été installées avec un package?

11

Comment puis-je obtenir une liste de commandes qui ont été installés avec un paquet particulier?

Par exemple, si j'installer Chrome, ce qui devrait taper maintenant? Ou si j'installe moreutils, comment puis-je savoir quelles commandes ont été installées?

Flimm
la source

Réponses:

14

Réponse courte:

dpkg -L packagename | grep 'bin/'

Longue réponse:

Pour obtenir une liste de tous les fichiers installés dans un package (par exemple moreutils), exécutez cette commande:

dpkg -L moreutils

Maintenant, tout ce que nous devons faire est de filtrer ceux qui sont des fichiers exécutables dans le chemin. En général, les commandes sont installés /bin, /sbin, /usr/binet /usr/sbin, afin que nous puissions simplement correspondre à ces modèles:

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

Si vous voulez quelque chose de plus facile à mémoriser, mais pas complètement précis, filtrez simplement les lignes avec à la bin/place:

$ 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

Ainsi, dans cet exemple, je l' ai découvert ces commandes: isutf8, pee, errno, etc.


Certains packages n'installent pas de commandes dans le chemin, mais installent une icône pour l'application GUI. Si vous voulez trouver la commande qui lance l'application, vous devrez trouver le .desktopfichier installé et regarder la ligne commençant par Exec=. Par exemple:

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

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

Donc, dans cet exemple, j'ai découvert que je devrais exécuter /opt/WorldOfGoo/WorldOfGoopour lancer World Of Goo à partir du terminal.

Flimm
la source
1
La greppièce peut être légèrement consolidée en se basant sur l'idée que tous les motifs se terminent par bin/. (Et je n'ai pas pu résister à couper les noms de chemin.)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
lgarzo
@lgarzo, vous l'avez peut-être appris au cours des 6 dernières années, mais vous pouvez vous passer de la grep et de la même dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'manière -net pne faire imprimer que les lignes modifiées. Vous permettant d'économiser 60 / 1000ème de seconde!
pbhj