如何在Linux Ubuntu中注册自定义C++程序为全局可用终端应用
Ubuntu下将自定义C++程序设为全局可运行终端应用的方法
前置步骤:编译得到可执行文件
首先编译你的C++源码得到可执行文件,示例:
你有源码文件main.cpp,运行编译命令:g++ main.cpp -o my_custom_app
这里的my_custom_app就是生成的可执行文件名,你可以替换成你想要的应用名。
方法1:直接放入系统PATH目录(操作最简单,适合稳定版本的程序)
Linux终端会从PATH环境变量记录的目录中查找可执行程序,/usr/local/bin是Ubuntu默认预留的用户自定义程序存放目录,默认已经在PATH中:
- 移动可执行文件到该目录,需要管理员权限:
sudo mv my_custom_app /usr/local/bin/ - 给文件添加执行权限(如果编译后未自动赋予):
sudo chmod +x /usr/local/bin/my_custom_app - 配置完成,任意终端路径下直接输入
my_custom_app即可运行程序。
方法2:添加程序所在目录到PATH(适合开发调试阶段,无需频繁移动文件)
如果你还在频繁修改编译程序,不想每次都移动文件,可以把程序所在的目录加入PATH:
- 假设你的可执行文件存放路径为
/home/你的用户名/dev/app_bin/ - 若只需要对当前用户生效,编辑当前用户的shell配置文件:
如果你用默认的bash,运行nano ~/.bashrc;如果你用zsh,运行nano ~/.zshrc - 在配置文件末尾添加一行:
export PATH="$PATH:/home/你的用户名/dev/app_bin/" - 保存退出后执行
source ~/.bashrc(对应zsh则执行source ~/.zshrc)让配置立即生效。 - 若需要对系统所有用户生效,将上面的PATH配置行添加到
/etc/profile文件末尾即可,需要管理员权限编辑,生效需重启或执行source /etc/profile。
方法3:创建软链接到PATH目录(兼顾不移动原文件、不用修改PATH的需求)
如果不想修改PATH配置,也不想移动原程序文件,可以创建软链接指向你的可执行文件:
- 假设你的可执行文件完整路径为
/home/你的用户名/projects/myapp/my_custom_app - 运行命令创建软链接到系统PATH目录:
sudo ln -s /home/你的用户名/projects/myapp/my_custom_app /usr/local/bin/my_custom_app - 给原可执行文件添加执行权限:
chmod +x /home/你的用户名/projects/myapp/my_custom_app - 后续你更新原路径下的可执行文件时,不需要修改软链接,直接就能运行新版本的程序。
注意:如果配置后新开终端不生效,可运行
echo $SHELL查看你当前使用的shell类型,对应修改对应shell的用户配置文件即可。
内容的提问来源于stack exchange,提问作者Ankan Das
相关产品推荐
相关产品推荐

