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


相关推荐
贝锐7 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien20048 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
小张同学a.11 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
Best-Wishes13 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
wuminyu13 小时前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++
虎王物联13 小时前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径
linux·运维·docker·rk3568·aiot·嵌入式linux
GeW14 小时前
不只靠技术:RHCE考试的5个隐藏得分点
linux
老当益壮梁奶奶14 小时前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
祖力5515 小时前
进程间通信(IPC机制):消息队列与共享内存
linux·消息队列·共享内存·通信·进程间通信
Learn-Share_HY15 小时前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot