debian/ubuntu查询命令属于哪个软件包
dpkg-query -L <package_name> 可以查询该软件包的所有文件dpkg-query -L <package_name>|grep "/bin/" 查询该软件包的所有可执行文件方法一:先查询命令的具体位置,再查询所属包先使用whichwhereistype查询到命令的具体位置,比如nslookup:~# type nslookupnslookup is
·
参考链接:
dpkg-query -L <package_name>
可以查询该软件包的所有文件
dpkg-query -L <package_name>|grep "/bin/"
查询该软件包的所有可执行文件
方法一:先查询命令的具体位置,再查询所属包
- 先使用
which
whereis
type
查询到命令的具体位置,比如nslookup
:~# type nslookup nslookup is /usr/bin/nslookup ~# which nslookup /usr/bin/nslookup ~# whereis nslookup nslookup: /usr/bin/nslookup /usr/share/man/man1/nslookup.1.gz
- 然后用
dpkg-query
查询该命令属于哪个软件包:~# dpkg-query -S /usr/bin/nslookup dnsutils: /usr/bin/nslookup
方法二:直接使用dpkg-query
命令查询
系统的/bin
可能是个软链接,指向/usr/bin
(同样/sbin
也可能是个软链接,指向/usr/sbin
),比如nano
这个命令按方法1查询的话:
~# type nano
nano is /usr/bin/nano
~# whereis nano
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
~# which nano
/usr/bin/nano
但实际上nano
在dpkg-query
中的记录是/bin/nano
,如果直接使用dpkg-query -S /usr/bin/nano
去查询就查不到.
所以也可以像下面这种方式(以node
为例):
~# dpkg-query -S node
nodejs: /usr/bin/node
salt-common: /usr/lib/python3/dist-packages/salt/cloud/clouds/linode.py
adwaita-icon-theme: /usr/share/icons/Adwaita/48x48/mimetypes/inode-directory-symbolic.symbolic.png
libjs-extjs6: /usr/share/javascript/extjs6/packages/ux/classic/classic/resources/images/explorer/node.png
openmediavault: /var/www/openmediavault/js/omv/workspace/node/Model.js
openmediavault: /var/www/openmediavault/js/omv/workspace/node/tree/Panel.js
linux-image-4.19.0-14-amd64: /lib/modules/4.19.0-14-amd64/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko
nodejs: /usr/share/doc/nodejs/buildinfo_amd64.gz
docker-ce-cli: /usr/share/man/man1/docker-node.1.gz
nodejs: /usr/share/doc/nodejs/copyright
linux-image-4.19.0-16-amd64: /lib/modules/4.19.0-16-amd64/kernel/drivers/media/v4l2-core/v4l2-fwnode.ko
libjs-extjs6: /usr/share/javascript/extjs6/modern/theme-triton/resources/images/pictos/nodes1.png
libjs-extjs6: /usr/share/javascript/extjs6/modern/theme-ios/resources/images/pictos/nodes2.png
libjs-extjs6: /usr/share/javascript/extjs6/modern/theme-windows/resources/images/dark/pictos/nodes1.png
bash-completion: /usr/share/bash-completion/completions/vgmknodes
libsnmp-base: /usr/share/snmp/mib2c-data/node-set.m2i
xmlstarlet: /usr/share/doc/xmlstarlet/examples/results/countnode1.out
nodejs: /usr/share/man/man1/nodejs.1.gz
......
这样查询到的会有很多,可以进行筛选:
~# dpkg-query -S node | grep /bin/
nodejs: /usr/bin/node
nodejs: /usr/bin/nodejs
总结:
1 查询到命令的具体位置
which
-
whereis
-
type
- dpkg-query -S <命令名> | grep /bin/ #推荐
2 根据命令所在的位置,查询所属的包
- dpkg-query -S <命令的位置>
更多推荐
已为社区贡献12条内容
所有评论(0)