标签:bash
bash的配置文件
按生效范围划分:
全局配置:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
个人配置:
~/.bash_profile
~/.bashrc
按功能划分:
profile类:为交互式登录的shell提供配置;
bashrc类:为非交互式登录的shell进程提供配置;
profile类:
全局:对所有用户都生效;
/etc/profile
/etc/profile.d/*.sh
用户个人:仅对当前用户有效;
~/.bash_profile
功用:
1、用于定义环境变量;
2、运行命令或脚本;
bashrc类:
全局:
/etc/bashrc
用户个人:
~/.bashrc
功用:
1、定义本地变量;
2、定义命令别名和函数;
在命令行中定义的别名,仅对当前shell有效;
如果想永久有效,要修改配置文件;
注意:仅管理员可修改全局配置文件;
登录类型:
交互式登录shell进程:
直接通过某终端输入账号和密码后登录打开的shell进程;
使用su命令su - USERNAME执行的登录切换;
非交互式登录shell进程:
su USERNAME执行的登录切换;
图形界面下打开的终端;
执行脚本;
交互式登录shell过程:
/etc/profile-->/etc/profile.d/*sh-->~.bash_profile-->~.bashrc-->/etc/bashrc
非交互式登录shell过程:
~/.bashrc -->/etc/bashrc -->/etc/profile.d/*sh
命令行中定义的特性,例如变量和别名作用域为当前shell进程;
配置文件定义的特性,只对随后新启动的shell进程有效;
让通过配置文件定义的特性立即生效;
(1)重新启动shell进程;
(2)让shell进程重读配置文件;
source /PATH/FROM/CONNFIG_FILE
. /PATH/FROM/CONNFIG_FILE
bash退出任务:
保存在~/.bash_logout文件中(用户)
在退出登录shell时运行
用于:
创建自动备份
清除临时文件
1、让用户(管理员或所有用户)的PATH环境变量的值多出一个路径,例如多如/usr/local/apache2/bin
vim /etc/profile
PATH=$PATH:/usr/local/apache2/bin
2、用户wang登录时自动启用别名rm=‘rm –i’
vim ~/.bashrc
alias rm=‘rm -i‘
3、用户wang注销时,自动清除命令历史
vim ~/.bash_logout
rm -rf ./bash_history
history -c
4、定义对所有用户都生效的命令别名,例如lftps=‘lftp 172.16.0.1/pub‘;
vim /etc/bashrc
alias lftps=‘lftp 172.16.0.1/pub‘
5、让centos用户登录时,提示其已经登录,并显示当前系统时间;
vim /home/centos/.bash_profile
echo "You have logged in."
date
标签:bash
原文地址:http://keithtt.blog.51cto.com/3080111/1813941