如果我只知道软件名称,如果我想搜索 VLC 或 JDK、JRE 等,我能否知道使用终端搜索任何包的命令是什么?
如果我不知道从哪里下载它们的网址,我可能会通过互联网搜索它们,但下载、提取它们然后安装会是一个漫长的过程。
所以我想知道是否有任何命令可以通过其名称或名称的一部分来搜索包?
答案1
正如 Nick 已经指出的那样,apt-cache search QUERY
应该列出名称中包含特定字符串的包。
另一个有用的工具是apt-file
。apt-file search QUERY
它将打印包含QUERY
名称中的文件的软件包列表。在某些情况下,您知道所需二进制文件的名称(例如,当您阅读教程并需要操作系统中未安装的某些命令时),但不知道它附带什么软件包。
此外,dpkg -S QUERY
列表已安装提供名称中包含“QUERY”的文件的软件包。在某些情况下,您在一台计算机上安装了二进制文件或脚本,并希望在另一台计算机上也安装它,但不记得它来自哪里。apt-file
在这种情况下,输出应该比输出小,因为它不显示未安装软件包的内容。
您可以使用 过滤这些命令的输出egrep
,例如使用egrep '/NAME$'
。
例如dpkg -S ps | egrep '/bin/ps$'
告诉我们ps
二进制文件随procps
包一起提供。
答案2
在命令行中你可以使用
apt-cache search SearchTerm
当然,你必须将“SearchTerm”更改为你已经知道的文本。但是还有一个用于搜索包的 Web 界面,位于Ubuntu 软件包。我认为 Ubuntu 软件中心的搜索功能可能会有帮助。