명령 줄에서 응용 프로그램 버전을 얻으려면 어떻게합니까?


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에 있습니다.
Panther

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.