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

use*_*997 91 linux software-installation

在 linux 下,我通过键入(例如,fluidplot)来启动一个软件。如何找到这个软件的安装路径?

n0p*_*0pe 85

您可以使用:

which fluidpoint
Run Code Online (Sandbox Code Playgroud)

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

find / -name fluidpoint 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

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

通常他们都在/sbin/usr/sbin/usr/local/bin~作为一个隐藏目录。

从手册:

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

SYNOPSIS
       which [options] [--] programname [...]
Run Code Online (Sandbox Code Playgroud)

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

  • 或检查程序是否实际上是别名,例如`alias fluidpoint`, (4认同)
  • @Chad 某些版本的`which`(例如内置于 ZSH 的版本)会为您做到这一点 (2认同)

djs*_*dog 16

如果您使用基于 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
Run Code Online (Sandbox Code Playgroud)

东西不会像在 Windows(甚至有点在 Mac)世界中那样安装到 Linux/UNIX 世界中的位置。它们分布更广。二进制文件在/bin或 中/sbin,库在 中/lib,图标/图形/文档在 /share 中,配置在 中/etc,程序数据在 中/var

/bin/lib/sbin包括需要引导的核心应用和/usr包含所有其他用户和系统应用。


Wes*_*Gun 10

只是在@djsumdog 的回答中添加一些要点,如果您使用的是基于 DPKG 的 dist,例如 Ubuntu,则可以使用

dpkg --status some_package
Run Code Online (Sandbox Code Playgroud)

检查它是关于什么的,以及

dpkg --listfiles some_package
Run Code Online (Sandbox Code Playgroud)

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

dpkg --search some_file
Run Code Online (Sandbox Code Playgroud)

查找包含此文件的包。

例如,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
Run Code Online (Sandbox Code Playgroud)

请注意,文件夹不仅归这个包所有,还归其他人所有。只需检查文件。

相反,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
Run Code Online (Sandbox Code Playgroud)


魔大农*_*魔大农 6

whereis命令会定位命令的二进制文件、源文件和手册页文件,并且该type命令会告诉您在运行某个命令时 shell 究竟执行了什么。

试试whereis -l fluidplot你的情况。如果它只返回“fluidplot:”,而没有返回路径,则表示未安装该软件。请注意,这不包括可能隐藏在主文件夹中的文件~/.local/share/(在我的情况下)。

Linux 螺丝上找到