shell 及环境变量文件 Shell 是 Linux 系统的用户界面,提供了用户与内核(kernel)进行交互操作的一种接口。也 可以把 shell 理解为系统的命令解释器,用于操作系统与用户的通信。系统内核则是在计算机 启动时载入基本内存、管理输入输出、管理进程初始化和进程的调度。

      Linux 采用 bash 为其默认 shell. 用户如果登录成功的话,将获得 shell 提示符,root 用 户的提示符是“#”, 其它用户是“$”.

     在/etc/inittab 文件中,其中有一行配置:id:5:initdefault: 这个设置规定了 Linux 启动时是图形界面还是字符界面。5 代表启动后直接进入 X Window, 3 则代表字符界面。

      可以在/etc/shells 文件中来查看系统可用的 shell:

# cat /etc/shells

     可以在/etc/passwd 文件中查看用户使用的 shell 环境:

# cat /etc/passwd

每行的最后一个字段就是该用户所使用的 shell. nologin 是个很特殊的 shell, 表示不允 许该用户以交互方式登录系统。

环境变量文件 主 要 有两个 : /etc/profile 和用户主目录下的 ~/.bash_profile, /etc/profile 里的环境变量对系统所有用户都有效,~/.bash_profile 只对当前用户有效, 包含该用户的自定义的环境变量。

~/是当前用户的主目录,在 linux 下,’~’是/home/user 目录的简称,.bash_profile 是 一个隐藏文件(点开头的都是隐藏文件)。

对于 bash shell, /etc/bashrc, ~/.bashrc 也是启动时所必需的。

环境变量文件的调用执行顺序为:

1) /etc/profile

2) ~/.bash_profile (或 ~/.bash_login 或 ~/.profile)

3) ~/.bashrc

4) /etc/bashrc

5) ~/.bash_logout

profile 文件是在用户登录的时候进行初始化的,/etc/profile 和~/.profile 分别对应所 有用户和单个用户。而~/.bashrc 文件,则是在每次启动一个 shell 的时候,对环境进行初 始化。

另外,/etc/profile 中设定的变量是全局的,可以作用于任何用户。而~/.bash_profile 文件,每个用户都可以输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执行一 次。

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

oracle 用户设置的环境变量: /home/oracle/.bash_profile:

# cat .bash_profile

注意:umask 的值是要从权限中屏蔽掉的相应位。如: umask 值为 022, 则默认目录权限为755, 默认文件权限为 644.