Modern Path Environment Variable
Modern PATH environment variable
- URL: https://blog.izissise.net/posts/env-path/
- Added At: 2024-12-11 03:38:06
- Link To Text
TL;DR
PATH环境变量是shell或libc读取以找到和执行程序的变量。优化PATH环境变量可以提高系统性能。优化步骤包括移除不必要的目录,如/{bin,sbin}/和/usr/local目录,移除/usr/games目录。优化后的PATH变量可以简化为PATH=/usr/sbin:/usr/bin:/usr/games或PATH=/sbin:/bin。此外,可以通过设置PATH环境变量、shell读取配置文件、显式添加PATH条目和确保系统二进制文件优先来扩展PATH环境变量。
Summary
-
PATH环境变量简介:PATH环境变量是shell或libc读取以找到和执行程序的变量,shell可以通过它找到
/bin/ls当在终端中输入ls时。 - PATH环境变量的优化:
- Debian系统默认PATH变量:PATH变量通常包含多个目录,如
/usr/local/sbin、/usr/local/bin、/usr/sbin、/usr/bin、/sbin、/bin、/usr/games、/usr/local/games。 - 优化步骤:
- 移除不必要的目录:在现代系统中,
/{bin,sbin}/目录是/usr/{bin,sbin}/的符号链接,因此可以移除。 - 移除
/usr/local目录:如果编译或安装软件,建议将其安装在默认位置,而不是/usr/local目录。 - 移除
/usr/games目录:如果使用.desktop条目运行GUI程序(如游戏),则可以移除该目录。
- 移除不必要的目录:在现代系统中,
- 优化后的PATH变量:PATH变量可以简化为
PATH=/usr/sbin:/usr/bin:/usr/games,甚至进一步简化为PATH=/sbin:/bin。
- Debian系统默认PATH变量:PATH变量通常包含多个目录,如
- PATH环境变量的扩展:
- 设置PATH环境变量:可以在
/etc/environment中设置PATH环境变量,但这不是全部。 - shell读取配置文件:shell会读取
/etc/profile和~/.profile配置文件。 - 显式添加PATH条目:可以显式添加PATH条目,例如通过创建符号链接。
- 确保系统二进制文件优先:可以通过在
.profile文件中重新赋值PATH变量来确保系统二进制文件优先于用户二进制文件。
- 设置PATH环境变量:可以在
- 示例配置:
- 创建符号链接:可以创建符号链接,如
~/bin、~/bin-rust、~/bin-py、~/bin-go、~/bin-js,指向相应的二进制文件目录。 - 配置
.profile文件:可以在.profile文件中添加代码来检查和添加PATH条目。
- 创建符号链接:可以创建符号链接,如