【问题标题】:Ubuntu: How to link a binaryUbuntu:如何链接二进制文件
【发布时间】:2026-02-11 13:55:02
【问题描述】:

我有一个 C++ 代码。我编译了它,现在我有了二进制 xyz。现在每次我需要执行二进制文件时,我都必须切换到相应的目录才能使用 ./xyz 执行它但是如何从任何地方使用命令说 xyz 来运行二进制文件。如何将此二进制文件链接到 ubuntu 中的命令。我目前使用的是 Ubuntu 10.10

【问题讨论】:

    标签: linux ubuntu binaryfiles


    【解决方案1】:

    Ubuntu 将您的 PATH 环境变量设置为包含 ~/bin。因此,让xyz 可以在任何地方执行的最简单方法是将xyz 移动到~/bin,或者从~/bin 建立一个符号链接到xyz 的目录:

    ln -s /path/to/xyz/directory/ ~/bin
    

    或者,您可以add /path/to/xyz/directory/ to your PATH 环境变量。

    【讨论】:

    • 谢谢。我通过添加到 PATH 变量来做到这一点。
    【解决方案2】:

    问题是 Ubuntu 不知道去哪里寻找二进制 xyz。

    您需要为您的 shell 配置文件添加一个路径(它会告诉您的 shell 在哪里寻找像 xyz 这样的程序)或将 xyz 添加到您的路径中已经包含的目录。

    例如,/usr/bin 是一个正常存储二进制文件的地方。但是,我不完全确定安装新二进制文件的普遍接受的位置是什么(/usr/bin 可能通常保留给系统二进制文件)。

    Ubuntu 默认使用 bash shell。在您的主目录 (~) 中,您可以检查/编辑您的 .profile 文件,然后编辑或查看哪些目录已添加到您的 PATH 变量中。

    【讨论】:

    • 是的,你是对的。但是你知道如何将路径添加到我的二进制 xyz 中吗?
    • 我可能误解了你的问题。您正在尝试运行“xyz”而不必 cd 到目录并使用“./xyz”,对吗?
    • 是的,没错。我找到了。我做了export PATH=$PATH:/xyz_location,现在它工作了。谢谢波夫
    • /usr/local/bin/ 是安装本地编译的二进制文件以供系统范围使用的正确位置。对于单个用户,$HOME/bin