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】文件仅对当前用户生效。


相关推荐
情深不寿3173 小时前
传输层————TCP
linux·网络·c++·tcp/ip
christine-rr4 小时前
【25软考网工】第五章(10) Internet应用
linux·网络·经验分享·笔记·软考
Arenaschi7 小时前
Android
android·linux·运维·笔记·其他·docker
敲上瘾7 小时前
Docker多容器编排:Compose 实战教程
linux·运维·docker·容器·架构
斯普信专业组11 小时前
LVS详解:构建高性能Linux负载均衡集群
linux·负载均衡·lvs
Sadsvit12 小时前
HAProxy 完整指南:简介、负载均衡原理与安装配置
linux·运维·服务器·负载均衡
silence25013 小时前
CentOS 下使用 LVM 扩展根分区空间的完整流程
linux·运维·centos
郝学胜-神的一滴13 小时前
基于Linux,看清C++的动态库和静态库
linux·服务器·开发语言·c++·程序人生
toooooop813 小时前
linux centos 脚本批量启动宝塔服务(二)
linux·运维·centos