linux下如何找到一个软件的安装路径?

linux下如何找到一个软件的安装路径?

在 Linux 下,我通过输入例如 Fluidplot 来启动软件。如何找到该软件的安装路径?

答案1

您可以使用:

which fluidpoint

查看它从哪里执行(如果它在您的 $PATH 中)。或者:

find / -name fluidpoint 2> /dev/null

查找名为 fluipoint 的文件并重定向虚拟文件系统上的错误。

通常它们位于/sbin/usr/sbin/usr/local/bin~作为隐藏目录。

来自手册:

NAME
       which - shows the full path of (shell) commands.

SYNOPSIS
       which [options] [--] programname [...]

完整手册:https://linux.die.net/man/1/which

答案2

如果您使用基于 RPM 的发行版(CentOS、RHEL、SUSE、openSUSE),您可以使用 rpm -ql

例子:

rpm -ql findutils
/bin/find
/usr/bin/find
/usr/bin/xargs
/usr/share/doc/packages/findutils
/usr/share/doc/packages/findutils/AUTHORS
/usr/share/doc/packages/findutils/COPYING
/usr/share/doc/packages/findutils/NEWS
/usr/share/doc/packages/findutils/README
/usr/share/doc/packages/findutils/THANKS
/usr/share/doc/packages/findutils/TODO
/usr/share/info/find.info.gz
/usr/share/man/man1/find.1.gz

事物不会像在 Windows(甚至在某种程度上在 Mac)世界中那样安装到 Linux/UNIX 世界中的位置。他们更加分散。二进制文件位于/bin或中/sbin,库位于 中/lib,图标/图形/文档位于 /share 中,配置位于 中/etc,程序数据位于 中/var

/bin、包含启动所需的核心应用程序,/lib包含所有其他用户和系统应用程序。/sbin/usr

答案3

只是为了给 @djsumdog 的答案添加一些观点,如果你使用的是基于 DPKG 的 dist,比如 Ubuntu,你可以使用

dpkg --status some_package

检查它的内容,并且

dpkg --listfiles some_package

检查此包包含/相关的文件。它适用于没有二进制文件可以运行的包,例如libnss3.和

dpkg --search some_file

查找包含该文件的包。

例如,dpkg --listfiles libnss3给我:

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3

请注意,这些文件夹不仅归此软件包所有,也归其他软件包所有。只需检查文件即可。

相反,dpkg --search libnss3.so给我:

firefox: /usr/lib/firefox/libnss3.so
thunderbird: /usr/lib/thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d

答案4

在基于 Arch 的系统上:

pacman -Qo <somefile>

会给你拥有的包一些文件

pacman -Ql <package>

将列出给定包附带的所有文件的位置

相关内容