我如何知道哪些命令是随包一起安装的?

Fli*_*imm 11 apt

如何获取已随特定软件包一起安装的命令列表?

例如,如果我安装 Chromium,现在应该输入什么?或者如果我安装了moreutils,我怎么知道已经安装了哪些命令?

Fli*_*imm 14

简短的回答:

dpkg -L packagename | grep 'bin/'
Run Code Online (Sandbox Code Playgroud)

长答案:

要获取包中安装的所有文件的列表(例如moreutils),请运行以下命令:

dpkg -L moreutils
Run Code Online (Sandbox Code Playgroud)

现在,我们需要做的就是过滤掉路径中的可执行文件。通常,命令安装到/bin, /sbin,/usr/bin/usr/sbin,因此我们可以简单地匹配这些模式:

dpkg -L moreutils | grep -e '^/bin/' -e '^/sbin/' -e '^/usr/bin/' -e '^/usr/sbin/'
Run Code Online (Sandbox Code Playgroud)

如果你想要一些更容易记住但又不完全准确的东西,只需过滤掉一些行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
Run Code Online (Sandbox Code Playgroud)

所以,在这个例子中,我发现这些命令: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
Run Code Online (Sandbox Code Playgroud)

所以在这个例子中,我发现我应该运行/opt/WorldOfGoo/WorldOfGoo以从终端启动 World Of Goo。