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

相关推荐

  • N25第六周作业

    vim编辑器 基本模式: 编辑模式,命令模式 输入模式 末行模式: 内置的命令行接口;   打开文件: # vim [options] [file ..] +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;   模式转换: 编辑模式:默认模式 编辑模式 &…

    Linux干货 2017-02-15
  • 2017中华数据库与运维大会强势回归!

         时隔一年,2017年中华数据库与运维大会将于06月03日在上海宝丰联大酒店强势回归,届时来自全国各行各业的IT从业人员将欢聚上海,探讨与交流数据库和运维的经验。       自2009年以来,超过4000位技术总监、技术负责人、架构师、项目经理、运维总监、运维经理、DBA经理、DBA、运维…

    2017-02-28
  • 网卡别名与多网卡绑定

    网卡别名 一块网卡可以配置多个ip地址,叫做网卡别名   对虚拟主机有用 格式形如:eth0:1  eth0:2 …… 实现方法:   在命令行中临时设置: ifconfig 命令: ifconfig eth0:0 192.168.1.100/24 演示:   修改配置文件 在/etc/sysconfig/networ…

    Linux干货 2016-09-05
  • 第一周 Linux基础知识

    Linux基础

    2018-03-18
  • N28-第二周博客作业

    常用通配符
    *:表示任意长度的任意字符;

    ?:表示任意的单个字符;

    []:表示在指定范围内的单个字符:[a-z];

    [^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如 [^0-9]表示除数字以外的一切字符。

    [:digit:] 表示所有的数字,相当于0-9

    [:lower:] 表示所有的小写字母

    [:upper:] 表示所有的大写字母

    [:alpha:] 表示所有的字母,

    [:alnum:] 相当于[0-9a-z]

    [:space:] 相当于空白字符

    [:punct:] 表示所有的标点符号

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

    3、请使用命令行展开功能来完成以下练习:

    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │?? └── grub
    ├── dev
    ├── etc
    │?? ├── rc.d
    │?? │?? └── init.d
    │?? └── sysconfig
    │?? └── network-scripts
    ├── lib
    │?? └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │?? └── local
    │?? ├── bin
    │?? └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    Linux干货 2017-12-11
  • Linux基础知识

    一、描述计算机的组成及其功能 计算机由运算器、控制器、存储器、I/O设备五大部件组成。 运算器和控制器统称为中央处理器,俗称CPU。    1、运算器:实现算术运算和逻辑运算的部件;    2、控制器:计算机的指挥系统,控制计算机的其他部件,使得个部件有条不紊地协调工作;    3、存储器:存储数据…

    2017-07-08