站在用户角度讲shell类型:
1、登录式shell
正常通过某终端登录
su - USERNAME
su -l USERNAME
2、非登录试shell
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
bash的配置文件:
1、全局配置【对所有用户生效】
/etc/profile /etc/profile.d/*.sh /etc/bashrc
2、个人配置【对当前用户生效】
~/.bash_profile ~/.bashrc
【全局和个人都定义了,那么以个人为准。大多数情况下作用范围越小,优先级越高】
bash配置文件分类:
1、profile类的文件
设定环境变量
运行命令或脚本
2、bashrc类的文件
设定本地变量
定义命令别名
登录式shell如何读取配置文件?
/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非登录式shell如何读取配置文件?
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
示例:
1、定义一个清屏别名,仅对当前用户有效
[oldboy@moban ~]$ alias cls="clear" 命令
[oldboy@moban ~]$ cls
对当前用户有效,所以只需修改 ~/.bashrc 文件即可。修改后当前用户不生效,因为读取这些信息是在用于登录那一时刻读取的。
2、登录时打印一句话,显示用户名称,和当前时间。对所有用户有效
执行的是一条命令。修改 /etc/profile
3、修改当前用户的umask信息
修改 ./.bash_profile 添加一行:umask 027
修改Linux账户的默认Shell类型:http://www.linuxdiyf.com/linux/7422.html