【Linux】一步一步学Linux——dpkg-query命令(271)

00. 目录

01. 命令概述

dpkg-query命令是Debian linux中软件包的查询工具,它从dpkg软件包数据库中查询并显示软件包的信息。

查询软件包时,软件包的名称支持通配符,如tree*将查询所有以tree开头的软件包。

02. 命令格式

用法:dpkg-query [<选项> ...] <命令>

03. 常用选项

命令:
  -s|--status <软件包> ...         显示软件包详尽的状态信息。
  -p|--print-avail <软件包> ...    显示当前可供安装的版本的详细信息。
  -L|--listfiles <软件包> ...      列出所有属于这个()软件包的文件。
  -l|--list [<表达式> ...]         简要地列出软件包。
  -W|--show <表达式> ...           显示软件包的相关信息。
  -S|--search <表达式> ...         搜寻拥有该文件(或多个文件)的软件包。
     --control-list <软件包>       打印软件包控制文件列表。
     --control-show <软件包> <文件>
                                   显示软件包控制文件。
  -c|--control-path <软件包> [<文件>]
                                   显示软件包控制文件的路径。

  -?, --help                       显示本帮助信息。
      --version                    显示版本信息。

选项:
  --admindir=<目录>                使用 <目录> 而非 /var/lib/dpkg。
  --load-avail                     在 --show 和 --list 之后使用有效文件。
  -f|--showformat=<格式串>         令 --show 使用其它的格式输出。

格式串的语法:
  格式串是用于显示每一个软件包的字符串。格式串可以包含标准的
  脱字符(escape sequences),如 \n (换行)、\r (回车)、或是 \\ (反斜杠)。
  还可以通过加入软件包属性的变量引用来反映软件包的相关信息,
  要在某些字段引用属性变量的话,可以用这样的语法:${var[;width]}。
  字段一般是靠右对齐的,除非它的宽度是负数。若其宽度是负数,
  那么字段将会靠左对齐。

04. 参考示例

4.1 搜寻拥有该文件(或多个文件)的软件包

deng@itcast:~/test$ dpkg-query -S tree
libreoffice-help-zh-cn: /usr/share/libreoffice/help/zh-CN/shared.tree

4.2 列出ubuntu下所安装软件列表

deng@itcast:~/test$ sudo dpkg-query -W --showformat='${Package} ${Version}\n' >> /tmp/txt 
deng@itcast:~/test$

4.3 显示软件包详尽的状态信息

deng@itcast:~/test$ dpkg-query -s tree
Package: tree
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 106
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 1.6.0-1
Depends: libc6 (>= 2.4)
Description: displays directory tree, in color
 Displays an indented directory tree, using the same color assignments as
 ls, via the LS_COLORS environment variable.
Original-Maintainer: Florian Ernst <florian@debian.org>
Homepage: http://mama.indstate.edu/users/ice/tree/
deng@itcast:~/test$ 

4.4 查看软件包安装时安装到系统的文件列表

deng@itcast:~/test$ dpkg-query -L tree
/.
/usr
/usr/bin
/usr/bin/tree
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/tree.1.gz
/usr/share/doc
/usr/share/doc/tree
/usr/share/doc/tree/TODO
/usr/share/doc/tree/copyright
/usr/share/doc/tree/README.gz
/usr/share/doc/tree/changelog.Debian.gz
deng@itcast:~/test$ 

4.5 列出所有安装的包

deng@itcast:~/test$ dpkg-query -l

4.6 查看软件包的确切状态(是否安装)以及版本号

deng@itcast:~/test$ dpkg-query -W -f='${Status} ${Version}\n' tree
install ok installed 1.6.0-1
deng@itcast:~/test$ 

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值