Linux环境变量的添加和修改

关于环境变量PATH的添加和查看

1、环境变量是目录

  环境变量是目录,即访问和调用命令或程序的目录(路径)。这个目录里是各个命令文件和程序文件(或它们快捷键)的集合。(这里说的文件一般都是可执行文件)。
在linux环境变量用PATH表示。$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。
多个路径时中间用分号分隔。
  export PATH=$PATH:路径  或export PATH=路径:$PATH
  或者export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
注意:那个“$PATH”表示原先设定的路径仍然有效,这里只是新增。如果只想新增的话,注意不要漏掉$PATH。

2、查看环境变量命令

  查看环境变量可用命令:export。单独查看PATH值用echo $PATH。

3、修改环境变量

  1.  临时生效:添加PATH环境变量用:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin。
  查看时候添加成功再用:echo $PATH。此方法临时生效,关闭终端修改就会消失。要想永久生效,需要把这行添加到环境变量文件里。
  2.  永久生效:修改用户主家目录下的.bashrc(即:~/.bashrc)。用户主目录下的“.bash_profile”只对这个用户有效。对其他用户无效。
  在文件后添加:export PATH=$PATH:路径
  环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:source  .bash_profile。
  3.  永久有效:修改/etc/profile文件。所有用户的环境变量。对所有用户可用。
  在文件最后行添加:export PATH=$PATH:路径
  要想立即生效用:source  /etc/profile。
  4.  永久有效:修改/etc/environment。系统的环境变量,对所有用户可用。
  在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 中加入“:路径”

4、关于环境变量

  环境变量区别:
  ~/.bashrc  是单个用户的环境变量
  /etc/profile  是所有用户的环境变量
  /etc/enviroment  是系统的环境变量
  1.  ~/.bashrc:该文件包含专用于当前用户的bash shell的bash信息。当登录时以及每次打开新的shell时,该该文件被读取。
  2.  对于用户的shell初始化而言是先执行/etc/profile,再读取文件/etc/environment。
  /etc/profile -->/etc/enviroment -->$HOME/.profile   -->$HOME/.env(如果存在)
  3.  对整个系统而言是先执行/etc/environment
  /etc/enviroment --> /etc/profile --> $HOME/.profile  -->$HOME/.env (如果存在)
  这应该是用户环境和系统环境的区别了。
  4.  etc/profile和/etc/environment的比较
  先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。
将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。
用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。
应该是先执行/etc/environment,后执行/etc/profile。
  /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,像日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。

5、关于shell

  Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它接收用户命令,然后调用相应的应用程序。
  它类似于DOS下的command.com和后来的cmd.exe。分为两大类:图形和命令行shell。传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
原文地址:https://www.cnblogs.com/yangxiayi1987/p/13600829.html