Linux学习之五(bash特性详解)

一、bash及其特性
    1、shell:外壳
    广义shell包含:1、GUI:Gnome、KDE、Xfce
                   2、CLI:sh,csh,ksh,bash
    进程:在每个进程看来,当前主机上只存在内核和当前进程,进程是程序的副本,进程是程序执行实例。
    2、bash:
        1、支持命令历史、命令补全
        2、支持管道、重定向
        3、支持命令别名
        4、支持命令行编辑
        5、支持命令行展开
        6、支持文件名通配
        7、支持变量
        8、支持编程
    3、命令历史:
        history:
            查看命令历史:history
            -c:清空命令历史
            -d OFFSET[n]:删除指定位置的命令
                例1:history -d 500  #删除第500个历史命令
                例2:history -d 500 3 #删除第500个命令起3个历史命令
            -w:保存命令历史至历史文件(家目录下.bash_history)中
    4、命令历史使用技巧:
        !n:执行命令历史中的第N条命令
            例:root@localhost /]# !44

        !-n:执行命令历史中倒数第N条命令
            例:[root@localhost /]# !-44
        !!:重新执行上一次命令
        !string:执行命令历史中最近一个已指定字符(string)串开头的命令
        !$:引用前一个命令的最后一个参数
        ESC,.:引用前一个命令的最后一个参数
        Alt+.:引用前一个命令的最后一个参数
        
    5、命令别名:
        alias CMDALIAS=‘COMMAND [options] [arguments]’
            例:[root@localhost /]# alias cls=clear
        在shell中定义的别名仅在当前shell生命周期中有效:别名有效范围为当前shell进程
        unalias:撤销别名
            例:[root@localhost /]# unalias cls
        \COMMAND:使用命令本身
    
    6、命令替换:
        $(COMMAND)
        `COMMAND`:(反引号)
        把命令中某个子命令替换为其执行结果的过程
        例1:[root@localhost ~]# echo "The current directory is $(pwd)."
            The current directory is /root.
        例2:[root@localhost ~]# touch ./file-$(date +%F-%H-%M-%S).txt
            [root@localhost ~]# ls
            anaconda-ks.cfg  file-2017-03-30-15-10-30.txt  install.log         sort.test
            Desktop          hello                         install.log.syslog
    7、bash支持的引号:
        ``:命令替换
        "":弱引用,可以实现变量替换
        ‘’:强引用,不完成变量替换
        
    8、文件名通配:globbing
        *:匹配任意长度的任意字符
            例:[root@localhost test]# ls a*
                a  a123  ab123  abc
        ?:匹配任意单个字符
            例:[root@localhost test]# ls ?y*
                xyz  xyz123
        []:匹配指定范围内的任意单个字符
            #man 7 glob  #查看通配符
            [a-z],[A-Z],[0-9],[a-zA-Z],[0-9a-zA-Z]
            [:space:]:空白字符
            [:punct:]:标点符号
            [:lower:]:小写字母
            [:upper:]:大写字母
            [:alpha:]:大小写字母
            [:digit:]:数字
            [:alnum:]:数字和大小写字母
            例:[root@localhost test]# ls [a-zA-Z]*[0-9]
                a123  ab123  x12  xyz123
        [^]:匹配指定范围外的任意单个字符
            例:[root@localhost test]# ls [^0-9]*
                a  a123  ab123  abc  Helloy  x12  xyz  xyz123
        
    9、环境变量:
        PATH:命令搜索路径
        HISTSIZE:命令历史缓冲区大小(默认1000条):
            例:[root@localhost ~]# echo $HISTSIZE
                1000
    
二、命令行编辑:
    光标跳转:
    Ctrl+a:跳到命令行首部
    Ctrl+e:跳到命令行尾
    Ctrl+u:删除光标至命令行首的内容
    Ctrl+k:删除光标至命令行尾的内容
    Ctrl+l:清屏
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值