Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1702862
  • 博文数量: 136
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3261
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-22 11:26
文章分类

全部博文(136)

文章存档

2010年(1)

2009年(26)

2008年(109)

我的朋友

分类: LINUX

2008-12-13 10:29:48

前面设定的变量,命令别名,只是针对该次登录的设定,只要注消该次登录后,上次的设定值就会消失.因此,需要几个文件来帮助我们每次登录时完成环境的设定.

环境的设定有两种:系统设定和个人自定义设定.

系统设定是每个用户进入到bash shell之后的设定.默认的配置文件有:/etc/profile,/etc/baserc,/etc/man.config;
个人自定义设定是每个用户进入到bash shell之后自己的设定.默认的配置文件有:~/.bash_profile,~/.bashrc,~/.bash_history,~/.bash_logout

我关注的主要是个人自定义的设定.所以看一下这几个文件:

1. ~/.bash_profile

看一下文件~/.bash_profile的内容:

[root@localhost ~]# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

这里定义了个人路径(PATH)与环境变量的名称.由上面的脚本可见,它会调用~/.bashrc,来获取命令别名和函数.

2. ~/.bashrc

看一下文件~/.bashrc中的内容:

[root@localhost ~]# cat .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

该文件中定义了自己喜欢的命令别名和函数.我们先前设定的变量和命令别名,如果想在登录bash shell时完成设定,只要写在这个文件中即可.

3. ~/.bash_history
这个文件中记录了当前用户曾经使用过的指令.便于上下键或history的搜索.注意:
(1)在这一执行过程中使用过的命令,先被保存在高速缓存中,在退出shell后才会被记录到该文件中.
(2)可以通过history命令搜寻这些指令
(3)这个文件记录的指令数目与变量HISTSIZE有关.该变量可以在~/.bashrc中设定,也可以由root在/etc/profile中统一设定.

4. ~/.bash_logout

看一下文件~/.bash_logout中的内容:

[root@localhost ~]# cat .bash_logout
# ~/.bash_logout

clear

这个文件是记录注消shell时自动执行的指令.

5. 使得配置生效

比如,我在文件 ~/.bashrc中增加一个命令别名cls,如何使它生效呢:

[root@localhost ~]# cat .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cls='clear'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
[root@localhost ~]# cls
bash: cls: command not found

直接使用它显然是不行的.可以注消本次登录,在下次登录的时候,该命令有效.或者你可以使用source命令使它对当前shell立即生效:

[root@localhost ~]# source .bashrc
[root@localhost ~]# cls
阅读(2592) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~