zoukankan      html  css  js  c++  java
  • Linux系统profile、bashrc、bash_profile等环境设置文件的使用

    一、前言

    关于bash的环境设置文件,分为系统设置个人设置,一般来说建议用户直接修改个人的设置。

    本文测试环境为:centos6.5.

    二、系统设置值

    1. /etc/sysconfig/i18n

    这个文件设置语系数据,一般只有几行:

    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    用户自己的语系设置建议不要在这里修改。

    2. /etc/profile

    这个文件设置了几个重要的变量,如PATH、USER、MAIL、HOSTNAME、HISTSIZE、umask等,可以在这里设置总体的PATH等信息,同时也规划了/etc/profile.d这个目录。

    题外话:关于/etc/profile.d的规划,在脚本里面有一句:“if [ "${-#*i}" != "$-" ]; then”,让人丈二和尚摸不着头脑,关于这个语句相关的问题,可以看另外一篇文章:”$-”与shell默认选项

    对这个文件必须小心对待,因为所有用户都会用到,可以将HISTSIZE(历史命令记录条数)设置为50,比较安全。

    3. /etc/bashrc

    确定umaskPS1(命令提示符)的功能和内容。

    4. /etc/profile.d/*.sh

    /etc/profile.d是一个目录,针对bash和C-shell规范了一些数据。譬如,针对颜色、语系,vim及which等命令进行了一些附加设置,如alias之类的规范值。可以自行设置一些具有*.sh文件名的文件来设定自己的系统设置值。

    5. /etc/man.config

    文件的内容确定了使用man的时候,去哪里查看数据的路径设置。一般是在使用tarball方式安装软件时,需要手动把该软件的man page所在的路径,手动添加到这个文件里。

    这就是系统设置常用的几个文件,通常设置完这几个文件需要重启系统,或者使用source命令重新读入。

    三、个人设置值

    个人设置文件一般放在个人家目录的几个隐藏文件中。

    1. ~/.bash_profile,~/.bash_login,~/profile

    这三个文件一般只要一个就可以了,默认是~/.bash_profile,这个文件可以定义个性化的路径PATH与环境变量等等,这三个文件的读取顺序是:先读取~/.bash_profile,找不到就读~/.bash_login,然后才是~/profile。

    2. ~/bashrc

    同样也是定义个性化设置,区别是,在每次执行shell脚本的时候,都会重新读取这个文件,所以是最完整的,而~/.bash_profile只在登录的时候才读取一次。

    3. ~/.bash_history

    记录历史命令的文件,记录的条数与HISTSIZE的设置有关。每次登录bash之后,bash会先读取这个文件,把所有的历史命令读入内存。

    4. ~/.bash_logout

    这个文件记录,“当我注销bash后,系统再帮我做完什么操作后才离开”,可以将一些备份或者认为重要的工作(如清空暂存盘)写到这个文件中。

    四、设置文件的读取顺序

    1. 先读取/etc/profile,在根据/etc/profile的规划,读取其他的附加设置文件,如/etc/profile.d目录下是文件

    2. 根据不同的用户,到家目录去读取~/.bash_profile,~/.bash_login,~/profile之一

    3. 根据不同的用户,到家目录去读取~/.bashrc

    可以看到,登录bash之后,最终读取的设置文件是~/.bashrc,也就是说这个文件里的设置值会是最终的设置值。

    五、登录shell与非登录shell

    1. 登录shell

    当用户登录Linux系统时,所取得的那个shell。

    2. 非登录shell

    登录后,再去执行其他shell,其他shell就是非登录shell,如登录Linux之后,想执行一些数值模拟工作,执行了csh这个shell,这时就取得了非登录shell了。

    3. 登录shell和非登录shell的差异

    读取的环境设置文件不同。登录shell会读取~/.bash_profile,~/.bash_login,~/profile之一,而非登录shell读取的就仅有~/.bashrc,不过现在很多版本的Linux都会将~/.bash_profile的内容指向~/.bashrc中,这样比较简单。

    六、小结

    一般管理系统的时候,都需要跟各种环境变量打交道,这个时候就必须要修改设置文件才能让自己的个性化设置起作用,一般不建议修改系统的设置文件,最好还是修改自己的设置文件,而由于在读取设置文件中,~/.bashrc是最后一个读取的文件,所以一般建议在这个文件添加自己的个性化设置。

    七、参考

    《鸟哥的Linux私房菜_基础学习篇》(第二版)

    (完)

  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/harrymore/p/8732912.html
Copyright © 2011-2022 走看看