コマンドラインからアプリケーションのバージョンを取得するにはどうすればよいですか?


20

インストールされていないプログラムのバージョン情報を取得する方法を知りたい

--version または -version

メソッドが実装されました。


私はあなたがどんなプログラムでも意味することを知っていますが、どのプログラムを正確に言うことができますか?

回答:


22

dpkgまたはを使用できますapt-cache

のバージョンを確認するにはbash、たとえば:

dpkg -l bash

apt-cache show bash

Linuxの一般的な答えを探しているだけの人にとっては、RHEL / CentOS / Fedora(および同様の)の上記に相当するものは、yum requires <file>たとえばyum requires ssh-keygenopenSSHバージョンを提供します。
SeldomNeedy

1
@SeldomNeedy-yumはFedoraで減価償却され、Fedoraはdnfを使用します。Centos / RHELはまだyum上にあります。
パンサー

7

プログラムにバージョン情報を表示するコマンドラインオプションがない場合は、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

1
提案として。すべてを関数に入れて、シェルの起動時にロードします。
Zoke

1

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

0

以下のコマンドは、インストールされている正確なパッケージバージョンも提供します。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.