How do I get the version of an application from the command line?
I would like to know how to get the version information of an installed program that doesn't have the
--version
or-version
method implemented.
You can use dpkg
or apt-cache
.
To check the version of bash
, for example:
dpkg -l bash
apt-cache show bash
If the program doesn't have any command line option that displays version information you can try to use dpkg
to get the package version which usually contains the program version ion some way.
dpkg -S "$(which YOUR_PROGRAM)"
prints the package that contains YOUR_PROGRAM, and
dpkg --status YOUR_PACKAGE | grep ^Version
prints the version of YOUR_PACKAGE.
You can put it all together:
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
Use it for example like this for ls
:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
The below command also gives you the exact installed package version.
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
Example
$ 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