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


相关推荐
爱和冰阔落4 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall5 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy6 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘6 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下15 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla18 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump1 天前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风1 天前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件