windows下 用户变量和系统变量_windows


系统变量:

对所有的用户起作用。

用户变量:

对当前用户起作用。

有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量,比如path,那么path的值到底是用户变量中的值还是系统变量中的值,或者两者都不是呢?答案是两者都不是。path变量的值是用户变量中的值与系统变量中的值的叠加。

  例如你要用java,那么你把java的bin目录加入到path变量下面(添加方法),那么它就是系统环境变量,所有用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。

系统变量:与windows操作系统包括网络状况有关,由操作系统定义。Administrators组的用户可以添加添加、修改或删除。
用户变量:由操作系统、某些应用程序以及用户建立,例如WindowsXP安装程序将临时文件夹设定了默认存储位置,并视为用户变量。任何用户都可以添加、修改或删除。

这些变量由 Windows XP 安装程序、某些应用程序以及用户建立。这些更改将写入注册表,而且通常立即生效。不过,在更改用户环境变量之后,应该重新启动所有打开的软件程序以使其读取新的注册表值。

添加、改变变量的常见原因是为您希望在程序(脚本)中使用的变量提供所需的数据。

经常使用的Windows系统存在的系统变量的值:

windows下 用户变量和系统变量_windows_02


windows下 用户变量和系统变量_操作系统_03


windows下 用户变量和系统变量_系统变量_04

为什么要设置环境变量?

其实就是在windows和dos操作系统中的path环境变量,当要求系统运行一个程序时 ,而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应到path中指定的路径下去找。用户通过设置环境变量,来更好地运行程序。很多木马传染也是通过这个原理来感染软件。

Linux 操作系统的环境变量和用户变量文件系统相对简单

比方说,系统变量的文件都在/etc/profilec 下面,而用户变量的文件都在~/bash_profile下面 (每个用户文件不在同一个)