打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linux实战项目03:文件查看

设为星标,一手文章,新鲜达到

错过往期精彩内容?点击下方链接即可查阅
测试基础系列  实战项目系列
技能提升系列  自动化测试系列
职场碎碎念系列
tips:软件测试资料请戳我

大家好,我是测试奇谭的作者谭叔。

首先,谭叔的视频号求关注:谭叔分享

这里是Linux实战项目的第三篇(3/5)。

上两篇:

Linux实战项目01:环境 & 命令速查工具

Linux实战项目02:文件操作

本篇我将讲解Linux的文件查看,本篇是重点以及难点,亦是你以后工作场景中用得最多的,面试时被问得最多的

接下来,请跟随我的脚步,进入实打实的练习。

文件准备

因涉及到文件操作的练习,我已备好数据:test.log、nginx.conf

在公众号后台回复【资料】二字,即可获取该练习数据。

将下载好的练习数据,传输到Linux系统中(以Windows系统的Docker举例)。

安装环境,详见:Linux实战项目01:环境 & 命令速查工具

01 退出docker容器(如果你是跟随上篇一起练习)

exit

02 获取docker容器的ID

docker ps

03 复制log数据到Docker容器中

docker cp E:\BaiduNetdiskDownload\Linux实战\log 965e3125d799:/test/

04 再次进入Docker容器,查看复制的练习数据
docker exec -it centos-test /bin/bash

cat 连接多个文件并显示

高频使用场景:

  • 需要到服务器上查看错误日志或者文件内容

  • 需要查看不同目录下的多个日志时,可以用cat连接,比如:

    (cat /testA/A.log /testB/B.log)

查看test.log

cat test.log

查看test.log(带行号)

cat -n test.log

tac倒序显示test.log内容(与cat相反)

tac test.log

more 显示文件内容,每次显示一屏

高频使用场景:日志文件一般很大,使用cat会将日志全部打印出来。使用more则可以一页一页查看。

查看test.log

more test.log

查看技巧:

  • Space 空格键:显示下一屏内容

  • B键:显示上一屏内容

  • Enter 键:显示文本的下一行内容

  • Q键:退出more命令

每5行显示一次,并且在显示前先清屏

more -c -5 test.log

more test.log之后,再输入/关键词,可以匹配到下一个关键词的位置,比如输入/POST

高频使用场景:查询日志,定位一个请求的后端问题时,查看了日志中的第一个POST请求,再查看下一个POST请求

less 上下翻页浏览文件,每次显示一屏

初始环境,需要输入yum install less安装该命令。

less命令的效果和more差不多。论使用,个人觉得差异点在于:

  • less可以使用键盘的方向键(上下左右),more不能使用方向键

  • less test.log之后,再输入/关键词(如/POST),支持高亮显示,并支持前后翻页(空格键-后翻,B键-前翻)查看含有POST关键词的内容

  • more查看到文件末尾会自动退出,less查看到文件末尾不会退出

more和less,建议掌握less。

head 显示文件开头;tail 显示文件末尾

显示文件开头5行

head -n 5 test.log

tail 显示文件末尾5行

tail -n 5 test.log

grep 文本搜索工具

文本检索,绝对必须要掌握的命令!!!

查看带有POST关键词的行内容

grep POST test.log

查看带有POST关键词的前两行+后两行的内容

grep -A 2 -B 2 POST test.log

统计文件中包含关键词POST的行数

grep -c "POST" test.log

查看关键词POST的行 & 行号

grep "POST" -n test.log

| 管道符

如何理解?相当于and,将两个命令的功能连接起来,用于解决一些复杂场景的文件查看。

查看前50行日志中带POST关键词的日志

head -n 50 test.log | grep POST

实时刷新带关键词的日志

(该条没法模拟,但需要记牢)

tail -f test.log | grep POST

高频使用场景:一般情况,服务器的日志文件会一直更新,你要查询的内容很快便会被覆盖,当我们需要判定请求是否到了服务器,或者需要查看指定的请求内容时,可以打印实时日志,方便查看

当有新日志记录时,只打印出包含OrderFilter方法的日志内容

显示文件第10至15行的内容,并将TLS高亮显示

head -n 15 test.log | tail -n 10 | grep TLS

find 在指定目录下查找文件

查找当前目录下的所有目录

find -type d

查找当前目录下的所有文件

find -type f

查找当前目录及其子目录中扩展名为“log”的文件

find . -name "*.log"

xargs 给其他命令传递参数的过滤器

查看当前目录下所有文件中含有POST关键词的内容

find ./ -type f | xargs grep "POST"

查看当前目录30天以前的内容并删除它们

find ./ -mtime +30 -print | xargs rm -rf

一如既往,做个总结

01 以上场景,绝对是你要用的,如果用不到,请回来打我;

02 多敲命令、多敲命令、多敲命令,重要的事情说三遍。

疑惑 & 交流,留言区见


转载请注明来源 

封面图片来自unsplash.com

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux服务器 cpu 日志生成log文件
linux查找日志技巧
Linux查看日志常用命令
linux 日志中查找关键字
基于ELK+Filebeat搭建日志中心
linux 命令笔记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服