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

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

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

  1. #!/bin/bash
  2. set -x
  3. TEMP_DIR=$(mktemp -d Leslie.Guan.XXXXXX)
  4. cd ${TEMP_DIR}
  5. wget https://github.com/ggreer/the_silver_searcher/archive/master.zip
  6. TAR_DIR=$(unzip *.zip)
  7. TAR_DIR=${TAR_DIR%%/*}
  8. TAR_DIR=${TAR_DIR##*:}
  9. cd ${TAR_DIR}
  10. apt-get install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev --force-yes
  11. ./build.sh && make install
  12. cd ../../
  13. rm -rf ${TEMP_DIR}
  14. ag -V
  15. set +x

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

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

安装

Ubuntu环境通过apt-get安装tig

  1. sudo apt-get update
  2. sudo apt-get install tig

CentOS环境安装通过yum安装tig

  1. sudo yum update
  2. sudo yum install tig

Mac环境安装通过brew安装tig

  1. brew update
  2. brew install tig

使用

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

  格式:

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

  示例:

  1. $ jq . apinfo.json
  2. [
  3. {
  4. "firmwareVersion": "1.0.6.29",
  5. "hardVersion": "1.20",
  6. "Operators": "CTCC",
  7. "iccid": "DATA DATA",
  8. "snOf3g": "A000004E123ABD2",
  9. "modelOf3g": "MC271X",
  10. "Company_3g": "ZTEMT INCORPORATED",
  11. "MEID_3g": "A000004E123ABD2",
  12. "memorySN": "",
  13. "memoryModel": "abcdefg",
  14. "cpuSN": "",
  15. "cpuModel": "MIPS 74Kc V4.12",
  16. "mac": "00:1F:64:CE:F3:8E",
  17. "hostsn": "01010730b12014A00477",
  18. "hostModel": "CS-VIC-1999-C",
  19. "stCompany": "Beijing Autelan Technology",
  20. "boardSN": "01010730b12014A00477",
  21. "networkCardMac": "00:1F:64:CE:F3:8F",
  22. "lowFreModel": "AR9344",
  23. "lowFreSN": "",
  24. "hignFreModel": "AR9582",
  25. "hignFreSN": "",
  26. "gpsModel": "abcdefg",
  27. "gpsSN": ""
  28. }
  29. ]
  30.  
  31. jq '.[]' apinfo.json
  32. {
  33. "firmwareVersion": "1.0.6.29",
  34. "hardVersion": "1.20",
  35. "Operators": "CTCC",
  36. "iccid": "DATA DATA",
  37. "snOf3g": "A000004E123ABD2",
  38. "modelOf3g": "MC271X",
  39. "Company_3g": "ZTEMT INCORPORATED",
  40. "MEID_3g": "A000004E123ABD2",
  41. "memorySN": "",
  42. "memoryModel": "abcdefg",
  43. "cpuSN": "",
  44. "cpuModel": "MIPS 74Kc V4.12",
  45. "mac": "00:1F:64:CE:F3:8E",
  46. "hostsn": "01010730b12014A00477",
  47. "hostModel": "CS-VIC-1999-C",
  48. "stCompany": "Beijing Autelan Technology",
  49. "boardSN": "01010730b12014A00477",
  50. "networkCardMac": "00:1F:64:CE:F3:8F",
  51. "lowFreModel": "AR9344",
  52. "lowFreSN": "",
  53. "hignFreModel": "AR9582",
  54. "hignFreSN": "",
  55. "gpsModel": "abcdefg",
  56. "gpsSN": ""
  57. }

  测试:

  1. $ jq -r .[].mac apinfo.json
  2. :1F::CE:F3:8E
  3.  
  4. $ jq -r '.[] | .mac' apinfo.json
  5. :1F::CE:F3:8E
  6.  
  7. $ jq -r '.[] |.mac, .gpsSN' apinfo.json
  8. :1F::CE:F3:8E
  9.  
  10. jq -r '.[].mac, .[].gpsSN' apinfo.json
  11. :1F::CE:F3:8E

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微秒)。

好玩的Linux命令-1的更多相关文章

  1. 【Linux】好玩的Linux命令(二)

    关于Linux talk:http://man.linuxde.net/talk 下面文章转自:http://www.oschina.net/translate/11-lesser-known-use ...

  2. 【Linux】好玩的linux命令

    Linux里面有很多有趣的东西,这篇文章整理了一些.摘录一下: 1. sl 命令 你会看到一辆火车从屏幕右边开往左边...... 安装  $ sudo apt-get install sl 运行  $ ...

  3. 19 个强大、有趣、又好玩的 Linux 命令!

    民工哥技术之路 今天 点击上方“民工哥技术之路”选择“置顶或星标” 每天10点为你分享不一样的干货 1. sl 命令 你会看到一辆火车从屏幕右边开往左边…… 安装 $ sudo apt-get ins ...

  4. 常见linux命令释义(第一天)

    快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...

  5. Linux命令行之逗趣无极限

    Linux命令行之逗趣无极限 . Linux"sl"命令行 尽管"sl"代表了"蒸汽机机头",但它是用来提醒那些命令行控们别把"l ...

  6. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

  7. 20个实用的Linux命令

    20个实用的Linux命令 2016-04-16 程序员之家 1. 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时 ...

  8. 一些好用的Linux命令工具

    刚好看到一个系列的博文,讲的就是那些平时很少被人用到但是很实用的命令,选一些觉得自己应该比较常用到的出来写个笔记. 这些命令有些不是系统命令,需要自行下载安装.Debian下安装:sudo apt-g ...

  9. (转)linux命令总结之ip命令

    linux命令总结之ip命令 原文:https://www.cnblogs.com/ginvip/p/6367803.html linux命令总结之ip命令   Linux的ip命令和ifconfig ...

随机推荐

  1. Linux基础命令及使用帮助

    一.内部命令 内置命令(builtin):由shell程序自带的命令 help:查看内部命令 enable -n command 禁用某内部命令 enable -n 查看全部被禁用的命令 enable ...

  2. [CSP-S模拟测试]:矩阵游戏(数学)

    题目描述 $LZK$发明一个矩阵游戏,大家一起来玩玩吧,有一个$N$行$M$列的矩阵.第一行的数字是$1,2,...,M$,第二行的数字是$M+1,M+2,...,2\times M$,以此类推,第$ ...

  3. jQuery UI Widget Factory

    https://learn.jquery.com/jquery-ui/widget-factory/ The jQuery UI Widget Factory is an extensible bas ...

  4. 鸡肋工具-Oracle建表工具

    为什么叫鸡肋工具呢,因为我们完全可以在pl/sql上直接建立表.索引.同义词.授权.触发器等. 写这个工具目的是因为公司的本地.测试环境开发无权创建表,每次成员建表语句千奇百怪不规范,所以写了这么个工 ...

  5. http://blog.csdn.net/sdksdk0/article/details/50749326

    http://blog.csdn.net/sdksdk0/article/details/50749326

  6. Python uuid库中 几个uuid的区别

    在用到uuid库的时候,发现uuid有很多个,比较好奇,就查了一下他们的区别 uuid1()——基于时间戳 uuid2()——基于分布式计算环境DCE(Python中没有这个函数) uuid3()—— ...

  7. django在线教育网站开发---需求分析

    开发目录: django app设计 user model.py 编写 courses models.py 编写 -Course 课程基本信息 -Lesson 章节信息 -Video -视频 -Cou ...

  8. 21次C++作业

    //第一题目 class A //A为基类 {public: void f1( ); int i; protected: void f2(); int j; private: int k; }; /* ...

  9. python函数纯概念汇总(一)

    在使用python的时候由于前期基本概念没有分清楚,所以需要重新归纳汇总学一学. 一.什么是函数: 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很 ...

  10. C#MessageBox 自动关闭窗口

    1:MessageBox弹出的模式窗口会先阻塞掉它的父级线程.所以我们可以考虑在MessageBox前先增加一个用于"杀"掉MessageBox窗口的线程.因为需要在规定时间内&q ...