Linux系统中,有三种文件类型出现的非常频繁,那就是profile、bash_profile、bashrc文件 。因为名称的缘故,很多人会把这三类文件的作用记混,因此我们今天就来详细盘点一下这三类文件的作用及区别 。
1 1. profile文件 1.1 profile文件的作用 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效 。当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置 。1.2 在profile中添加环境变量 一般不建议在/etc/profile文件中添加环境变量,因为在这个文件中添加的设置会对所有用户起作用 。当必须添加时,我们可以按以下方式添加: 如,添加一个HOST值为linuxprobe.com的环境变量: export HOST=linuxprobe.com 添加时,可以在行尾使用;号,也可以不使用 。一个变量名可以对应多个变量值,多个变量值需要使用:进行分隔 。添加环境变量后,需要重新登录才能生效,也可以使用source命令强制立即生效: source /etc/profile 查看是否生效可以使用echo命令: $ echo $HOST linuxprobe.com
【bashrc profile区别,profile是什么文件】2 2. bashrc文件 bashrc文件用于配置函数或别名 。bashrc文件有两种级别: 系统级的位于/etc/bashrc、用户级的位于~/.bashrc,两者分别会对所有用户和当前用户生效 。bashrc文件只会对指定的shell类型起作用,bashrc只会被bash shell调用 。
3 3. bash_profile文件 bash_profile只对单一用户有效,文件存储位于~/.bash_profile,该文件是一个用户级的设置,可以理解为某一个用户的profile目录下 。这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效 。和profile文件类似,bash_profile也会在用户登录(login)时生效,也可以用于设置环境变理 。但与profile不同,bash_profile只会对当前用户生效 。
4 4. 差异总结 4.1 首先读入全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc; 4.2 根据不同使用者帐号,于其家目录内读取~/.bash_profile; 读取失败则会读取~/.bash_login; 再次失败则读取~/.profile(这三个文档设定基本上无差别,仅读取上有优先关系); 4.3 最后,根据用户帐号读取~/.bashrc 。(对于预装的linux系统选择《Linux就该这么学》书籍提供的,可免费下载 。) 至于~/.profile与~/.bashrc都具有个性化定制功能,但~/.profile可以设定本用户专有的路径、环境变量等,它只能登入的时候执行一次 。~/.bashrc也是某用户专有设定文档,可以设定路径、命令别名,每次shell script的执行都会使用它一次 。这三种文件类型的差异用一句话表述就是: /etc/profile,/etc/bashrc 是系统全局环境变量设定;~/.profile,~/.bashrc用户家目录下的私有环境变量设定 。当登入系统时候获得一个shell进程时,其读取环境设定档如下:
推荐阅读
- 我叫mt蓝卡怎么升级紫卡,我叫mt普通紫卡有什么用
- 有消毒液味道,蟑螂会出来吗
- 一轮明月当空照全诗 一轮明月当空照的诗句大意
- 送东阳马生序重点字词翻译 送东阳马生序原文翻译
- 2022年考二建需要买哪版书
- 成人高考通过率是多少 有考不过的吗
- 工商管理是做什么的 学工商管理专业有什么用
- 贵州2022年一本投档分数线汇总
- 2022动车组检修技术专业大学排名 最新院校排行榜