美文网首页
运维day4 bash及其特性

运维day4 bash及其特性

作者: 码戈 | 来源:发表于2017-11-03 11:08 被阅读0次

shell:外壳

GUI:Gnome, KDE, Xfce

CLI: sh, csh, ksh, bash, tcsh, zsh

进程之间互不干预

在每个进程看来,当前主机上只存在内核和当前进程,进程是程序的副本,进程是程序执行的实例

bash:

   1、命令历史、命令补全

   2、管道、重定向

   3、命令别名

   4、命令行编辑

   5、命令行展开

   6、文件名通配

   7、变量

   8、编程


命令行编辑:

光标跳转:

    Ctrl+a:跳到命令行首

    Ctrl+e:跳到命令行尾

    Ctrl+u:删除光标至命令行首的内容

    Ctrl+k:删除光标至命令行尾的内容

    Ctrl+l:清屏

    Ctrl+ <- or -> :左右跳一个单词

命令历史:

查看命令历史:history

bash会自动记录过去执行过的命令,保存在缓冲区中,上下键可找到

    -c:清空命令历史

    -d OFFSET [n](行数):删除指定位置的命令

        例:#-d 400 3 :总400开始删三行

    -w:保存命令历史至历史文件中

    HISTSIZE:保存命令大小【缓冲区大小】(1000条左右)


命令历史的使用技巧:

    !n:执行命令历史中的第n条命令;

    !-n:执行命令历史中的倒数第n条命令;

    !!:执行上一条命令;

    !string:执行命令历史中最近一个以指定字符串开头的命令

    !$:引用前一个命令的最后一个参数;

    Esc , .:同上

    Alt + .:同上


命令补全:tab补全

      小技巧:两下tab,给出指定相关的所有命令

路径补全:同上

命令别名:

    alias CMDALIAS = 'COMMAND [options] [arguments]'

    在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;

    ualias CMDALIAS:撤销命令


命令替换: $(COMMAND),反引号:`COMMAND`


把命令中某个子命令替换为其执行结果的过程

创建 file-2013-02-28-14-53-31.txt

bash支持的引号:

    ` `:命令替换

    " ":弱引用,可以实现变量替换

    ' ':强引用,不完成变量替换

文件名通配:globbing

    *:任意长度的任意字符


    ?:任意单个字符


    []:匹配指定范围内的任意单个字符

          [abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]

           [:space:]:空白字符

           [:punct:]:标点符号

           [:lower:]:小写字母

           [:upper:]:大写字母

           [:alpha:]:大小写字母

           [:digit:]:数字

           [:alnum:]:数字和大小写字母


# man 7 glob      查看手册

    [^]:匹配指定范围之外的任意单个字符

        ls [^0-9]*列出以非数字开头的文件

 [[:alpha:]]*[[:space:]]*[^[:alpha:]]

字母开头中间空格字母结尾的文件

练习

显示所有以a或m开头的文件;

   ls [am]*

显示所有文件名中包含了数字的文件;

   ls *[0-9]*

   ls *[[:digit:]]*

相关文章

网友评论

      本文标题:运维day4 bash及其特性

      本文链接:https://www.haomeiwen.com/subject/fyttmxtx.html