![linux下如何找到一个软件的安装路径?](https://linux22.com/image/17499/linux%E4%B8%8B%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%E4%B8%80%E4%B8%AA%E8%BD%AF%E4%BB%B6%E7%9A%84%E5%AE%89%E8%A3%85%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
在 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 [...]
答案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>
将列出给定包附带的所有文件的位置