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 中,特别是具有系统级权限的目录,这可能会导致恶意软件被执行或系统安全受到威胁。
相关推荐
Sheffield5 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield13 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
舒一笑1 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
Johny_Zhao1 天前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev1 天前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主2 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作