使用aptitude
我可以进行如下搜索:
aptitude search '~i bash'
这似乎是一个特定于 aptitude 的正则表达式。是否可以使用apt
或apt-cache
不使用附加命令来执行相同的操作?
apt search '~i bash'
不管用。
答案1
你可以试试:
apt list --installed bash
这将尝试列出已安装的package
名称bash
但是,如果您想搜索特定文件,请使用apt-file
以下命令将列出bash
名称中包含字符串的所有包:
apt list -a --installed bash
正如@Exostor所建议的那样,apt list -a --installed bash
并不总是列出以特定字符串开头的包,而是使用:
apt list -a --installed bash*
如果您正在寻找 globbing,请在下面的 @Exostor 评论上投票。
答案2
dpkg-query --list | grep '^.i\s*PKG'
或者:
dpkg-query --list PKG\* | grep '^.i'
其中PKG
是所需的包名称/reg-ex。
答案3
如果其他人想知道如何做到这一点,我使用以下方法。
apt list --installed | grep [XYZ]
此方法还显示已安装的包含您要搜索的字符串的不同软件包。例如,如果我正在搜索 vlc,则会显示许多其他名称中也包含“vlc”的软件包。这是输入和输出:
apt list --installed | grep vlc
WARNING: apt.divert does not have a stable CLI interface. Use with caution in scripts.
browser-plugin-vlc/stable,now 2.0.6-4 amd64 [installed]
libvlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlc5/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlccore8/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
phonon4qt5-backend-vlc/stable,now 0.9.0-2 amd64 [installed,automatic]
vlc/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-data/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-l10n/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-plugin-base/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-notify/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-qt/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-samba/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-skins2/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-output/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-splitter/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-visualization/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
如果发现您没有安装该软件包,该命令将直接退出。