好玩的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
3:执行./ag.sh就会去安装了,完事后可以用ag "helloWord"命令去寻找所有文件中包含helloWord的文件并列出所在行数等。主要是带有颜色。
Tig:字符模式下交互查看git项目,可以代替git命令
安装
Ubuntu环境通过apt-get安装tig
sudo apt-get update
sudo apt-get install tig
CentOS环境安装通过yum安装tig
sudo yum update
sudo yum install tig
Mac环境安装通过brew安装tig
brew update
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
格式:
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 :如果过滤的结果是一个字符串,那么直接写到标准输出(去掉字符串的引号)
filter . : 默认输出
.foo: 输出指定属性,foo代表属性。
.[foo] :输出指定数组元素。foo代表数组下标。
.[]:输出指定数组中全部元素
, :指定多个属性作为过滤条件时,用逗号分隔
| : 将指定的数组元素中的某个属性作为过滤条件
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":"","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"}]
示例:
$ 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": "",
"memoryModel": "abcdefg",
"cpuSN": "",
"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": "",
"hignFreModel": "AR9582",
"hignFreSN": "",
"gpsModel": "abcdefg",
"gpsSN": ""
}
] 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": "",
"memoryModel": "abcdefg",
"cpuSN": "",
"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": "",
"hignFreModel": "AR9582",
"hignFreSN": "",
"gpsModel": "abcdefg",
"gpsSN": ""
}
测试:
$ jq -r .[].mac apinfo.json
:1F::CE:F3:8E $ jq -r '.[] | .mac' apinfo.json
:1F::CE:F3:8E $ jq -r '.[] |.mac, .gpsSN' apinfo.json
:1F::CE:F3:8E jq -r '.[].mac, .[].gpsSN' apinfo.json
: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的更多相关文章
- 【Linux】好玩的Linux命令(二)
关于Linux talk:http://man.linuxde.net/talk 下面文章转自:http://www.oschina.net/translate/11-lesser-known-use ...
- 【Linux】好玩的linux命令
Linux里面有很多有趣的东西,这篇文章整理了一些.摘录一下: 1. sl 命令 你会看到一辆火车从屏幕右边开往左边...... 安装 $ sudo apt-get install sl 运行 $ ...
- 19 个强大、有趣、又好玩的 Linux 命令!
民工哥技术之路 今天 点击上方“民工哥技术之路”选择“置顶或星标” 每天10点为你分享不一样的干货 1. sl 命令 你会看到一辆火车从屏幕右边开往左边…… 安装 $ sudo apt-get ins ...
- 常见linux命令释义(第一天)
快到中午吃饭了,然后忽然想起来samba里面没有添加用户.于是乎,就玩弄起了samba. Samba三下五除二就安装好了,想想window里面不断的点击下一步,还要小心提防各种隐藏再角落里的绑定软件. ...
- Linux命令行之逗趣无极限
Linux命令行之逗趣无极限 . Linux"sl"命令行 尽管"sl"代表了"蒸汽机机头",但它是用来提醒那些命令行控们别把"l ...
- 20个Linux命令及Linux终端的趣事
20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...
- 20个实用的Linux命令
20个实用的Linux命令 2016-04-16 程序员之家 1. 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时 ...
- 一些好用的Linux命令工具
刚好看到一个系列的博文,讲的就是那些平时很少被人用到但是很实用的命令,选一些觉得自己应该比较常用到的出来写个笔记. 这些命令有些不是系统命令,需要自行下载安装.Debian下安装:sudo apt-g ...
- (转)linux命令总结之ip命令
linux命令总结之ip命令 原文:https://www.cnblogs.com/ginvip/p/6367803.html linux命令总结之ip命令 Linux的ip命令和ifconfig ...
随机推荐
- Knapsack Cryptosystem
Knapsack Cryptosystem 超大背包 折半查找 #include<bits/stdc++.h> using namespace std; typedef long long ...
- Alexa TOP 100万的域名列表
Alexa是一家专门发布网站世界排名的网站,是亚马逊公司的一家子公司.Alexa每天在网上搜集多达几十亿的网址链接,而且为其中的每一个网站进行了排名. Alexa通过Alexa官网查询好像TOP 50 ...
- 原生js实现简单的放大镜效果
前言:相信很多同学在浏览购物网站的时候都会用到过放大镜的功能,这个功能在日常的网站也会经常用到.接下来我们开始实现一下它吧: (1)首先了解一下放大镜效果的html架构:如下图,它由两部分组成. ht ...
- Vue点击切换Class变化,实现Active当前样式
刚自学Vue不久,所以还不太熟,所以直接上代码. 一.先在data里增加一个变量,用来储存当前点击的元素 data() { return { activeClass: -1, // 0为默认选择第一个 ...
- ORACLE DG 库参数db_file_name_convert和log_file_name_convert的作用
https://www.cnblogs.com/xqzt/p/5089826.html ORACLE DG 库参数db_file_name_convert和log_file_name_convert的 ...
- docker 提高效率 network-bridging 桥接
安装的时间顺序 bit3 192.168.107.128 wredis 192.168.107.129 wmysql 192.168.107.130 wslave 192.168.107.131 w ...
- 设计模式-Runoob:设计模式简介
ylbtech-设计模式-Runoob:设计模式简介 1.返回顶部 1. 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是 ...
- Docker - 部署 Ant Design Pro 的项目
解读 Ant Design Pro 的 Docker 配置 package.json 的 scripts -f: 使用什么配置文件 -t: 标签 up: 启动服务(的容器) build: 构建或重新构 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_11_静态static关键字概述
static静态关键字的基本含义 红色教室都划掉 一份数据分给三个人用,而不是三个人相同的数据,三个对象写三遍没有必要. 只写一遍教室,写在学生的类当中.这样还就可以省内存.如果要换教室的话 ,只需要 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_3_字节输出流_OutputStream类&FileOutputStream
都在IO包下 所有字节输出最顶层的父类 它是一个抽象类.abstract修饰的 一般这种类定义的都是所有字节流都可以使用公共的方法,