Ubuntu 中程序的可执行文件存储在哪里?
一个应用程序(Komodo Edit)要求我识别一个用作网络浏览器的应用程序。我已经习惯于在这种情况下只输入应用程序名称作为命令,但这种情况让我思考了一下。
我知道在 Windows 中它只是“program files”文件夹中的相关应用程序文件夹,但我假设在 Linux 上情况会有所不同?
我认为类似的地方bin
是合乎逻辑的,但这似乎是标准的 Linux/Unix 应用程序。我在哪里可以找到存储在我的系统上的应用程序的二进制可执行文件?
答案1
完整的答案是检查文件系统层次标准关于什么东西放到哪里的文件。
但就你的情况而言,如果你想知道某个可执行文件的位置(例如 Firefox),请使用
which firefox
你会得到这样的完整路径
/usr/bin/firefox
答案2
通过包管理器安装的应用程序通常会转到/usr/bin
。您自己编译的应用程序会转到 ,/usr/local/bin/
除非您在编译时明确设置了不同的前缀。
which application_name
您可以通过在终端中输入来找出特定应用程序的位置。例如which firefox
将打印/usr/bin/firefox
(如果您使用 Ubuntu 软件包中的 Firefox)。
答案3
对于此类问题,一个好的 CLI 命令是:
whereis <nameofwhatever>
或者,当然(见下文)
答案4
如果您正在从包名称中查找可执行文件,也可以尝试此操作:
dpkg -L firefox
这将列出 Firefox 拥有的所有文件。要获取可执行文件,请对其进行进一步处理
dpkg -L firefox | while IFS=$'\n' read -r line; do
[[ -x "${line#*:}" ]] && echo "$line"
done