bash应用

linux三剑客 grep+awk+sed

❖ grep 数据查找定位
❖ awk 数据切片
❖ sed 数据修改

❖ 这三个工具都一定程度可以支持数据的检索、切片、修改。awk最强大,可以重点学习。

grep(查找数据)

❖ grep pattern file


❖ adb devices | grep xxxx


❖ curl https://testerhome.com 2>/dev/null | grep Appium | grep -v Python    (往/dev/null文件写的东西会自动消失支持正则)

grep  -v 排除

❖ curl http://www.baidu.com | grep -o 'http://[a-zAZ0-9\\-\\.]*'  (只取出单独内容)

❖ 个人票 -oE‘abc.*?’ file

 

awk(分割数据)

❖ Awk是linux下的一个命令,同时也是一种语音解析引擎
❖ Awk具备完整的编程特性。例如执行命令,网络请求等
❖ 精通awk,是一个linux工作者的必备技能

数据处理
❖ 123|456|789

基础数据切片  -F (指定分隔符)

封装成函数

❖ RS 行记录分隔符  (字段分割)


❖ FS 记录分隔


❖ NR 记录数
❖ NF 字段数


❖ BEGIN END

计算浮点数

 

awk行分割

❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}'(用:分割行)


❖ echo $PATH | awk 'BEGIN{RS=":"}{print NR,$0}' (打印第几条记录)


❖ echo $PATH | awk 'BEGIN{RS=":"}END{print NR}'(打印记录数)

 

awk字段分割

❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk -F / '{print $1,$2,$3,$4}'

(以:分割行,以/分割字段)


❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk 'BEGIN{FS="/"}{print $1,$2,$3,$4}'


❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | awk 'BEGIN{FS="/|-"}{print $1,$2,$3,$4}'

 

sed(替换数据/区间选择数据)

数据批量化的替换

❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | sed 's#/#----#g'


❖ echo $PATH | awk 'BEGIN{RS=":"}{print $0}' | sed -n '/^\/bin/,/sbin/p'  (区间选择)


❖ sed -i '.bak' -e '' -e '' (多次选择)

 

Bash自动化

自动化交互

❖ 批处理并不等于自动化
❖ 让交互程序实现非交互执行
❖ 借助第三方工具expect

自动输入方法

❖ << 文档字符串。可以实现对序列化输入的操作自动化
❖ 管道方式 echo 'pasword' |passwd
❖ 去掉sudo密码提示,也可通过修改sudoer文件
❖ 去掉ssh密码,也可以通过添加认证


❖ expect

 

 

Linux常用命令

一键搭建web网站

❖ python -m CGIHTTPServer 8080

本地的地址

 

gnuplot

plot '4col.csv' using 1:2 with lines,
'4col.csv' using 1:3 with lines
plot '4col.csv' using 1:2 with lines,
'4col.csv' using 1:3 with lines,
'4col.csv' using 1:4 with lines

 

 

通过管道读取数据并绘图

❖ echo '1
❖ 3
❖ 2
❖ 4
❖ 6' | gnuplot -e "set terminal dumb;plot '<cat' using 1 with line"

 

更多工具

❖ 系统性能统计命令
❖ ps netstat top vmstat

ps

ps -ef

ps -ef 输出具体含义

UID        PID  PPID  C STIME TTY          TIME CMD

各相关信息的意义:

UID 程序被该 UID 所拥有

PID 就是这个程序的 ID

PPID 则是其上级父程序的ID

C CPU 使用的资源百分比

STIME 系统启动时间

TTY 登入者的终端机位置

TIME 使用掉的 CPU 时间

CMD 所下达的指令为何

netstat

netstat -tlnp    -----本地开放端口

top

vmstat

 

 

Android常用命令

❖ adb
❖ adb devices
❖ adb kill-server

❖ adb logcat

❖ adb help

❖ adb jdwp  可执行java进程


❖ adb shell (Linux系统)
❖ adb shell dumpsys (性能相关数据)

dumpsys activity activities (当前窗口activities)

dumpsys | less (本地信息组件信息)
❖ adb shell am
❖ adb shell ps
❖ adb shell monkey

netstat -tln 开放端口


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值