与登录shell相关的文件

简介:
一般的系统可能会有
/etc/profile
/etc/bashrc

~/.bashrc
~/.bash_profile

profile 是某个用户唯一的用来设置环境变量的地方, 因为用户可以有多个 shell 比如 bash, sh, zsh 之类的, 但像环境变量这种其实只需要在统一的一个地方初始化就可以了, 而这就是 profile.

bashrc是专门用来给 bash 做初始化的比如用来初始化 bash 的设置, bash 的代码补全, bash 的别名, bash 的颜色. 以此类推也就还会有 shrc, zshrc 这样的文件存在了, 只是 bash 比较常用.

/etc/xxx  文件里面的内容对所用的用户都适用
~/.xxx   文件里面的内容只适用于个人

login shell:该模式表示用户登入,比如使用 "su -" 命令, 或者用 ssh 连接到某一个服务器上, 都会使用该用户默认shell 启动 login shell 模式.该模式下的 shell 会去自动执行 /etc/profile 和 ~/.profile 文件, 但不会执行任何的 bashrc 文件, 所以一般再 /etc/profile 或者 ~/.profile 里我们会手动去 source bashrc 文件.

no-login shell:该模式是我们在终端下直接输入 bash 或者 bash -c “CMD” 来启动的 shell.该模式下是不会自动去运行任何的 profile 文件.

interactive shell:该默认是交互式shell, 就是用来和用户交互的, 提供了命令提示符可以输入命令.在这种模式下会存在一个叫 PS1 的环境变量, 如果还不是 login shell 的则会去 source /etc/bash.bashrc 和 ~/.bashrc 文件

non-interactive shell:


SSH login, sudo su - [USER] 或者 mac 下开启终端这些都是典型的interactive login shell, 所以会有 PS1 变量, 并且会执行/etc/profile   ~/.profile两个文件







     本文转自西鼠 51CTO博客,原文链接:http://blog.51cto.com/10630401/1981763,如需转载请自行联系原作者


相关文章
|
1月前
|
Shell Linux API
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
52 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
40 0
|
1月前
|
算法 Linux Shell
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
32 0
|
1月前
|
监控 安全 Shell
【Shell 命令集合 系统管理 】Linux 查看系统上的失败登录记录 lastb命令 使用指南
【Shell 命令集合 系统管理 】Linux 查看系统上的失败登录记录 lastb命令 使用指南
39 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
31 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
31 0
|
1月前
|
安全 Shell Linux
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
38 0
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
43 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
49 0
|
1月前
|
Unix Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的登录名 logname命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的登录名 logname命令 使用指南
28 0