美文网首页
linux命令行

linux命令行

作者: 此番风景 | 来源:发表于2019-05-16 21:48 被阅读0次

    https://talk.linuxtoy.org/using-cli/#10

    [toc]

    统计历史命令使用比例

    history | 
    > awk '{CMD[$2]++;count++;}END {for (a in CMD)print CMD[a] " " \
    > CMD[a]/count*100 "% " a;}'|
    > grep -v "./" |
    > column -c3 -s " " -t |
    > sort -nr |
    > nl |
    > head -n 10
    
    

    ^删除多余部分

    grep fooo /var/log/auth.log
    ^o
    grep foo /var/log/auth.log
    

    oldnew替换输错或输少的部分

    cat myflie
    ^li^il
    cat myfile
    

    !:gs/old/new将old全部替换为new

    ansible nginx -m command -a 'which nginx'
    !:gs/nginx/squid
    

    要点: 一删,二换,三全变

    忘记历史,就是背叛

    # 了解历史记录
    echo $HISTSIZE
    # 历史记录的保持位置
    echo $HISTFILE
    # 历史记录的保持大小
    echo $HISTFILESIZE
    
    # 查看历史
    history
    history | less
    histroy 5
    history |grep your_string
    
    # ctrl+r 逆向搜索历史命令
    histroy 5
    [ctrl+p] 访问上一条命令
    [ctrl+n]  访问下一条命令
    
    # !!执行上一条命令
    apt install wget
    sudo !!
    
    # 使用!foo执行以foo开头的命令
    !his
    
    # !?foo执行包含foo的命令
    !?is
    
    # !n 执行第n各命令
    !10
    !-n # 执行倒数第n个命令
    
    # 终端显示命令行编号
    export PS1='!\! \u@\h:\w\$ 
    
    # 使用!#引用当前行
    cp filename filename.old
    cp filename !#:1.old
    
    # !:n 得到上一条命令的前n个
    # touch {foo, baz, hh}.txt
    touch foo.txt gza.txt abc.txt
    vim !:2
    
    # !* 上一条命令的所有参数
    
    • !!
    • ![?]字符串
    • ![-]数字
    • !#
    • n
    • ^|$
    • [n]*
    • x-y

    :h选取路径开头

    ls /usr/share/fonts/truetype
    cd !$:h
    

    :t 选取路径结尾

    wget http://nginx.org/download/nginx-1.4.7.tar.gz
    tar zxvf !$:t
    # tar zxvf nginx-1.4.7.tar.gz
    

    :r 选取文件名

    unzip filename.zip
    cd !$:r
    # cd filename
    

    :e 选取扩展名

    echo abc.jpg
    echo !$:e
    

    :p 打印命令行

    echo *
    !:p
    # 打印上一条命令
    

    :s 替换, :g 全局替换

    echo this that
    !:s/is/e
    # echo the that
    
    echo abcd abed
    !:gs/ab/cd  # 全局替换,包括输出
    # echo cdcd cdef
    # cdcd cdef
    

    :u 将其更改为大写(zsh),:l 小写

    echo $histchars
    echo !$:u
    

    相关文章

      网友评论

          本文标题:linux命令行

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