【软件测试】面试中问到Linux命令,你都答上来了吗?【送书】
Linux查看日志ERROR出现次数的命令
查找Error日志并统计次数
# 查找Error日志并统计次数
grep -o -E 'ERROR'| sort | uniq -c
查找error日志并存储到指定文件
#查找日志文件testLog.log中的ERROR并将其存储到指定的文件error.log里面
tail -f testLog.log | grep -o -E 'Error' >> error.log
Linux 替换文件内容 sed命令下批量替换文件内容 格式: sed -i “s/查找字段/替换字段/g” grep 查找字段 -rl 路径 文件名 -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 s表示替换,d表示删除 示例:sed -i “s/shan/hua/g” lishan.txt 把当前目录下lishan.txt里的shan都替换为hua
Linux 面试题: Linux命令,在当前目录的所有log文件中找到包含error单词的行,并把error替换成warn后,存入test文件。(并未实际验证准确性)
tail -f testLog.log | grep -o -E 'Error'| sed -i "s/Error/warn/g" >> test.log
Linux查看文件前几行和后几行的命令
可以使用head(查看前几行)、tail(查看末尾几行)两个命令。例如: 查看/etc/profile的前10行内容,应该是:
head -n 10 /etc/profile
查看/etc/profile的最后5行内容,应该是:
tail -n 5 /etc/profile
如果想同时查看可以将前10行和后5行的显示信息通过输出重定向的方法保存到一个文档,这样查看文档即可一目了然。 例如: 将内容输出到/home/test文件中
head -n 10 /etc/profile >>/home/test
tail -n 5 /etc/profile>>/home/test
查看的话只需要打开test文件即可。
cat /home/test
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
【三】用sed命令
sed -n '5,10p' filename
这样你就可以只查看文件的第5行到第10行。
Linux 查看错误日志的Shell命令:
awk命令:
awk '/ERROR[12]/ {
err1_cnt+=gsub(/ERROR1/, "");
err2_cnt+=gsub(/ERROR2/, "");
}
END {
print err1_cnt, err2_cnt;
}' /tmp/a.log
Linux压缩和解压命令
压缩
// 将目录里所有jpg文件打包成 tar.jpg
tar –cvf jpg.tar *.jpg
// 将目录里所有jpg文件打包成 jpg.tar 后,
//并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz
tar –czf jpg.tar.gz *.jpg
// 将目录里所有jpg文件打包成 jpg.tar 后,
//并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,命名为jpg.tar.bz2
tar –cjf jpg.tar.bz2 *.jpg
// 将目录里所有 jpg 文件打包成 jpg.tar 后,并且将其用 compress 压缩,生成一个 umcompress 压缩过的包,命名为jpg.tar.Z
tar –cZf jpg.tar.Z *.jpg
// rar格式的压缩,需要先下载 rar for linux
rar a jpg.rar *.jpg
// zip格式的压缩,需要先下载 zip for linux
zip jpg.zip *.jpg
解压:
tar –xvf file.tar // 解压 tar 包
tar -xzvf file.tar.gz // 解压 tar.gz
tar -xjvf file.tar.bz2 // 解压 tar.bz2
tar –xZvf file.tar.Z // 解压 tar.Z
unrar e file.rar // 解压 rar
unzip file.zip // 解压 zip
总结:
1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.Z 用tar –xZf 解压 8、*.rar 用 unrar e解压 9、*.zip 用 unzip 解压
- Spring Boot 集成Shiro和CAS
- 剑指offer代码解析——面试题22栈的压入、弹出序列
- 剑指offer代码解析——面试题21包含min函数的栈
- 剑指offer代码解析——面试题19二叉树的镜像
- mysql高可用架构设计,处理高并发,大流量!
- 零基础入门深度学习 | 第三章:神经网络和反向传播算法
- 微信企业付款到个人钱包引发的坑之反思~!
- Intellij idea创建javaWeb以及Servlet简单实现
- 设计模式之代理模式之读写分离!!!
- Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
- 深入浅出Redis-redis底层数据结构(上)
- Linux下自动化监控内存、存储空间!
- 深入浅出Redis-redis底层数据结构(下)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- R语言对回归模型进行协方差分析
- R语言多项式样条回归、非线性回归数据分析
- R语言中进行Spearman等级相关分析
- R语言相关分析和稳健线性回归分析
- R语言文本挖掘使用tf-idf描述NASA元数据的文字和关键字
- R语言对NASA元数据进行文本挖掘的主题建模分析
- 随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
- R语言VAR模型的不同类型的脉冲响应分析
- R语言用向量自回归(VAR)进行经济数据脉冲响应研究分析
- R语言从经济时间序列中用HP滤波器,小波滤波和经验模式分解等提取周期性成分分析
- python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证
- CNN+ Auto-Encoder 实现无监督Sentence Embedding ( 基于Tensorflow)
- R语言数据可视化分析案例:探索BRFSS数据
- R语言探索BRFSS数据可视化
- 基于ThinkPhp6.0+Vue 开发的一套免费开源新零售商城系统