bash功能特性六 bash操作环境

一、bash查找命令的顺序

    1、以相对路径或绝对路径执行的命令;

    2、由alias找到该命令来执行;

    3、由bash内置的命令来执行;

    4、通过$PATH这个变量的顺序找到的第一个命令来执行。

1.png

    另外,命令只有在第一次执行真正查找操作,而查找结果会缓存,再次使用时直接从缓存中调用;

    查看此缓存使用hash命令;

        -d:清除缓存内容;

        -r:清空缓存。

2.png

二、环境配置文件 

    环境配置文件用于初始化bash的操作环境,根据用户的登录方式配置文件可以分为交互式登录和非交互式登录两类。

    1、交互式登录

        所谓交互式登录就是直接通过终端输入账号和密码登录,使用su -l USERNAME  su – USERNAME命令。

        配置文件根据其作用范围又划分为全司配置文件和用户配置文件。

        1)全局配置文件:

            /etc/profile:每个用户登录bash时一定会读取的配置文件。

                根据uid来设置总体的配置环境,同时还会调用一些其它的配置文件,如:/etc/profile.d/*.sh。

/etc/profile.d/*.sh:/etc/profile配置文件的组合部分。

    定义了bash中的颜色、语系、命令别名等。       

        2)用户配置文件:

            ~/.bash_profile:在读取完全局配置文件后,读取此配置文件。

                定义了环境变量$PATH,并且如果~/.bashrc文件存在则调用此文件。

            ~/.bashrc:~/.bash_profile文件的组合部分。

                定义了命令别名信息,并且如果/etc/bashrc文件存在则调用此文件。

            /etc/bashrc:~/.bashrc文件的组合部分,最后读取此配置文件。

                根据UID规定umask值及提示符,并且调用/etc/profile.d/*.sh文件。

        3)配置文件的读取顺序

            /etc/profile –> /etc/profile.d/*.sh –>  ~/.bash_profile –> ~/.bashrc –> /etc/bashrc

    2、非交互式登录

        所谓非交互式登录就是指不需要输入账号和密码登录,其登录方式有:

            a、使用su USERNAME合;

            b、图形界面下打开的终端;

            c、执行脚本。

        1)全局配置文件

            /etc/bashrc

        2)用户配置文件

            ~/.bashrc

        3)配置文件的读取顺序

            ~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh

    3、使配置文件生效

        如果对配置文件进行了修改后,配置文件并不能马上生效,可以使用下面的方法来加载配置文件:

            a、退出并重新登录;

            b、让bash重读此配置文件,方法如下:

                . FILE 或 source FILE

 

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3264

(0)
petmasterpetmaster
上一篇 2015-04-21 23:05
下一篇 2015-04-22 15:15

相关推荐

  • DevOpsDays大会,818坐标上海,我们来啦!!!

    DevOpsDays 818, 坐标上海, DevOpsDays上海大会, 我们来啦!!! 我们来啦!!! 我们来啦!!! 重要的事情说三遍。 标签: 运维  移动开发  IT技术  DevOps  2008年的敏捷会议上,Andrew Clay Shafer 和 Patrick Debois 讨论了关于“敏…

    Linux干货 2017-08-10
  • N22第八周作业

    1. 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥从一个局域网接收MAC帧,拆封、校对、校验之后,按另一个局域网的格式重新组装,发往它的物理层。由于网桥是链路层设备,因此不处理数据链路层以上层次协议所加的报头。   集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把…

    Linux干货 2016-12-26
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • 学习宣言

      人生还有很多精彩时刻,需要你去探寻,linux 就是这个深渊的入口,我其实已迫不及待,伙伴们别怕,跟我来,一路披荆斩棘,踏寻生命的足迹!Fighting!

    Linux干货 2016-10-25
  • Linux中的文本处理工具—sed

    sed 处理文本工具 一、概述   Stream EDitor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文…

    Linux干货 2016-08-10
  • 18页PPT带你深度解读运维自动化

    一、概述    在前面的文章中,提到【运维的本质—可视化】,在其中着重强调是自动化的可视化和数据化的可视化。在这个文章中,全面解码看看自动化的极致状态为什么是可视化?在前面的另外一篇文章【运维平台全体系介绍】中,也讲到运维平台体系的构成,提出“**及服务”的理念,其中有几部分和自动化密切相关,比如说资源及服务、配置及服务、架构…

    2015-04-03