ฉันจะรับเวอร์ชันของแอปพลิเคชันจากบรรทัดคำสั่งได้อย่างไร


20

ฉันต้องการทราบวิธีรับข้อมูลรุ่นของโปรแกรมที่ติดตั้งที่ไม่มี

--version หรือ -version

วิธีการดำเนินการ


ฉันรู้ว่าคุณหมายถึงโปรแกรมใด ๆ แต่คุณสามารถพูดได้ว่าโปรแกรมใด

คำตอบ:


22

คุณสามารถใช้หรือdpkgapt-cache

วิธีตรวจสอบเวอร์ชั่นของbash:

dpkg -l bash

apt-cache show bash

สำหรับผู้ที่มองหาคำตอบทั่วไปของ Linux ค่าเทียบเท่ากับ RHEL / CentOS / Fedora (และที่คล้ายกัน) จะเป็นyum requires <file>เช่นyum requires ssh-keygenนั้นจะให้รุ่น openSSH ของคุณ
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.