如何从命令行搜索可用的软件包?

当我事先知道这些软件包可用时,我已经使用命令行'sudo apt-get install packagename'成功安装了一些软件包。 但是,如何搜索或获取存储库中可用内容的列表?

按名称或描述搜索特定包:

从命令行,使用:

apt-cache search keyword

其中搜索关键字可以是包名称的全部或部分或其描述中使用的任何单词。

例如, apt-cache search proxy 包括这两个包:

微小的代理 -一个轻量级的,非缓存的,可选的匿名HTTP proxytircd-ircd 代理 到twitter API

注意:列表可能很长,因此您可以将输出通过管道传输到 less 使其一次可滚动一行或一个屏幕,即 apt-cache search something | less.

获取所有软件包的列表

apt-cache search .

如果您启用了X转发或在桌面上,请使用突触

突触,突触 通常是一个更方便的方法来做到这一点,但至少需要一个X服务器在您的终端(除非您运行的是桌面环境)。 安装与 sudo apt-get install synaptic 如有必要。

使用 aptitude, apt-cache,而 apt 所有格式输出不同。 (这些都不需要使用 sudo 搜索包时。)我更喜欢使用 apt 于其可读性。 它突出显示包名称,并在不同的包之间放置一个空格。 它还具有 [installed] 在已安装的每个软件包旁边列出。 使用方法:

apt search package-name

您也可以从命令行使用aptitude:

aptitude search xxxxxx

Apt-cache命令行工具用于搜索apt软件包缓存。 简单来说,这个工具用于搜索软件包,收集软件包的信息,也用于搜索哪些可用的软件包可以安装在Debian或Ubuntu系统上。

要在安装之前找出软件包名称和它的描述,请使用"搜索"标志。 使用apt-cache的"搜索"将显示一个带有简短描述的匹配包列表。 假设你想找出包'vsftpd'的描述,那么命令将是。

语法:

apt-cache search SearchTerm
$ apt-cache search vsftpd

可能的输出将是:

vsftpd - lightweight, efficient FTP server written for securityccze - A robust, modular log coloriserftpd - File Transfer Protocol (FTP) serveryasat - simple stupid audit tool

要查找并列出以'vsftpd'开头的所有软件包,您可以使用以下命令。

$ apt-cache pkgnames vsftpd

您可能还希望通过更多,甚至grep运行结果。 例如:

apt-cache search firefox | grep plugin

假设您想从终端执行所有这些操作,请使用以下内容:

首先,我建议您更新包索引文件,以便您将要创建的存储库中的所有文件的列表是最新的

sudo apt-get update

然后使用"搜索 正则表达式"功能在 apt-cache 其中"regex"代表正则表达式,是给搜索的模式。 有关搜索模式的更多信息,您可以通过命令查找manual regex(7 man 7 regex 或在 英语. A 正则表达式 变量等于 . 就足够了。

apt-cache search .

以上将给你所有的结果,但它不是在任何顺序,是浏览特别有帮助。

所以最后我们可以使用字典顺序排序sort -d 并且一次只显示一个页面使用less.

apt-cache search . |sort -d |less

不幸的是,我没有足够的代表来添加这个主要答案的评论。

但我想找到 g++- -与 apt-cache search. 在这种情况下,重要的是要知道 keyword 是正则表达式 所以 apt-cache search g++- 不会有有益的结果。

apt-cache search "g[+][+][-]" 将是要走的路