linux各种配置文件的作用

今天给大家总结一下linux中各种配置文件的作用,这样配置开发环境时,会事半功倍。

笔者的linux是Centos6.0,可能有些配置文件与其他distributions不同。

/etc/profile

这个文件是系统的总体设置,也就是说,所有用户在登录时,都会读取这个文件的配置,如果你想为所有用户设置通用的环境变量,比如java开发环境的jdk环境变量,可以写在这个文件里。这个文件设置的变量主要有:

  • PATH:会依据UID决定PATH变量要不要含有sbin的系统命令目录;
  • MAIL:依据帐号设置好用户的mailbox到/var/spool/mail/帐号名;
  • USER:根据用户的帐号设置此变量内容;
  • HOSTNAME:依据主机的hostname命令决定此变量内容;
  • HISTSIZE:历史命令记录条数。
这个文件里还有一些shell脚本,主要是调用其他配置文件的数据:
  • /etc/inputrc:用户自定义输入按键功能
  • /etc/profile.d/*.sh:bash操作接口的颜色、语系、命令别名
  • /etc/sysconfig/i18n:默认语系
下面是笔者系统中该文件的部分内容:
 #You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done

unset i
unset -f pathmunge
#set java environment
export JAVA_HOME=/usr/jdk1.7/jdk1.7.0_45
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#set zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf


~/.bash_profile

bash在读完了整个环境设置的/etc/profile,接下来会读取个人配置文件,个人配置文件主要有三个:

  1. ~/.bash_profile
  2. ~/.bash_login
  3. ~/.profile
bash只会顺序读取上面三个文件中的一个,也就是说,加入第一个文件存在,那么其他两个文件即使存在也不会读取。

/etc/man.config

这个文件规定了使用man的时候man page的路径到哪里去寻找。

~/.bash_history

记录我们使用的命令,记录条数与HISTSIZE变量有关

~/.bash_logout

当我们注销bash后,系统会帮我们做这个文件规定的操作才离开。

你可能感兴趣的:(linux各种配置文件的作用)