Linux环境变量PATH

在Linux系统中,直接输入命令如ls而没有指定命令的绝对路径/usr/bin/ls,系统也能正确的执行,这是因为 环境变量 PATH 的作用,它指定系统在执行命令时搜索可执行文件的路径。

本文主要介绍在 CentOS 7.x 中关于环境变量 PATH 的说明与配置

环境变量 PATH

当用户在终端输入一个命令时,系统会在 PATH 指定的路径中查找该命令的可执行文件。如果找到了,就会执行该命令;如果没有找到,则会提示"命令不存在"的错误信息。

查看环境变量 PATH

bash 复制代码
# 输入命令
echo $PATH

# 可能返回以下内容
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

PATH(大写)环境变量 是一个由冒号分隔目录列表 ,每个目录有顺序之分。当用户在命令行输入一个命令时,系统会按照这个列表的顺序去查找这个命令的可执行文件。

例如 PATH 的值是 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin,那么 系统会首先在 /usr/local/sbin 目录下查找命令,如果没找到,再到 /usr/local/bin 目录下查找,以此类推。

修改环境变量 PATH

bash 复制代码
# 输入命令
vim ~/.bash_profile

# 文件末尾添加export PATH=$PATH:/自定义目录路径,以下为示例
export PATH=$PATH:/home/mybin

# 使环境变量生效
source ~/.bash_profile

# 查看环境变量
echo $PATH

# 可能返回以下内容,新加的目录已生效
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/home/mybin

注意事项

  1. 不同身份的用户默认环境变量 PATH 不同
  2. 环境变量 PATH 是可以被修改的
  3. 在不确定的情况下,使用绝对路径来指定某个命令更为准确
  4. 在添加自定义目录前,先检查该目录下是否存在与系统命令同名的可执行文件,以免发生冲突,导致系统命令被覆盖或无法正常工作。
  5. 谨慎添加不受信任的目录到环境变量 PATH 中,特别是具有系统级权限的目录,这可能会导致恶意软件被执行或系统安全受到威胁。
相关推荐
戴为沐5 小时前
Linux内存扩容指南
linux
zylyehuo15 小时前
Linux 彻底且安全地删除文件
linux
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https