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

相关推荐

  • 条件判断工具 test or [ ]

    概述         条件判断是学习shell脚本之前要掌握的重点基础。条件判断分为以下几类:文件判断、数值判断、字符判断。而文件判断还可以细分到:文件类型判断、文件权限判断、文件所属判断、文件之间属性判断;      &nbsp…

    Linux干货 2016-02-14
  • 第二周练习作业

    第二周作业 1、2、4、5 题博客中已经总结 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:ac, ad, bc, bd (2)、创建/tmp/mylinux目录下的: mylinux/     ├── bin     ├── boo…

    Linux干货 2016-11-06
  • 加密·解密·PKI详解及如何创建私有CA

    加密解密技术基础: 安全的目标:   保密性:confidentiality 确保通信信息不被任何无关的人看到 完整性:integrity 实现通信双方的报文不会产生信息丢失 数据完整性 系统完整性 可用性:availability 通信任何一方产生的信息应当对授权实体可用 攻击类型:   威胁保密性的攻击:窃听、通信…

    2017-05-30
  • Linux下搭建路由器

    客户端1:CentOS6.9 客户端2:CentOS7.3 路由器:router1(CentOS7.3)、router2(CentOS7.3) r router3(CentOS7.3) 1 准备工作 为了避免干扰,最好建立独立的网络。 打开VMvare的虚拟网络编辑器,点击添加网络按钮,添加VMnet11并且将左下角使用“本地DHCP服务将IP地址分配给虚拟…

    Linux干货 2017-08-20
  • shell脚本之变量类型、算数运算符、条件测试

    一、bash中的变量类型     本地变量:仅对当前shell有效,对其子shell无效             变量赋值:name=value      &n…

    Linux干货 2016-08-15
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 命令:cp、mv、rm 1.1 cp命令 用法: cp [OPTIONS]…[-T] SOURCE DEST cp SRC DEST而言,SRC是文件时 如果目标不存在: 新建DEST,并将SRC中内容填充至DEST中 如果目标存在: 如果DEST是文件:将SRC中的内容覆盖至DE…

    Linux干货 2017-12-15