profile、bash_profile、bashrc的用途与区别

Linux系统中,有三种文件类型出现的非常频繁,那就是profile、bash_profile、bashrc文件。因为名称的缘故,很多人会把这三类文件的作用记混,因此我们今天就来详细盘点一下这三类文件的作用及区别。

操作方法

  • 01

    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

  • 02

    2. bashrc文件 bashrc文件用于配置函数或别名。bashrc文件有两种级别: 系统级的位于/etc/bashrc、用户级的位于~/.bashrc,两者分别会对所有用户和当前用户生效。 bashrc文件只会对指定的shell类型起作用,bashrc只会被bash shell调用。

  • 03

    3. bash_profile文件 bash_profile只对单一用户有效,文件存储位于~/.bash_profile,该文件是一个用户级的设置,可以理解为某一个用户的profile目录下。 这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。 和profile文件类似,bash_profile也会在用户登录(login)时生效,也可以用于设置环境变理。 但与profile不同,bash_profile只会对当前用户生效。

  • 04

    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进程时,其读取环境设定档如下:

(0)

相关推荐

  • 无线AP,胖AP和瘦AP用途的区别

    无线AP,无线访问节点,也叫无线接入点,可以理解成最末端的无线交换机,负责接入无线网卡.如笔记本电脑.手机.平板.大家有时经常会说什么胖AP,瘦AP等,胖AP和瘦AP它们之间有什么区别? 无线AP的分 ...

  • 微信公众号小程序与服务号和订阅号有什么区别?

    微信中有小程序,有微信订阅号.微信服务号,这些功能之间有什么区别?下面我们就来详细介绍一下. 一.适合的场景 都是搭建在微信平台,功能.主要用途有些区别,使用不同的场景 1.如果想简单的发送消息,达到 ...

  • EXCEL 四舍五入向上向下舍入的多函数应用和区别

    在做excel表格是,对于数据的小数点有时需要进行舍入处理,excel,里面有多个函数都可以达到这个标准,如:round函数 .rounddowm函数.roundup函数.int函数以及ceiling ...

  • 使Linux系统上的程序开机后自动运行

    Linux有自己一套完整的启动体系,抓住了Linux启动的脉络,Linux的启动过程将不再神秘。 阅读之前建议先看一下附图。 本文中假设inittab中设置的init tree为: /etc/rc.d ...

  • Linux系统中的rc.local自启动服务

    linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 本文中假设inittab中设置的init tree为: /etc/rc.d/rc0.d /etc/rc ...

  • Linux服务器登录后显示"-bash-3.2#"

    环境变量的问题,用户登陆后确实是root权限,字符显示的问题可以用这两条命令解决: -bash-3.2# cp /etc/skel/.{bash_profile,bashrc} ~ -bash-3.2 ...

  • centos环境变量如何设置安全问题?

    .是代表当前目录.如果将这点写入root的环境变量,执行脚本时,你只需要打脚本的名字,系统就会在当前的目录下找该脚本并执行. 例如,一个U盘插入电脑,你打了一个文件名字,系统就会执行U盘中的该文件,如 ...

  • Linux中使用数据备份同步工具Rsync的实例教程

    对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件. Rsync同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议,它可 ...

  • centos中tree插件的使用详解与注意事项

    tree插件比较消耗cpu和内存,所以使用时需要注意一下. tree的安装: yum -y install tree 或者是 sudo apt-get install tree 使用时直接输入tree ...