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


相关推荐
峥无1 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801681 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux
Strugglingler1 小时前
【systemctl 学习总结】
linux·systemd·systemctl·journalctl·unit file
嵌入式×边缘AI:打怪升级日志3 小时前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
charlie1145141914 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1134 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息4 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
切糕师学AI4 小时前
深入解析 Zsh 与 Oh-My-Zsh:打造高效现代化终端
linux·终端·zsh
切糕师学AI6 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu