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
下一篇 2016-09-01

相关推荐

  • Linux添加swap交换分区

    添加swap交换分区 SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用SWAP。 1、创建一个分区,看上篇文章,别着急w保存退出 修改分区的类型输入t: Comman…

    Linux干货 2016-09-07
  • 高可用+LVS-NAT

    关键:floating VIP 要以组为单位同时切换 实验1: 主备VRRP 切换实验 预期: 设定配置文件: A主机 (172.18.48.61) vrrp_sync_group VG1 { group { outside_network inside_network } } vrrp_instance outside_network { state MA…

    2017-05-14
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01
  • 多实例

    多实例

    Linux干货 2018-01-29
  • Linux之计划任务

    Linux 之计划任务    任务计划Linux任务计划、周期性任务执行未来的某时间点执行一次任务:atbatch:系统自行选择空闲时间去执行此处指定的任务周期性运行某任务:cron   at任务at命令:at [option] TIME常用选项:-V 显示版本信息:-l: 列出指定队列中等待运行的作业;相当于atq-d: 删除…

    Linux干货 2016-09-11