`
下溪下
  • 浏览: 10236 次
社区版块
存档分类
最新评论

(转)shell启动时用户配置问题

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

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下)

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。


在登录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 运行的通常二者设置大致相同,所以通常前者会调用后者。
分享到:
评论

相关推荐

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本方式实现数据库随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本方式实现数据库随机自动启动!

    Ssh Secure Shell配置与管理

    •在启动的时候启动sshd1 •Ssh1的配置文件:/etc/ssh_config Sshd1的配置文件:/etc/sshd_config #长的这个样子: Port 22 ListenAddress 0.0.0.0 HostKey /etc/ssh_host_key RandomSeed /etc/ssh_random_seed...

    WinShell

    12、启动时具备自动下载并运行可执行文件的功能 13、具备独特的反DDOS能力 14、支持EXE压缩保护类软件对其进行处理 下载地址: http://www.janker.org/janker/software/winshell.zip ...

    gnome-shell-extension-services-systemd:Gnome Shell扩展,允许启动和停止systemd服务

    Services Systemd是 Shell扩展,它允许通过主菜单面板中状态区域中的菜单启动和停止systemd服务。 由于存在许多不相关的系统服务-从显示在此菜单中的意义上讲-用户可以预先选择应在扩展程序的首选项对话框中显示哪些...

    Linux 多tomcat服务 统一安装 统一部署 工具 shell编写 自动化部署与统一安装升级 - 类ansible工具

    基于JAVA开发项目,随着服务的越来越多,配置文件更是眼花缭乱,每次不知道因为配置问题浪费多少时间,更不知道因为配置问题出过多少问题。多台服务器来回切换,如果服务需要依赖,启动更是问题。 1.1 目的 一次...

    Linux中profile、bashrc、bash_profile之间的区别和联系

    2..bashrc文件会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc...

    神州数码交换机路由器配置命令.doc

    神州数码交换机配置命令 Telnet远程Shell管理 设置交换机IP地址 – Switch(config)#interface vlan 1 – Switch(config-If-Vlan1)#ip address 10.1.1.1 255.255.255.0 – Switch(config-If-Vlan1)#no shutdown ...

    路由器的基本配置.doc

    心得体会: 1、修改路由器时钟(用户视图) clock timezone Local add 08:00:00(东八区,因此加8,如果西八区则是minus) clock datetime 15:43:00 2016-5-15 Display clock 2、配置登录标语信息 Header shell ...

    华3交换机配置命令

    显示启动配置文件的信息 dis user-interface 显示用户界面的相关信息 dis web users 显示 web 用户的相关信息。 header login 配置登陆验证是显示信息 header shell undo header lock 锁...

    LINUX安装与配置简明手册

    8.2.12 查找缺省的用户配置文件 103 8.2.13 查找容易被破译的口令字 104 8.2.14 冻结一个用户 104 8.2.15 通过linuxconf程序冻结一个用户 104 8.2.16 删除一个用户 104 8.2.17 通过linuxconf程序删除一个用户 104 ...

    ARM_Linux启动分析.pdf

    在i386体系结构中,因为i386本身的问题,在 "arch/alpha/kernel/head.S"中需要更多的设置,但最终也是通过call SYMBOL_NAME(start_kernel)转到start_kernel()这个体系结构无关的函数中去执行了。 所不同的是,在...

    Linux 服务配置实例

    LINUX选修课讲义:shell简介 LINUX选修课讲义:UNIX常用命令 LINUX选修课讲义:用户及口令! LINUX选修课讲义:文件系统 LINUX选修课讲义:网络配置文件(1) LINUX选修课讲义:常用TCP/IP守护进矼 LINUX选修课...

    DOS三个基本启动文件COMMAND.COM MS-DOS.SYS IO.SYS DOS引导文件Boot.rar sys.com

     当系统非正常关机重新启动时,是否提示“应进入安全模式” 实际上安全模式解决问题能力非常有限,真正的系统问题在该模式下是无法解决的,不进也罢  BootConfig=1/0 能否使用单步配置模式,其作用是能使电脑从...

    《Linux服务器配置与管理》教学课件—第-15-章--Samba-服务器配置.pptx

    如果用户希望系统在启动时就自动加载 Samba 服务,则可以使用如下命令设置开机 自启动: [root@master ~]# chkconfig smb on 注意:正在将请求转发到"systemctl enable smb.service"。 Created symlink from /etc/...

    Linux基本命令VERY GOOD

    当用户登录成功,系统会启动一个交互式的shell来提示用户输入指令,对于初学者大都通过交互式使用shell,但如果总要输入一组大致相同命令,自然希望将工作自动化。把命令写到一个文件中,即脚本文件,写脚本文件就是...

    freeSSHd配置sftp服务器.doc

    使用FREESSHD配置SFTP服务器说明 背景:最近在公司做的项目需要传输文件,要求是文件加密传输,这里需要用加密 证书来认证后才能访问服务器,因为使用服务器是Windows 2008 R2 ,所以折腾后选择FREESSHD作为SFTP...

    Windows 启动项管理 Autoruns for Windows 13.100 + x64.zip

    Autoruns for Windows 是 Mark Russinovich 和 Bryce Cogswell 开发的一款软件,它能用于显示在 Windows启动或登录时自动运行的程序,并且允许用户有选择地禁用或删除它们,例如那些...指定“*”以扫描所有用户配置文件

    TLP-Switcher:用于切换TLP配置的Gnome Shell扩展

    TLP切换器TLP-Switcher是用于切换TLP配置的非常基本的gnome Shell扩展依存关系TLP安装将zip下载并解压缩到~/.local/share/gnome-shell/extensions/ ,然后重新启动gnome shell。 或者使用支持扩展安装的浏览器,请...

    express-shell:只是与 Express 合作的试验场

    快递壳这个 repo 是一个基本的 shell,用于启动和运行 Express Apps。 它深受我在为创建“从零到六十”课程时。特征改进的 Express 入门套件SB 管理员引导程序应用骨架验证快速会话(使用 Redis 和 Flash 变量) ...

Global site tag (gtag.js) - Google Analytics