1. 在登录Linux时要执行文件的过程如下:

在刚登录Linux时,

首先启动 /etc/profile 文件,

然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,用户主目录下文件的执行的顺序为:

~/.bash_profile -> ~/.bash_login -> ~/.profile。

如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

因为在 ~/.bash_profile文件中一般会有下面的代码:

if [ -f ~/.bashrc ] ; then

. ./bashrc

fi

~/.bashrc中,一般还会有以下代码:

if [ -f /etc/bashrc ] ; then

. /etc/bashrc

fi

所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行~/.bash_logout文件。

执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

2. 关于各个文件的作用域,有如下说明:

(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

(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 运行的通常二者设置大致相同,所以通常前者会调用后者。

/etc/profile和/etc/environment等各种环境变量设置文件的用处

1)先将export加入/etc/profile,退出系统重新登录,登录提示显示英文。

2)先将/etc/profile 中的export删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。

用户环境建立的过程中总是先执行/etc/profile,然后再读取/etc/environment。

为什么会有如上所叙的不同呢?而不是先执行/etc/environment,后执行/etc/profile呢?

这是因为: /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。

系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,如日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。

对于用户的shell初始化而言是先执行/etc/profile,再读取文件/etc/environment;对整个系统而言是先执行/etc/environment。这样理解正确吗?

登陆系统时的顺序应该是

/etc/enviroment --> /etc/profile --> HOME/.profile−−>HOME/.env (如果存在)

/etc/profile 是所有用户的环境变量

/etc/enviroment是系统的环境变量

登陆系统时shell读取的顺序应该是

/etc/profile ->/etc/enviroment -->HOME/.profile−−>HOME/.env

原因应该是用户环境和系统环境的区别了,如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值,那应该是以用户环境为准了。

建立linux系统启动配置文件,linux下系统启动时,几个配置文件 启动顺序相关推荐

  1. linux oel7没有网络,rhel7/oel7上修改默认内核启动顺序的方法

    rhel7和 rhel6的默认启动顺序的修改方法,不太一样,需要使用grub2来修改.具体如下, 比如想修改 Oracle Linux Server, with Linux 3.10.0-123.el ...

  2. linux (centos)下安装 mongodb v3.2 笔记(启动的时候可以指定配置文件)

    1.下载mongodb 默认都是64位的,这个有点尴尬... 64位系统下载地址: https://www.mongodb.org/dl/linux/x86_64-debian81?_ga=2.153 ...

  3. linux下运行时链接库的路径顺序

    那么自制的库在没有指定运行时库的路径时,一般是不会找到你特定目录的,先来说说链接库的搜寻顺寻: 1.编译目标代码时指定的动态库搜索路径(指的是用-wl,rpath或-R选项而不是-L): exampl ...

  4. WinCE7.0 下 Silverlight(XAML) 类型的应用启动逻辑

    WinCE7.0 下 Silverlight(XAML) 类型的应用启动顺序,如下堆栈所示: SWEClock.exe!MainPage::OnLoaded(IXRDependencyObject* ...

  5. Linux:开机引导和系统启动【详细】

    注:文章参考: https://blog.csdn.net/qq_26819733/article/details/77624141 https://blog.csdn.net/bailyzheng/ ...

  6. 系统启动 之 Linux系统启动概述(2)

    博客:http://blog.csdn.net/younger_china/article/details/51615916 Linu系统启动是一个"冗长乏味"的过程,那么我们现就 ...

  7. 打造Kali Linux+WinPE+文件储存 多系统启动自定义U盘

    不甘于拿两个U盘(WinPE+Kali Linux),便想到了制作多启动U盘.实现多系统合一的U盘,方便我们工作的同时也不忘享受自定义的过程. 有说得不对或者不妥的地方还请大佬们指出! 思路明确 要打 ...

  8. linux双系统启动引导,linux windows 双系统并存与启动引导

    发现网站这类文章不好找 找到的分析也不太详细     小弟不才今天就写这么一个文章 PS: 文章是否保留出处属于个人意愿 本人不喜欢强制要求 一般安装WINDOWS 和 LINUX 并存的有两种方式 ...

  9. linux mysql8配置文件_Linux下 MySQL8安装教程

    之前我们介绍了 Windows下的MySQL8安装教程,那么Linux下该如何安装呢?本文以CentOS 7 为例,一步一步教你如何在Linux下安装MySQL-8.0.18 文章目录 下载MySQL ...

  10. 最小linux系统启动失败,技术|如何拯救一台GRUB 2启动失败的Linux电脑

    旧版GRUB我们使用了一段时间了,这个重要的Linux通用引导器的版本已经到了0.97.尽管旧版GRUB有很多的优点,但是它已经有点陈旧了,并且它的开发者也希望添加更多的功能,于是,GRUB 2 时代 ...

最新文章

  1. 使用javascript模拟常见数据结构(二)
  2. 云视频会议的“多、快、好、省”(下)
  3. HttpWebRequest采集读取网站挂载Cookie的通用方法
  4. 使用fis优化web站点
  5. Python 函数参数的分类及使用方法
  6. 【哲学】不可知论是什么?agnosticism
  7. linux基于usb启动配置
  8. 保驾护航金三银四,妈妈再也不用担心我找工作了!
  9. 下面介绍几种查看linux版本信息的方法和GCC版本
  10. cobbler安装4个报错汇总及解决方法:ImportError
  11. weblogic 找不到数据源问题
  12. Vue之echarts圆饼图详解
  13. 河南自考本科英语可用计算机代替,河南自考改革:选2至3门专业课可代替英语课程...
  14. codevs 1329 东风谷早苗
  15. 一首光辉岁月的歌词,送给自己
  16. Android高版本使用DocumentFile读写外置存储的问题
  17. 孙悟空吃蟠桃c语言编程,孙悟空吃光蟠桃是爱国行为
  18. JSX语法学习(三)
  19. 拥有无数个智能摄像头,却还没让城市睁开双眼
  20. Android处理大图片

热门文章

  1. 千寻位置_SDK集成_Linux快速上手指南
  2. spring boot  mybatis 事务回滚
  3. 软路由的介绍及安装和配置
  4. 软路由WIFI的方案,pcie网卡和硬件无线AP那种最稳定靠谱?
  5. 北邮大一第二学期计算机学院课表,北京邮电大学
  6. MATLAB命令窗口与帮助系统
  7. 《价值投资 从看懂财务报表开始》 读书笔记
  8. oracle基础|什么是数据字典|数据字典的作用
  9. MapReduce经典案例-TopN
  10. Carmack平方根函数经典案例