在哪里可以找到文件系统中的应用程序可执行文件?


35

Ubuntu中存储的程序的可执行文件在哪里?

一个应用程序(Komodo Edit)要求我确定要用作网络浏览器的应用程序。在这种情况下,我已经习惯于只输入应用程序名称作为命令,但是这种情况让我开始思考。

我知道在Windows中,它只是“程序文件”文件夹中的相关应用程序文件夹,但是我假设Linux上的情况有所不同吗?

我以为bin是合理的,但这似乎在标准Linux / Unix应用程序中出现。在哪里可以找到存储在系统中的应用程序的二进制可执行文件?

Answers:


43

完整的答案是查看Filesystem Hierachy Standard文档中有关哪些内容的去向

但是在您的情况下,如果您想知道特定可执行文件的位置(例如firefox),请使用

which firefox

这样您将获得完整的路径

/usr/bin/firefox

2
Filesystem Hierachy Standard...有趣的...我不会用细齿梳来检查它,但是一定很了解它...它使我对Linux有了另一种洞察力...
Peter.O

11

通过软件包管理器安装的应用程序通常转到/usr/bin/usr/local/bin/除非您在编译时明确设置了不同的前缀,否则您自己编译的应用程序将转到。

您可以通过which application_name在终端中输入来找到特定应用程序的位置。例如,which firefox将进行打印/usr/bin/firefox(如果您使用的是Ubuntu软件包中的firefox)。


6

对于此类问题,一个很好的CLI值得赞叹:

whereis <nameofwhatever>

或者,当然(见下文)


4
这将查找名为<nameofwhatever>的文件,这些文件可能是也可能不是可执行文件。有些甚至可能是目录。您应使用which代替whereis。
理查德·霍洛威

用于标准安装的完整ACK(我们都希望拥有)。
塔卡特

1

如果要从程序包名称中查找可执行文件,也可以尝试以下操作:

dpkg -L firefox

这将列出firefox拥有的所有文件。要获取可执行文件,请将其通过进一步处理

dpkg -L firefox | while IFS=$'\n' read -r line; do
    [[ -x "${line#*:}" ]] && echo "$line"
done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.