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)
上一篇 2015-04-21 23:05
下一篇 2015-04-22 15:15

相关推荐

  • tomcat基础进阶

                        tomcat基础进阶 前言 Tomcat Architecture Tomcat Installation Tomcat…

    Linux干货 2016-04-22
  • Linux 文件系统上的权限

    文件系统上的权限是指文件系统上的文件和目录的权限,由于Linux是一种多用户的操作系统,而且允许同一时间登录多个用户操作,所以我们就需要一定的管理机制来对限定不同用户对同一文件或目录的操作权限。 文件系统上的权限主要针对三类对象(访问者)进行定义: owner:属主 u; g 属组 group; o: 其它 other 每个文件针对每类访问者都定义了三种权限…

    2017-06-04
  • 人志建,则无敌—vim练习题

    马哥网络班21期-第六周博客 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@caicai ~]# cp -a /etc/rc.d/rc.sysinit /tmp [root@caicai&nbsp…

    Linux干货 2016-08-15
  • 文本处理工具sed习题

    1、删除/etc/grub2.cfg文件中所有以空白开头的行行首空白字符 [root@wzc date]# sed -n 's/^[[:space:]]\+//p' /etc/grub2.cfg load_env set default="${next_entry}&q…

    Linux干货 2016-08-12
  • Linux文件系统的最基本数据结构:inode和block

    Linux文件系统的最基本数据结构:inode和block 为什么有inode和block inode block 创建目录或文件 使用场景 查看本机的文件系统信息 Linux文件系统的最基本数据结构:inode和block 为什么有inode和block 由于Linux系统是多用户多的,所以文件系统类型多样化是在所难免的。从ext2开始,是将文件属性和文件…

    Linux干货 2016-09-06
  • Linux 第五天: (08月01日) Linux用户组管理

    Linux 第五天: (08月01日) Linux用户组管理         管理员 root,0普通用户 1-65535系统用户 1-499(centos6), 1-999(centos7)登录用户 500(centos6)+, 1000(centos7)+   /etc/passwd 用户及属性/etc/…

    Linux干货 2016-08-08