Come posso sapere quali comandi sono stati installati con un pacchetto?


11

Come posso ottenere un elenco di comandi che sono stati installati con un determinato pacchetto?

Ad esempio, se installo Chromium, cosa dovrei digitare ora? O se installo moreutils, come faccio a sapere quali comandi sono stati installati?

Risposte:


14

Risposta breve:

dpkg -L packagename | grep 'bin/'

Risposta lunga:

Per ottenere un elenco di tutti i file installati in un pacchetto (ad esempio moreutils), eseguire questo comando:

dpkg -L moreutils

Ora, tutto ciò che dobbiamo fare è filtrare quelli che sono file eseguibili nel percorso. In generale, i comandi vengono installati /bin, /sbin, /usr/bine /usr/sbin, in modo che possiamo semplicemente abbinare quei modelli:

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

Se vuoi qualcosa che sia più facile da memorizzare, ma non completamente accurato, basta filtrare le linee con bin/:

$ 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

Quindi, in questo esempio, ho scoperto questi comandi: isutf8, pee, errno, etc.


Alcuni pacchetti non installano comandi nel percorso, ma installano un'icona per l'app GUI. Se si desidera trovare il comando che avvia l'applicazione, sarà necessario trovare il .desktopfile installato e osservare la riga che inizia con Exec=. Per esempio:

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

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

Quindi, in questo esempio, ho scoperto che dovrei correre /opt/WorldOfGoo/WorldOfGooper lanciare World Of Goo dal terminale.


1
La grepparte può essere leggermente consolidata in base all'idea con cui finiscono tutti i motivi bin/. (E non sono stato in grado di resistere a tagliare i nomi dei percorsi.)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
Lgarzo il

@lgarzo, si può avere imparato questo negli ultimi 6 anni, ma si può fare a meno del grep e proprio dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'come il -ne pcausare solo le linee alterati da stampare. Risparmio di 60/1000 di secondo!
pbhj,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.