[ad_1]
不久前,我们学会了如何 在 Linux 中查找软件包版本. 今天,我们将了解如何在 Linux 和 Unix 操作系统中查找软件包是否已安装。 在 GUI 模式下查找已安装的软件包很容易。 我们所要做的就是打开菜单或破折号,然后在搜索框中输入包名称。 如果软件包已安装,您将看到菜单条目。 就这么简单。 但是,在没有 GUI 模式的系统中很难找到它。 因此,知道如何在 CLI 模式下查找软件包是否安装与我们在 GUI 模式下一样重要。 现在,让我们看看如何才能找到一个软件包是否已安装,好吗?
内容
查找是否在 Linux 中安装了一个包
查找软件包是否已安装的最常见方法是使用“which”命令,如下所示:
$ which <package-name>
例子:
$ which nano
如果安装了 nano 包,它将显示如下所示的安装路径。
/usr/bin/nano
如您所见, nano 软件包安装在 /usr/bin/ 小路。
让我们检查另一个包,例如 Emacs:
$ which emacs /usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
看? 没有安装 Emacs。
“which”命令在大多数类 Unix 操作系统上默认可用。
此外,还有一些其他特定于发行版的方法来查找是否安装了软件包。 继续阅读。
在 Arch Linux 上:
在 Arch Linux 及其衍生产品如 Antergos 和 Manjaro LInux 中,我们可以使用下面的“pacman”命令来做到这一点:
$ pacman -Qs nano
样本输出:
local/nano 2.9.3-1 (base) Pico editor clone with enhancements
你注意到包“nano”前面的前缀“local”了吗? 这意味着 Nano 已安装在您的系统上。
如果上面的命令没有返回任何内容,这意味着给定的包没有安装。
另请阅读 – 开始使用吃豆人
在 Fedora / RHEL / CentOS / 科学Linux:
在基于 RPM 的 Linux 发行版中,例如 Fedora, RHEL 和 RHEL 克隆,例如 CentOS、Scientific Linux,我们可以查看是否安装了软件包 “转” 命令如下图。
$ rpm -qa | grep nano
或者,
$ rpm -qa | grep -i nano
样本输出:
nano-2.3.1-10.el7.x86_64
此外,您可以使用 百胜 命令如下。
$ yum list installed|grep 'nano'
要列出所有已安装的软件包,请运行:
$ rpm -qa
作为我们的读者之一 “格雷戈里·皮特曼” 在下面的评论部分提到,我们可以使用 dnf 命令在 Fedora 找到已安装的软件包。
$ dnf list packagename
甚至
$ dnf list package*
您从中获得的是已安装内容的列表以及存储库中可用的内容。 dnf 允许使用通配符,并且在搜索时也不区分大小写。 有时您不太清楚要查找的内容或正确的拼写。
在 Debian / Ubuntu / Linux Mint 上:
在基于 DEB 的系统(如 Debian、Ubuntu 及其衍生产品如 Linux Mint 和 Elementary OS)中,我们可以使用 “dpkg” 命令。
$ dpkg -s nano
样本输出:
正如你在上面的输出中看到的,nano 包安装在我们的 Ubuntu 系统中。 该命令不仅显示指定包是否安装,还显示包的优先级、版本号、维护者名称、依赖关系及其描述等。
这不是找到已安装软件包的唯一方法。 这里还有一些命令。
$ dpkg-query -l nano
样本输出:
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
这是另一个。
$ dpkg --get-selections | grep nano
样本输出:
nano install
还有一个命令….
$ dpkg --list | grep nano
样本输出:
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
或者,使用以下命令:
$ dpkg --list | grep -i nano
要查看所有已安装软件包的列表,请运行:
$ dpkg --list
在 SUSE/openSUSE 上:
要检查 SUSE 和 openSUSE 中是否安装了软件包,请运行:
$ zypper search nano
或者,很快:
$ zypper se nano
您也可以使用如下所示的“rpm”命令。
$ rpm -q nano
使用“has”实用程序查找是否安装了软件包
相信我,这非常容易! 这 “拥有” 实用程序将检查路径上是否存在各种命令行工具,并报告它们的安装版本。
要安装它,请运行以下命令:
$ git clone https://github.com/kdabir/has.git $ cd has $ sudo make install
现在检查一个包是否可用,如下所示。
$ has nano ✔ nano 2.5.3
如果您看到勾号 (✔),则说明该软件包已安装。 正如您在上面的输出中看到的那样,安装了 nano 包,它的版本是 2.5.3。
如果未安装软件包,您将看到叉号。 检查以下示例。
$ has emacs ✘ emacs
您也可以检查多个包。
$ has nano emacs vim ✔ nano 2.5.3 ✘ emacs ✔ vim 7.4
如果你不想安装它,你可以像下面这样直接使用它。 但是,您的系统必须与 Internet 连接。
$ curl -sL https://git.io/_has | bash -s nano
要检查多个包:
$ curl -sL https://git.io/_has | bash -s nano emacs vim
如果您懒得输入整个命令,请创建一个别名:
$ alias has="curl -sL https://git.io/_has | bash -s"
现在,只需使用这个实用程序,如下所示:
$ has nano
有关更多详细信息,请参阅项目的 GitHub 页面。
- 有 GitHub 存储库
查找是否在 Unix 中安装了一个包
以下步骤在 FreeBSD 10.3 中进行了测试。 除了 FreeBSD,我从未尝试过任何其他 BSD 操作系统。 因此,可能有不同的命令来确定软件包是否安装在其他 BSD 操作系统中。
在 FreeBSD 中,我们可以使用 “包” 命令:
$ pkg_info -Ix <package-name>
例子:
$ pkg info -Ix nano
样本输出:
要查看所有已安装的软件包,可以使用以下命令:
$ pkg info
或者,
$ pkg version -v
这将需要几秒钟到几分钟的时间,具体取决于您在 FreeBSD 系统中拥有的软件包数量。
结论
您现在知道如何从命令行使用官方和非官方方式来查找软件包是否已安装。 如您所见,这并不难。 这只是几个您可以轻松记住的命令。 如果您不记得这些命令,只需 给他们添加书签 或者 将它们保存在终端中 自己按需运行。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅
祝你有美好的一天!!
CLIdpghasLinux 命令PacmanpkgRPMUnix 命令whichZypper
[ad_2]