有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下:
(如添加/sbin到PATH环境变量中)
(1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以:
输入export PATH=$PATH:/sbin
(2)如果只给当前用户永久添加,则:
在~/.bash_profile中的靠近末尾有类似这样的一行PATH=$PATH:$HOME/bin后添加:/sbin,就变成PATH=$PATH:$HOME/bin:/sbin
文件修改并保持完以后,运行source ~/.bash_profile命令即可使修改操作立即生效
(3)如果给系统中所有的用户都永久添加,则:
在/etc/profile文件末尾添加export PATH=$PATH:/sbin
文件修改并保持完以后,运行source etc/profile命令即可使修改操作立即生效
/etc/profile--全局环境变量配置解析
与环境变量相关的文件可能还会有/etc/bashrc等,不过这是shell变量,是局部的,对于特定的shell器作用。/etc/profile是全局的,适用于所有的shell。 profile文件会告诉shell使用什么语言,什么shell,命令的搜索路径等等。 一些标准的环境变量: SHELL 默认shell LANG 默认语言 PATH linux寻找命令的默认路径,一般包括/bin,/usr/bin,/sbin,/usr/sbin, /usr/X11R6/bin,/opt/bin,/usr/local/bin等。用户可以自行添加, 如/home/bin等. MANPATH man手册的默认路径 INPUTRC 默认键盘映象,详见/etc/inputrc BASH_ENV bash shell的环境变量,通常在~/.bashrc中 DISPLAY X窗口适用的控制台,DISPLAY=:0对应于控制台F7,DISPLAY=:1对应于控制 台F8,DISPLAY=server:0向远程计算机发送GUI应用程序。 COLORTERM GUI中的默认终端,通常是gnome-terminal。 USER 自动设置当前登陆用户的用户名。 LONGNAME 通常设置为$USER MAIL 设置特定$USR的标准邮件目录 HOSTNAME 设置为/bin/hostname的命令输出 HISTSIZE 设置为history命令记住的命令数 例子:
文章摘要: 关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程。在登录Linux时要执行文件的过程如下:在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~ 关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程。 在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:
所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。 执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout 关于各个文件的作用域,在网上找到了以下说明: (1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。 (2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。 (3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 (4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 (5)~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。 (6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。 |