Skąd mam wiedzieć, które polecenia zostały zainstalowane z pakietem?


11

Jak mogę uzyskać listę poleceń, które zostały zainstalowane z konkretnym pakietem?

Na przykład, jeśli zainstaluję Chromium, co powinienem teraz wpisać? Lub jeśli instaluję moreutils, skąd mam wiedzieć, które polecenia zostały zainstalowane?

Odpowiedzi:


14

Krótka odpowiedź:

dpkg -L packagename | grep 'bin/'

Długa odpowiedź:

Aby uzyskać listę wszystkich plików zainstalowanych w pakiecie (powiedzmy moreutils), uruchom następujące polecenie:

dpkg -L moreutils

Teraz wszystko, co musimy zrobić, to odfiltrować te, które są plikami wykonywalnymi na ścieżce. W ogóle, polecenia są zainstalowane /bin, /sbin, /usr/bini /usr/sbin, więc możemy po prostu dopasować te wzory:

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

Jeśli chcesz czegoś łatwiejszego do zapamiętania, ale nie do końca dokładnego, po prostu odfiltruj linie za pomocą 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

Tak więc, w tym przykładzie, odkryłem te polecenia: isutf8, pee, errno, itd.


Niektóre pakiety nie instalują poleceń w ścieżce, ale instalują ikonę aplikacji GUI. Jeśli chcesz znaleźć polecenie uruchamiające aplikację, musisz znaleźć zainstalowany .desktopplik i spojrzeć na linię rozpoczynającą się od Exec=. Na przykład:

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

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

W tym przykładzie odkryłem, że powinienem pobiec, /opt/WorldOfGoo/WorldOfGooaby uruchomić World Of Goo z terminala.


1
grepCzęść może zostać skonsolidowane lekko opiera się na założeniu, że wszystkie wzory kończy się bin/. (I nie mogłem się oprzeć przycięciu nazw ścieżek.)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
lgarzo,

@lgarzo, być może nauczyłeś się tego w ciągu ostatnich 6 lat, ale możesz zrezygnować z grep i tak dpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'jak -ni ppowodować drukowanie tylko zmienionych linii. Oszczędzając Ci 60/1000 sekundy!
pbhj
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.