在本教程中,我们将向您展示如何列出和过滤Debian已安装的软件。

在需要在另一台计算机上安装相同软件包或要重新安装系统的情况下,知道如何列出Debian已安装的软件可能会有所帮助。

我们还将向您展示如何查看指定的软件是否已安装,统计已安装的软件以及查找已安装软件版本。

尽管本教程是为Debian编写的,但相同的说明适用于任何基于Debian的发行版,包括Kubuntu,Linux Mint和Elementary OS。

Apt 命令列出已安装软件

apt是软件包管理系统的命令行接口。它是在Debian 6中引入的,结合了apt-getapt-cache中最常用的命令,可以使用apt命令列出已安装软件。

要列出您的Debian已安装的软件,请运行命令sudo apt list --installed。命令将打印已安装软件列表,包括软件包版本和体系结构的信息。

软件包列表通常会非常长,最好命令的标准输出通过管道传递到less,使你可以分页检阅。

sudo apt list --installed
sudo apt list --installed | less

要确定是否安装指定的软件,可以使用grep命令过滤apt命令的标准输出。例如,要确定Debian是否安装screen软件。

请运行命令sudo apt list --installed | grep screen。命令将会打印screen版本信息并带有后缀[installed]

sudo apt list --installed | grep screen
screen/bionic,now 4.6.2-1 amd64 [installed]

dpkg-query 命令列出已安装软件

如果运行的是早期Debian版本,则可以使用dpkg-query命令列出已安装的软件。命令将会打印已安装软件列表,包括软件包版本,体系结构和简短说明。

要确定是否安装指定的软件,可以使用grep命令过滤dpkg-query -l命令的标准输出。例如要确定Debian是否安装screen软件。

请运行命令sudo dpkg-query -l | grep screen。命令将会打印screen版本信息并带有前缀ii

sudo dpkg-query -l | less
sudo dpkg-query -l | grep screen

保存已安装软件列表

要创建Debian已安装软件列表,并将其保存到文件。可以使用重定向操作符,将apt或者dpkg-query命令的标准输出重定向到文件中。

例如命令sudo dpkg-query -f '${binary:Package}\n' -W > packages_list.txt将会把dpkg-query命令的标准输出重定向到packages_list.txt文件。

当创建软件列表后,如果要另一台Debian 计算机上安装相同的软件,请运行命令sudo xargs -a packages_list.txt apt install

sudo dpkg-query -f '${binary:Package}\n' -W > packages_list.txt

sudo xargs -a packages_list.txt apt install #on other Debian

统计Debian 已安装的软件

要了解系统已安装软件,可以使用dpkg-query命令查询已安装的软件,然后将dpkg-query命令的标准输出通过管道传递到wc命令统计行数。

dpkg-query命令的行数就是Debian已安装的软件总数。命令sudo dpkg-query -f '${binary:Package}\n' -W | wc -l ,命令将会打印已安装软件的总数。

sudo dpkg-query -f '${binary:Package}\n' -W | wc -l
544

结论

现在,您应该知道如何列出和过滤Debian已安装的软件包。如果您想了解有关apt 命令的更多信息,请打开终端并输入man apt

如有任何疑问,请随时发表评论。