Linux 系统环境变量$PATH In 公会战报 @2026-01-16 09:18:05

什么是PATH

在linux中,PATH是指环境变量,一般是指操作系统中指定系统运行环境的参数;PATH控制系统会去哪些目录中寻找可执行的程序的环境变量。使用命令"echo $PATH"查看当前环境变量。

查看PATH

代码语言:javascript复制echo $PATHset:显示(设置)shell变量,包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样,unset命令来清除环境变量env:显示(设置)用户变量export:显示(设置)当前导出成用户变量的shell变量

修改PATH,zabbix、mongodb 举例

临时修改,当前终端关闭后恢复原有的path路径,当前用户生效

代码语言:javascript复制export PATH=/usr/local/zabbix/sbin/:$PATH

export PATH=/usr/local/mongodb/bin:$PATH~/.bashrc

永久修改,当前用户生效

代码语言:javascript复制vim ~/.bashrc

//在最后一行添加

export PATH=/usr/local/zabbix/sbin/:/usr/local/mongodb/bin:$PATH

//生效配置

source ~/.bashrc~/.bashrc为当前用户设置专属的 bash 信息,当每次打开新的shell时,bashrc文件被执行。

/etc/profile

永久修改,全局用户生效

代码语言:javascript复制vim /etc/profile

//在最后一行添加

export PATH=/usr/local/zabbix/sbin/:/usr/local/mongodb/bin:$PATH

//生效配置

source /etc/profile每个用户设置环境变量,用户第一次登录时,文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。/etc/profile包含/etc/profile.d/*.sh所有的sh文件。

常用的环境变量

代码语言:javascript复制PATH 决定shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE 语言相关的环境变量,多语言可以修改此环境变量

MAIL 前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$Linux命令内部命令和外部命令

内置命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。

外部命令

外部命令也称为文件系统命令,是bash shell之外的程序,也并不是shell的一部分。外部命令一般位于/bin、/usr/bin、/sbin或/usr/sbin中。外部命令是Linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。

通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/bin……等等。可通过"echo $PATH"命令查看外部命令的存储路径,比如:ls、vi等。

内置命令

内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在Linux系统加载运行时shell就被加载并驻留在系统内存中。

内部命令是写在bash源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。比如:exit,history,cd,echo等。内置命令更高效不会收到环境变量影响。

科曼:世界杯后离任?橙衣军团帅位悬念再起,未来何去何从?
苹果怎么关闭拨号声音 苹果手机关闭拨号声音方法【详解】