我想知道如何获取没有
--version
或者-version
方法实施。
答案1
您可以使用dpkg
或apt-cache
。
要检查 的版本bash
,例如:
dpkg -l bash
apt-cache show bash
答案2
如果程序没有任何显示版本信息的命令行选项,您可以尝试使用它dpkg
来获取通常以某种方式包含程序版本的软件包版本。
dpkg -S "$(which YOUR_PROGRAM)"
打印包含 YOUR_PROGRAM 的包,并且
dpkg --status YOUR_PACKAGE | grep ^Version
打印 YOUR_PACKAGE 的版本。
你可以把它们放在一起:
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
例如像这样使用它ls
:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
答案3
以下命令还为您提供准确的已安装软件包版本。
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
例子
$ apt-cache policy firefox | grep Installed: | cut -d: -f2
24.0+build1-0ubuntu1
$ apt-cache policy gedit | grep Installed: | cut -d: -f2
3.8.3-0ubuntu3
答案4
您可以使用dpkg-query
来获取包的版本:
$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3
仅获取版本字符串:
$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3