Ubuntu 和 CentOS 根据命令查找软件包
目录
在使用 Linux 的时候,有时需要查询某个命令属于哪个软件包,下面主要介绍下 Ubuntu(同样适用于使用 dpkg 包管理工具的 Linux) 和 CentOS(同样适用于使用 rpm 作为包管理器的 Linux)根据命令查询软件包的方法。
一、Ubuntu
1.1 步骤
1. 先使用 which 查询出命令的绝对路径;
2. 再使用 dpkg 查询出已安装的哪个包包含该路径;
单纯说步骤可能还是不太理解,下面结合实例看一下你就会明白了。
1.2 实例
(1)查询 wget 命令所在的软件包,如下所示:
-
root@xipeng:~# which wget
-
/usr/bin/wget
-
root@xipeng:~# dpkg -S /usr/bin/wget
-
wget: /usr/bin/wget
-
root@xipeng:~#
(2)查询 curl 命令所在的软件包,如下所示:
-
root@xipeng:~# which curl
-
/usr/bin/curl
-
root@xipeng:~# dpkg -S /usr/bin/curl
-
curl: /usr/bin/curl
-
root@xipeng:~#
命令 which 可以查询出当前命令的绝对路径,dpkg -S 从已安装的软件包中搜索文件名。
二、CentOS
2.1 步骤
1. 先使用 which 查询出命令的绝对路径;
2. 再使用 rpm 查询出已安装的哪个包包含该路径;
2.2 实例
(1)查询 wget 命令所在的软件包,如下所示:
-
[root@localhost ~]# which wget
-
/usr/bin/wget
-
[root@localhost ~]# rpm -qa --queryformat="[%{NAME} : %{INSTFILENAMES}\n]" | grep /usr/bin/wget
-
wget : /usr/bin/wget
-
[root@localhost ~]#
(2)查询 curl 命令所在的软件包,如下所示:
-
[root@localhost ~]# which curl
-
/usr/bin/curl
-
[root@localhost ~]# rpm -qa --queryformat="[%{NAME} : %{INSTFILENAMES}\n]" | grep /usr/bin/curl
-
curl : /usr/bin/curl
-
[root@localhost ~]#
同样适用 which 查询出命令的绝对路径,然后使用 rpm -qa --queryformat="[%{NAME} : %{INSTFILENAMES}\n]" | grep commondPath,查询出对应的软件包。
三、总结
在使用 dpkg 和 rpm 的所有 Linux 中都可以使用上面对应的方式查找命令所在的软件包,很简单吧!感觉对你有帮助就点赞支持下吧!可以一键三连哦!
文章来源: blog.csdn.net,作者:Linux猿,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/nyist_zxp/article/details/113406093
- 点赞
- 收藏
- 关注作者
评论(0)