Làm cách nào để có được phiên bản của một ứng dụng từ dòng lệnh?


20

Tôi muốn biết làm thế nào để có được thông tin phiên bản của một chương trình được cài đặt mà không có

--version hoặc là -version

phương pháp thực hiện.


Tôi biết bạn có nghĩa là cho bất kỳ chương trình, nhưng bạn có thể nói chính xác chương trình nào?

Câu trả lời:


22

Bạn có thể sử dụng dpkghoặc apt-cache.

Để kiểm tra phiên bản của bash, ví dụ:

dpkg -l bash

apt-cache show bash

Đối với những người chỉ tìm kiếm câu trả lời chung của Linux, tương đương với câu trả lời ở trên cho RHEL / CentOS / Fedora (và tương tự) sẽ là yum requires <file>ví dụ yum requires ssh-keygensẽ cung cấp cho bạn phiên bản openSSH của bạn.
SeldomNeedy

1
@SeldomNeedy - yum bị mất giá trên Fedora, Fedora sử dụng dnf. Centos / RHEL vẫn còn trên yum.
Panther

7

Nếu chương trình không có bất kỳ tùy chọn dòng lệnh nào hiển thị thông tin phiên bản, bạn có thể thử sử dụng dpkgđể có được phiên bản gói thường chứa phiên bản chương trình ion theo cách nào đó.

dpkg -S "$(which YOUR_PROGRAM)"

in gói chứa YOU_PROGRAM và

dpkg --status YOUR_PACKAGE | grep ^Version

in phiên bản CỦA BẠN.

Bạn có thể đặt tất cả lại với nhau:

dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version

Sử dụng nó cho ví dụ như thế này cho ls:

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version

1
Như một đề nghị. Đặt tất cả trong một chức năng và tải nó khi vỏ của bạn bắt đầu.
Zoke

1

Bạn có thể sử dụng dpkg-queryđể lấy phiên bản của gói:

$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3

Để chỉ nhận chuỗi phiên bản:

$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3

0

Lệnh dưới đây cũng cung cấp cho bạn phiên bản gói được cài đặt chính xác.

apt-cache policy <package-name> | grep Installed: | cut -d: -f2

Thí dụ

$ 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.