zoukankan      html  css  js  c++  java
  • 好玩的Linux命令-1

    Ag:比grep、ack更快的归递搜索文件内容

    1:首先在linux创建个sh文件->ag.sh

    2:在ag.sh里面输入如下内容并保存

    #!/bin/bash
    set -x
    TEMP_DIR=$(mktemp -d Leslie.Guan.XXXXXX)
    cd ${TEMP_DIR}
    wget https://github.com/ggreer/the_silver_searcher/archive/master.zip
    TAR_DIR=$(unzip *.zip)
    TAR_DIR=${TAR_DIR%%/*}
    TAR_DIR=${TAR_DIR##*:}
    cd ${TAR_DIR}
    apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev --force-yes
    ./build.sh && make install
    cd ../../
    rm -rf ${TEMP_DIR}
    ag -V
    set +x
    View Code

    3:执行./ag.sh就会去安装了,完事后可以用ag  "helloWord"命令去寻找所有文件中包含helloWord的文件并列出所在行数等。主要是带有颜色。

    Tig:字符模式下交互查看git项目,可以代替git命令

    安装

    Ubuntu环境通过apt-get安装tig

    sudo apt-get update
    sudo apt-get install tig
    View Code

    CentOS环境安装通过yum安装tig

    sudo yum update
    sudo yum install tig
    View Code

    Mac环境安装通过brew安装tig

    brew update
    brew install tig
    View Code

    使用

    1、通过man查看tig命令

      //CentOS、Ubuntu
      man tig

      //mac
      man ls tig
    2、tig中位置移动是vim命令
    3、tig查看所有历史修改

      yanmin:360tmk yanmin$ tig

    4、tig show查看某次commit的所有修改

      tig show 65a05ee92c83a5827449d62be42322e1b2a58e39

    5、tig filename查看某个文件所有历史修改

      yanmin:360tmk yanmin$ tig pom.xml

    Mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令

      我用的是centos7,版本如果7以下可能会存在问题,比如自带Python的原因。

      安装:

      # yum -y install epel-release

      # yum -y install python-pip

      # yum install python-devel

      清除缓存

      # yum clean all

      安装mycli

      # pip install mycli

      中间如出现报错按照指引完成即可

      测试

      输入mysql命令即可进行补全

    Jq:json文件处理以及格式化显示,支持高亮,可以替换python –m json.tool

      简单介绍:JSON 数据的书写格式是: 名称/对象。 JSON的结构基于两点,“名称/值”的集合 ,在不同的语言中,它可以被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),键列表(keyed list)等 。值的有序列表 多数语言中被理解为数组(array)。

      JSON的基础结构说明

      对象是属性、值的集合。一个对象开始与”{” ,结束于”}”。每一个属性名和值间用”:”分隔。每个属性间用”,”分隔。
      值可以是字符串,数字,逻辑值,数组,对象,null。
      数字:整数或浮点数
      字符串:在双引号中
      逻辑符:true和false
      数组:在方括号中
      对象:在花括号中
      null: 代表空
      安装:centos:#yum install jq

         ubuntu:#apt-get install jq

      格式:

    jq [options] filter [files]
    **options:**
    --version:输出jq的版本信息并退出
    --slurp/-s:读入整个输入流到一个数组。
    --raw-input/-R:不作为JSON解析,将每一行的文本作为字符串输出到屏幕。
    --null-input/ -n:不读取任何输入,过滤器运行使用null作为输入。一般用作从头构建JSON数据。
    --compact-output /-c:使输出紧凑,而不是把每一个JSON对象输出在一行。
    --colour-output / -C:打开颜色显示
    --monochrome-output / -M:关闭颜色显示
    
    --ascii-output /-a:指定输出格式为ASCII
    
    -raw-output /-r :如果过滤的结果是一个字符串,那么直接写到标准输出(去掉字符串的引号)
    View Code
    filter
    
    .   : 默认输出
    .foo: 输出指定属性,foo代表属性。
    .[foo] :输出指定数组元素。foo代表数组下标。
    .[]:输出指定数组中全部元素
    , :指定多个属性作为过滤条件时,用逗号分隔
    | : 将指定的数组元素中的某个属性作为过滤条件
    View Code
    files:示例文件
    [{"hostCompany":"Beijing Autelan Technology","hostModel":"CS-VIC-2000-C","hostsn":"01010730b12014A00477","mac":"00:1F:64:CE:F3:8E","cpuModel":"MIPS 74Kc V4.12","cpuSN":"000000","memoryModel":"abcdefg","memorySN":"000000","boardSN":"01010730b12014A00477","networkCardMac":"00:1F:64:CE:F3:8F","lowFreModel":"AR9344","lowFreSN":"000000","hignFreModel":"AR9582","hignFreSN":"000000","gpsModel":"abcdefg","gpsSN":"000000","MEID_3g":"A000004E123ABD2","Company_3g":"ZTEMT INCORPORATED","modelOf3g":"MC271X","snOf3g":"A000004E123ABD2","iccid":"89860314400200885980","Operators":"CTCC","hardVersion":"1.20","firmwareVersion":"1.0.6.29"}]
    View Code

      示例:

    $ jq . apinfo.json   
    [
      {
        "firmwareVersion": "1.0.6.29",
        "hardVersion": "1.20",
        "Operators": "CTCC",
        "iccid": "DATA DATA",
        "snOf3g": "A000004E123ABD2",
        "modelOf3g": "MC271X",
        "Company_3g": "ZTEMT INCORPORATED",
        "MEID_3g": "A000004E123ABD2",
        "memorySN": "000000",
        "memoryModel": "abcdefg",
        "cpuSN": "000000",
        "cpuModel": "MIPS 74Kc V4.12",
        "mac": "00:1F:64:CE:F3:8E",
        "hostsn": "01010730b12014A00477",
        "hostModel": "CS-VIC-1999-C",
        "stCompany": "Beijing Autelan Technology",
        "boardSN": "01010730b12014A00477",
        "networkCardMac": "00:1F:64:CE:F3:8F",
        "lowFreModel": "AR9344",
        "lowFreSN": "000000",
        "hignFreModel": "AR9582",
        "hignFreSN": "000000",
        "gpsModel": "abcdefg",
        "gpsSN": "000000"
      }
    ]
    
    jq '.[]' apinfo.json 
    {
      "firmwareVersion": "1.0.6.29",
      "hardVersion": "1.20",
      "Operators": "CTCC",
      "iccid": "DATA DATA",
      "snOf3g": "A000004E123ABD2",
      "modelOf3g": "MC271X",
      "Company_3g": "ZTEMT INCORPORATED",
      "MEID_3g": "A000004E123ABD2",
      "memorySN": "000000",
      "memoryModel": "abcdefg",
      "cpuSN": "000000",
      "cpuModel": "MIPS 74Kc V4.12",
      "mac": "00:1F:64:CE:F3:8E",
      "hostsn": "01010730b12014A00477",
      "hostModel": "CS-VIC-1999-C",
      "stCompany": "Beijing Autelan Technology",
      "boardSN": "01010730b12014A00477",
      "networkCardMac": "00:1F:64:CE:F3:8F",
      "lowFreModel": "AR9344",
      "lowFreSN": "000000",
      "hignFreModel": "AR9582",
      "hignFreSN": "000000",
      "gpsModel": "abcdefg",
      "gpsSN": "000000"
    }
    View Code

      测试:

    $ jq -r .[].mac apinfo.json 
    00:1F:64:CE:F3:8E
    
    $ jq -r '.[] | .mac' apinfo.json 
    00:1F:64:CE:F3:8E
    
    $ jq -r '.[] |.mac, .gpsSN' apinfo.json 
    00:1F:64:CE:F3:8E
    000000
    
    jq -r '.[].mac, .[].gpsSN' apinfo.json 
    00:1F:64:CE:F3:8E
    000000
    View Code

    Shellcheck:shell脚本静态检查工具,能够识别语法错误和不规范的写法。

      安装:

      在ubuntu里直接apt install shellcheck

      在centos里yum install -y epel-release 

           yum install -y shellcheck

    查看某进程的网卡流量

          yum install libpcap nethogs -y

      另一种安装方式:

          yum install cabal-install

      指令安装目录:~/.cabal/bin

          cabal update

          cabal install cabal

          cabal install shellcheck

    这样就可以使用如下命令安装

          cabal install shellcheck

    Fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl+r历史命令搜索

    具体使用方法可参考如下

    https://www.cnblogs.com/harriszh/p/7616966.html

    讲的很不错,可以多学学

    Pathpicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合git非常好用

    git diff HEAD-8 --stat| fpp

     

    Htop:提供更美观,更方便的进程监控工具,替代top命令

      用F2编辑配置,用F9发送信号,用F3搜索进程,用F5切换,通过空格设置颜色标注进程条目

    • -s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。
    • -u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
    • -d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。

     

  • 相关阅读:
    CodeForces 288A Polo the Penguin and Strings (水题)
    CodeForces 289B Polo the Penguin and Matrix (数学,中位数)
    CodeForces 289A Polo the Penguin and Segments (水题)
    CodeForces 540C Ice Cave (BFS)
    网站后台模板
    雅图CAD
    mbps
    WCF学习-协议绑定
    数据库建表经验总结
    资源位置
  • 原文地址:https://www.cnblogs.com/john4415/p/11388365.html
Copyright © 2011-2022 走看看