关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程。
在登录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
. /bashrc
fi
所以,~/.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 运行的通常二者设置大致相同,所以通常前者会调用后者。
二、配置文件 之间区别
/etc/profile用于整个系统所有用户, ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户,这里的"~"符号就是各当前用户的$HOME
~/.bash_profile 和 ~/.profile 只在登陆时读取一次。
~/.bashrc 每次都读取
~/.bash_profile 和 ~/.profile 的区别在于,bash 只读取~/.bash_profile;而对于 ~/.profile 来说,不光bash, 其他shell 也读 ~/.profile
.profile 是Bourne Shell (sh)的配置文件. Korn Shell (ksh)兼容sh所以也会使用.profile
.login 是C Shell (csh) 的配置文件
.bash_profile是bash特有的, 由于bash被设计成兼容sh, ksh, 并有csh的特征, 所以会在用户主目录依次查找.bash_profile, .bash_login, .profile并用找到的第一个作为自己的配置文件.
在Linux下sh是bash的一个链接, 如果bash使用sh命令启动的, 就会以sh兼容方式运行使用.profile
分享到:
相关推荐
首先,Linux配置文件通常是文本文件,格式多样,如INI、XML、JSON等。读取这些文件的基本步骤包括打开文件、读取内容、处理数据以及关闭文件。在C语言中,我们可以使用标准库中的`fopen()`、`fread()`、`fgets()`、`...
在本节中,我们将介绍一些常用的Linux配置文件和命令,帮助用户更好地理解和掌握Linux系统。 配置文件 /etc/sysconfig/network: 此文件包含了主机的基本网络信息,包括主机名、IP地址、子网掩码、网关等信息。该...
首先,理解Linux配置文件的格式和位置至关重要。Linux并没有统一的配置文件格式,每个程序的配置文件可能采用不同的结构,这使得初学者在面对不同配置文件时可能会感到困惑。例如,有的配置文件可能采用纯文本格式,...
本文将概述Linux配置文件的分类,并解释它们的命名特点与用途。 首先,Linux配置文件没有统一的标准格式。每一个程序员都可以根据个人喜好选择不同的配置文件格式,因此,对于初学者而言,理解和使用这些配置文件...
在Linux系统中,配置文件是控制程序行为的关键元素,它们通常以文本格式存在,允许用户根据需要调整系统或应用程序的参数。"cfg.rar"看起来是一个压缩包,其中可能包含了一系列与配置文件相关的资源,尽管RAR是一种...
### 理解 Linux 配置文件:关键知识点解析 #### 一、引言 Linux 系统以其高度可定制性和灵活性著称,这在很大程度上归功于其丰富的配置文件系统。配置文件允许用户根据自己的需求调整系统行为,从而实现更加个性化...
Linux配置文件是操作系统的核心组成部分,它们定义了系统行为和各个服务的设置,使得Linux能够适应多用户、多任务环境。这些文件控制用户权限、系统应用、守护进程、服务和其他管理任务,比如用户账户管理、磁盘配额...
这是个不错的c代码,可以用在linux环境下c语言读写配置文件,转给大家下载。
总的来说,Linux配置文件是系统管理的核心,它们定义了服务器的功能和性能。熟练掌握配置文件的管理,理解不同文件的作用,以及使用合适的工具进行配置和维护,是一名合格Linux管理员必备的技能。
【理解Linux配置文件】 在Linux操作系统中,配置文件扮演着至关重要的角色,它们定义了系统的各种行为和设置,使得系统能够根据用户需求和环境进行定制。内核作为Linux的核心,同样需要配置文件来获取必要的信息,...
制作面向Volatility的Linux配置文件是一项关键任务,用于在内存取证分析中正确解析和理解Linux操作系统的内存镜像。Volatility是一个强大的开源内存取证框架,主要用于Windows操作系统的内存分析,但对Linux支持则...
在Linux系统中,配置文件是管理系统行为的关键元素。"WXL.rar_linux 配置文件_markup under lin"这个标题暗示我们即将探讨的是一个与Linux环境下的配置文件相关的主题,特别是涉及XML(eXtensible Markup Language)...
本配置文件基于网上提供的其他配置文件进行修改。 支持: emacs 24 +cedet 1.1 +ecb 2.40 源配置文件下载地址: http://download.csdn.net/detail/karotte/3812760
在Linux系统中,配置文件是控制程序行为的关键元素,它们通常以文本格式存在,比如ini、conf或json等。为了使程序能够与这些配置文件进行交互,Linux提供了一系列的API接口,允许程序员读取和写入配置文件的特定段落...
在Linux环境下,开发基于Qt框架的应用程序时,我们经常需要处理配置文件,以便保存用户的个性化设置或应用程序的状态信息。`QSettings`是Qt提供的一种强大且便捷的工具,用于读写配置文件。这个例子中,我们将深入...
总结来说,实现跨平台的Linux配置文件读写功能,你需要掌握C++的文件流操作,理解配置文件的结构,以及如何处理跨平台兼容性问题。通过以上步骤,你可以创建一个简单的C++程序,实现类似Windows的配置文件读写功能,...
开发linux程序经常要用到读写配置文件,前段时间开发需要,折腾了好一段时间。这里特做了总结。希望能帮到各位开发中的朋友。 1.linux下INI配置文件读写操作库 =================================================...
总结来说,从Linux配置文件中获取参数涉及读取文件、字符串解析和可能的错误处理。理解这些基本概念是每个Linux开发者必备的技能,无论你是进行系统管理还是开发应用程序。通过熟练掌握这些技术,你可以更好地控制和...
总之,Linux 用户在使用小鹤双拼 Rime 输入法时,需要正确安装 Rime 及其插件,并对配置文件进行适当的调整。了解这些文件的结构和功能,将有助于定制出更加符合个人习惯的输入体验。记得在修改配置文件后及时保存并...