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 中,特别是具有系统级权限的目录,这可能会导致恶意软件被执行或系统安全受到威胁。
相关推荐
克莱因3583 小时前
Linux CentOS7 进程基础知识
linux·运维·服务器
Skilce4 小时前
ZrLog 高可用部署
运维·服务器·数据库·阿里云·maven
我爱学习好爱好爱6 小时前
Ansible 常用模块详解:yum、service/systemd、copy实战
linux·服务器·ansible
papaofdoudou7 小时前
LINUX VFIO被IOMMUFD取代
linux·运维·服务器
平生不喜凡桃李7 小时前
浅谈 Linux 中 namespace 相关系统调用
java·linux·服务器
无忧智库8 小时前
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
大数据·运维
YMWM_8 小时前
【问题】thor上的cubLas
linux·python·thor
虾..9 小时前
多路复用 --- select系统调用
服务器·数据库·sql
杨云龙UP9 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长1159 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器