今日小编要跟我们分享的文章内容是关于Linux学习中普遍的三大类文件介紹。
熟练掌握Linux系统的朋友们有都明白Linux系统中,有三种文件类型出现的特别过多,那便是profile、bash_profile、bashrc文件。
由于称呼的缘故,越来越多人可能把这三类文件的功能记混,为此我们今日就来具体分析一下这三类文件的功能及差异。
1.profile文件
1.1profile文件的功能
profile(/etc/profile),用来设置成系统级的环境变量和启动程序,在这个文件下配置会对全部用户有效。
当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置成。
1.2在profile中加入环境变量
一般来说不建议在/etc/profile文件中加入环境变量,由于在这个文件中加入的设置成会对全部用户起功能。
当必须加入时,我们能够按下列方式加入:
如,加入一个HOST值为magedu.com的环境变量:
exportHOST=magedu.com
加入时,能够在行尾应用;号,还可以不应用。
一个变量名能够对应好几个变量值,好几个变量值必须应用:进行分隔。
加入环境变量后,必须重新登录才能有效,还可以应用source命令强制立即有效:
source/etc/profile
查找是否有效能够应用echo命令:
$echo$HOST
magedu.com
2.bashrc文件
bashrc文件用来配置函数或别名。
bashrc文件有两种等级:
系统级的位于/etc/bashrc、用户级的位于~/.bashrc,两者分别会对全部用户和当前用户有效。
bashrc文件只会对指定的shell类型起功能,bashrc只会被bashshell调用。
3.bash_profile文件
bash_profile只对单一用户有效,文档存储位于~/.bash_profile,该文件是一个用户级的设置成,能够理解为某一个用户的profile目录下。
这个文件同样还可以用来配置环境变量和启动程序,但只应对单个用户有效。
和profile文件类似,bash_profile也会在用户登录(login)时有效,还可以用来设置成环境变理。
但与profilebash_profile只会对当前用户生效。
4.差异总结
这三种文件类型的差异用一句话表述就是:
/etc/profile,/etc/bashrc是系统全局环境变量设定;~/.profile,~/.bashrc用户家目录下的私有环境变量设定。
当登入系统时候获得一个shell进程时,其读取环境设定档如下:
Linux系统中常见的三类文件介绍
(1)首先读入全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc;
(2)根据不同使用者帐号,于其家目录内读取~/.bash_profile;
读取失败则会读取~/.bash_login;
再次失败则读取~/.profile(这三个文档设定基本上无差别,仅读取上有优先关系);
(3)最后,根据用户帐号读取~/.bashrc。
至于~/.profile与~/.bashrc都具有个性化定制功能,但~/.profile可以设定本用户专有的路径、环境变量等,它只能登入的时候执行一次。
~/.bashrc也是某用户专有设定文档,可以设定路径、命令别名,每次shellscript的执行都会使用它一次。