bash特性及配置文件

bash配置文件

    两类:

        profile:为交互式登录shell提供配置

        bashrc:为非交互式登录shell提供配置

    登录类型:

        交互式登录shell进程

            直接通过某终端输入账号和密码登录打开的shell进程   

            使用su – USERNAME或者使用su -l USERNAME执行的登录切换

        非交互式登录shell进程

            使用su命令:su USERNAME

            图形界面下打开的终端

    profile类:

        全局:对所有用户生效

            /etc/profile

            /etc/profile.d/*.sh

        局部:仅对当前用户生效

            ~/.bash_profile

        功用:

            1.用于定义环境变量

            2.运行命令或脚本

    bashrc类:

        全局:对所有用户都生效

            /etc/bashrc

        局部:仅对当前用户生效

            ~/.bashrc

        功用:

            1.定义本地变量

            2.定义命令别名

    ~/.bash_logout:退出shell时所执行的脚本文件

配置文件执行顺序:

    交互式登录

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

    非交互式登录

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


命令行中定义的特性,例如变量和别名仅对当前shell进程有效

配置文件中定义的特性,只对随后新启动的shell进程有效

让通过配置文件定义的特性立即生效:

    (1)通过命令行重复定义一次

    (2)让shell进程重读配置文件

        ~]# source /PATH/FROM/CONF_FILE

        ~]# . /PATH/FROM/CONF_FILE

     

bash特性

    展开命令行

        命令行展开:~,{}

        命令别名:alias,unalias

        命令历史:history

        文件名统配:*,?,[],[^]

        命令替换:$(),“

        快捷键:Ctrl+u,k,a,e,l

        路径补全:tab

         命令补全

    防止扩展

        反斜线\:会使随后的字符按愿意解释

        加引号来防止扩展

            单引号'':防止所有扩展

            双引号"":防止扩展,除一下条件以外

                $:变量扩展

                “:命令替换

                \:禁止单个字符扩展

                !:调用命令历史

 

 

mktemp命令:创建临时文件

    mktemp [OPTIONS] FILENAME

        FILENAME:filename.XXX

            X至少出现三次

    OPTIONS:

        -d:创建临时目录

        -p:指明临时文件所存放的目录位置

[root@CentOS7 ~]# mktemp tmp.XXX
tmp.Ny6
[root@CentOS7 ~]# mktemp tmp.XXXX
tmp.O2FW
[root@CentOS7 ~]# mktemp -d tmp.XXX
tmp.2Ne

install命令:复制文件或设置属性

    OPTIONS:

        -d:复制目录

        -m MODE:复制文件同时指定文件权限

        -o:复制文件同时指定文件的属主

        -g:复制文件同时指定文件的属组

[root@CentOS7 ~]# install /bin/chmod ./    #复制/bin/chmod文件到当前目录
[root@CentOS7 ~]# ll chmod 
-rwxr-xr-x. 1 root root 58544 Aug 31 08:50 chmod
[root@CentOS7 ~]# install -m 644 /bin/chmod ./    #复制/bin/chmod文件并指定权限为644
[root@CentOS7 ~]# ll chmod 
-rw-r--r--. 1 root root 58544 Aug 31 08:50 chmod
[root@CentOS7 ~]# install -d /home/ ./    #复制目录
[root@CentOS7 ~]# ll home/
total 0
[root@CentOS7 ~]# ll -d home/
drwxr-xr-x. 2 root root 6 Aug 30 05:31 home/
[root@CentOS7 ~]#

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

(0)
zhai796898zhai796898
上一篇 2016-08-31 17:04
下一篇 2016-09-01 08:49

相关推荐

  • 文件查找(find)

                                  …

    2017-04-11
  • N21沉舟11周作业

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求 (2) 接收请求: (3) 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息 (4) 访问资源:获取请求报文中请求的资源 (5) 构建响应报文 (6) 发送响应报文 (7) 记录日志 …

    Linux干货 2016-09-26
  • Linux基础知识(二)

    一、Linux文件管理类命令的使用方法及其相关示例演示? 1、文件管理 (1)mkdir (2)rmdir (3)cp (4)mv (5)rm (6)touch 2、文件查看 (1)ls (2)tree (3)cat&tac (4)head (5)tail (6)more&less (7)stat 二、Bash特性详解 1、命令行展开 (1)…

    Linux干货 2016-09-27
  • linux系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11
  • 用户及权限管理

     今天是学习马哥教育第四天,也是第一个博客作业,写一篇关于用户及权限管理的简介型的博客文章,作文水品有限,所以写出来有可能有病句或者意境有问题,请大家多多包涵。  首先,用户及权限管理,需要从2方面入手来说,首先来说用户管理。  何谓用户,这是马哥一上来就提到的问题,我简单的理解,用户其实就是一个人机交互的接口,人机交互的接口是…

    Linux干货 2016-09-15
  • 深入浅出Docker(一):Docker核心技术预览

    原文链接:http://www.infoq.com/cn/articles/docker-core-technology-preview/ 【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上,基于Go语言开发并遵从Apache2.0协议开源。Docker提供了一种在安全、可重复的环境中自…

    2015-04-10