パッケージとともにインストールされたコマンドを知るにはどうすればよいですか?


11

特定のパッケージとともにインストールされたコマンドのリストを取得するにはどうすればよいですか?

たとえば、Chromiumをインストールした場合、今何を入力する必要がありますか?または、インストールした場合moreutils、どのコマンドがインストールされているかをどのように知ることができますか?

回答:


14

短い答え:

dpkg -L packagename | grep 'bin/'

長い答え:

パッケージにインストールされているすべてのファイルのリストを取得するには(たとえばmoreutils)、次のコマンドを実行します。

dpkg -L moreutils

ここで必要なのは、パス内の実行可能ファイルであるものを除外することです。一般的には、コマンドがにインストールされている/bin/sbin/usr/binそして/usr/sbin、私たちは、単にこれらのパターンを一致させることができます:

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

覚えやすいが完全に正確ではないものが必要な場合は、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

したがって、この例では、私は、これらのコマンドを発見した:isutf8peeerrno、など


一部のパッケージは、コマンドをパスにインストールしませんが、GUIアプリのアイコンをインストールします。アプリケーションを起動するコマンドを見つけたい場合は、インストールされている.desktopファイルを見つけて、で始まる行を調べる必要がありますExec=。例えば:

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

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

そのため、この例で/opt/WorldOfGoo/WorldOfGooは、ターミナルからWorld Of Gooを起動するために実行する必要があることを発見しました。


1
grep一部は、すべてのパターンがで終わるという考えに基づいて、わずかに集約することができますbin/。(そして、パス名のトリミングに抵抗できませんでした。)dpkg -L moreutils | grep -e '/[s]*bin/' | sed -r 's/.*bin\/(.*)$/\1/'
lgarzo

@lgarzo、あなたは最後の6年間でこれを学んだことがありますが、grepをして、ちょうど分配することができるdpkg -L chromium-browser | sed -rn 's/.*bin\/(.*)$/\1/p'よう-nしてp、印刷するだけで変更された行を引き起こします。1秒の60/1000秒節約できます!
pbhj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.