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

相关推荐

  • 走向了一条不归路 – – 开始

    前言:很高兴在这里认识大家,跟大家一起学习一起进步。  基础知识 1.计算机系统的组成 2.计算机的体系结构 3.存储网络 DAS–直接连接存储   (数据块)   存储设备与主机的紧密相连       1.管理成本较低,实施简单   &…

    2017-07-16
  • linux筛选数据和用户基本操作

    linux筛选数据的基本操作 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   [root@localhost script]# who   chenjianhang tty1      …

    Linux干货 2016-10-17
  • 如何在 Linux 下大量屏蔽恶意 IP 地址

    很多情况下,你可能需要在Linux下屏蔽IP地址。比如,作为一个终端用户,你可能想要免受间谍软件或者IP追踪的困扰。或者当你在运行P2P软件时。你可能想要过滤反P2P活动的网络链接。如果你是一名系统管理员,你可能想要禁止垃圾IP地址访问你们的公司邮件服务器。或者你因一些原因想要禁止某些国家访问你的web服务。在许多情况下,然而,你的IP地址屏蔽列表可能会很快…

    Linux干货 2015-02-26
  • 如何练好yum的一招一式

      工作时间越久,就越有这样一个深刻体会,一个新知识或者新的技能一个人学习起来并不会觉得吃力,反而要想把你学习的新知识或者新技能给讲清楚让普通人听得懂才是最难的,之前我写过一篇博客讲述linux下的RPM包管理器,今天写的练好yum的一招一式,同样都是都是在linux系统的软件包的安装、卸载、升级等功能的,为什么我们还需要yum那,记得一位大哲学家…

    Linux干货 2015-11-10
  • LINUX磁盘及文件系统管理

    LINUX磁盘及文件系统管理 cpu,Memory(RAM),I/O I/O:Disks,Entercard    Disks:持久存储数据       接口类型:        IDE(ata):并…

    Linux干货 2016-08-29
  • 特殊权限及facl

    Linux系统上的特殊权限          特殊权限:SUID,  SGID,  STICKY 安全上下文:         1、进程以某用户的身份运行,进程是发起此进程用户的代理,因此用户的身份和权限完成所有操作;     &…

    Linux干货 2016-11-07