Linux中实现可执行文件或脚本在全局可用

设置全局可用(是指:我们需要再界面直接输入可执行文件就行,而不用输入可执行文件前面的一大串路径内容。如:我们可以直接输入【mysql】执行就行,而不用输入mysql前面的一长串路径【/usr/local/mysql/mysql-8.4.6/bin/mysql】后才能执行):

Linux的用户和用户组与权限解析、环境变量说明与配置、sudo配置解析和使用https://blog.csdn.net/xiaochenXIHUA/article/details/149323633

一、将可执行文件放置到全局默认执行目录

|--------|----------------|-------------------------|
| 序号 | 默认的全局执行目录 | 说明 |
| 1 | /usr/local/bin | 用户安装的默认执行目录(建议使用这个目录) |
| 2 | /usr/bin | 系统默认安装的执行目录,系统更新时可能发生覆盖 |
[Linux中的程序默认全局执行目录]

将可执行程序放置到全局默认执行目录有两种方法:

《1》直接将可执行程序文件复制一份到全局默认执行目录中

bash 复制代码
#直接将可执行程序文件复制一份到全局默认执行目录中命令(如:将/usr/local/mysql/mysql-8.4.6/bin/mysql文件在不改变文件任何内容的情况下复制一份到全局默认的用户安装执行目录中)
cp -a /usr/local/mysql/mysql-8.4.6/bin/mysql /usr/local/bin/

《2》创建一个软链接到全局默认执行目录中(建议使用)

bash 复制代码
#创建一个软链接到全局默认执行目录中(如:将【/usr/local/mysql/mysql-8.4.6/bin/mysql】文件链接到【/usr/local/bin/】下并命名为mysql)
ln -s /usr/local/mysql/mysql-8.4.6/bin/mysql /usr/local/bin/mysql

Linux的基础操作------对于文件的拷贝、移动、重命名、删除和软链接创建https://blog.csdn.net/xiaochenXIHUA/article/details/149016951

二、将可执行文件路径添加到【bashrc】文件中

bash 复制代码
#假设我们需要将【/usr/local/mysql/mysql-8.4.6/bin】目录下的可执行文件都能直接执行而不用输入前面的这一长串路径,则编辑【.bashrc】文件后添加该可执行程序的目录

#1-打开【.bashrc】文件
vi ~/.bashrc 

#2-在该文件的最后添加可执行程序的目录后保存退出
export PATH="/usr/local/mysql/mysql-8.4.6/bin:$PATH"

#3-让修改后的配置生效(最好是将用户登出后再重新登录)
source ~/.bashrc

注意:

《1》修改【/etc/bashrc】文件对所有用户生效;

《2》修改【~/.bashrc】文件仅对当前用户生效。

三、将可执行文件路径添加到【profile】文件中

bash 复制代码
#假设我们需要将【/usr/local/mysql/mysql-8.4.6/bin】目录下的可执行文件都能直接执行而不用输入前面的这一长串路径,则编辑【profile】文件后添加该可执行程序的目录

#1-打开【.bashrc】文件
vi ~/.profile

#2-在该文件的最后添加可执行程序的目录后保存退出
export PATH="/usr/local/mysql/mysql-8.4.6/bin:$PATH"

#3-让修改后的配置生效(最好是将用户登出后再重新登录)
source ~/.profile

注意:

《1》修改【/etc/profile】文件对所有用户生效;

《2》修改【~/.profile】文件仅对当前用户生效。


相关推荐
HLC++4 小时前
Linux的进程间通信
android·linux·服务器
groundhappy8 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕9 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫10 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生10 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1111 小时前
linux基础IO
linux·运维·服务器
BelongPanda13 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯13 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983414 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器
yunwei3714 小时前
eBPF 教程:检查 exec 后真正安装的可执行镜像
linux·开源