欢迎光临散文网 会员登陆 & 注册

第六章 Linux系统操作使用

2023-06-09 18:42 作者:littersho  | 我要投稿

在测试过程中,经常会遇到抛出异常或报错的情况,这时候我们就需要对出现的问题进行一个初步定位

第一,查看前端日志

F12开发者工具是浏览器自带的一个开发调试工具,因为可以用F12快捷键直接启动,所以简称为F12工具。

也可以手动在菜单里:更多工具里-->开发者工具,点击可以直接启动

F12  network网络查询(记录了前后端的交互)---重点,

前后端信息通过接口传输,network记录了接口信息(请求头、请求体、响应体),

可以通过看前端发送的请求 和 后端收到的响应,定位这个bug是前端bug还是后端bug


第二,通过抓包来看请求和响应

抓包工具fiddler,Charles等进行抓包 (后续单独讲)

我们主要关注的有三个东西:响应状态码,请求(请求行,请求方法,IP端口,资源路径等),响应(响应数据格式,错误码,错误码描述和给出的接口文档规范进行对比)


第三,去数据库执行SQL语句,检查数据落地


第四,Linux查看服务器日志

我们到后端服务器查看日志,错误日志有几个常用的关键字:error,exception,failed,invalid,用查看日志的指令加上grep这些关键词来定位到异常的方法

比如有一个test.log日志,要在里面找到出现error和exception这两个错误的位置,那么就可以用 cat-n test.log | grep"error"命令来查询

注释:

cat 是常用的查看日志命令,对于比较小的日志文件,可以直接用cat 展开内容

-n 参数表示对所有输出的行号进行编号

 |  竖杠属于管道符,一般和grep搭配使用,所谓的管道符就是把符号左边的命令,也就是本来要打印到终端的信息,当成右边命令的操作对象

另外应用场景二:

当项目不能访问时,登录Linux服务器,看项目是不是启动着

ps –ef | grep java 查看当前服务器 java 应用

应用场景三:

有时会做下项目的部署

打包好项目包,上传到我们的tomcat服务器上去,然后修改项目的配置信息,接着去启动我们的tomcat


那么接下来就了解下Linux相关内容


Linux 系统中一切皆文件

Linux 目录结构:‘ / ’根目录 ,挂载点(Linux中的磁盘文件系统的入口目录)


常见Linux命令

查看日志(区分大小写的)

Shell可以看成是一个命令解释器,为我们提供了交互式的文本控制台界面,我们可以通过终端控制台来输入命令,由shell进行解释并最终交给内核执行。(shell 命令解释层)

一、 登录服务器(Linux终端控制台)

菜单+R  调出运行窗口,输入cmd

 登入服务器:ssh account@ip,
ssh root@192.168.102.216
itg 密码:0018$0018bB
C:\Program Files\Git\bin
151,线上:Pass1234


二、 基本linux 命令:

①帮助命令

【man 命令】 manual  手册  获取外部命令的帮助信息 如ls

【help 命令】获取shell内置命令的帮助信息 如cd

【命令--help】 获取外部命令的帮助信息

【type 命令】判断命令是内置命令还是外置命令

②常用快捷键

【CTRL+c】停止进程

【CTRL+l】清屏,等同于【clear】,再往上翻还可以看到历史信息,彻底清屏是【reset】

善用tab键  会给提示(更重要的是可以防止敲错)

上下键  查找执行过的命令

③文件目录类

【pwd】 打印当前的工作目录的绝对路径  (‘ / ’根目录 )

【ls】 list  查看当前目录下文件 ,

【ls -l -h -a】  -l long 以长列表的形式展示信息  -h human 以人类易读的方式展示 -a all全部的文件,连同隐藏档(开头为.的文件),一起列出来

【ll 】同【ls -l 】

【cd+ 文件名】 进入具体文件目录

【cd+/user/bin】使用绝对路径进入具体文件目录
【cd .. 】返回上一级目录


【mkdir】创建新的目录

【rmdir】 删除目录

【touch】创建一个空文件


【cp 源文件 目标文件】copy,复制源文件到目标文件,会询问是否覆盖,Y覆盖,N不覆盖

【\cp 源文件 目标文件】直接覆盖

【-r】递归复制整个文件夹,将其子文件夹及子文件一起完整复制


【rm 要删除的文件】删除文件或目录

【-r】递归删除目录中的所有内容

【-f】强制执行删除操作,而不提示用于进行确认

【-v】显示指令的详细执行过程

【rm-rf/*】删库跑路 删除根目录下的所有内容


【mv 旧文件 新文件】重命名

【mv 旧文件 路径】移动文件目录

【mv 旧文件 路径 新文件】移动文件并重命名


④查看文件内容

【grep ‘查找的字符串’】 【grep "yyy"】查看日志是否包含 yyy 字符串,单双引号都可

【cat xxx 】常用的查看日志命令,对于比较小的日志文件,可以直接用cat 展开内容

【-n 】显示输出行数

【-i  】忽略大小写

grep -v ‘字符串’  】反向选择,过滤字符串不显示

例子:【cat test.log | grep"error"】【grep "error"  test.log【grep-n "error"  test.log查看test.log日志文件中包含error的内容

【grep-i "error"  test.log查看test.log日志文件中包含error,ERROR的内容

【grep-v "error"  test.log查看test.log日志文件中不包含error的内容


【more 要查看的文件】文件内容分屏查看器  查看大文件  

     空格键--向下翻一页  

     回车键--向下翻一行  

     q键退出

      CTRL+F 向下滚动一屏

      CTRL+B 返回上一屏

       = 输出当前行的行号

       :f 输出文件名和当前行的行号


【less 要查看的文件】分屏显示文件内容,查看小文件  并不是一次将整个文件加载之后才显示,二十根据现实需要加载内容,对于显示大型文件具有较高的效率

      空格键--向下翻一页

      向上箭头或向下箭头-一行一行 

      =输出当前行的行号

      /字串   向下搜索【字串】的功能 【n:】向下查找;【N:】向上查找

      ?字串   向上搜索【字串】的功能 【n:】向下查找;【N:】向上查找

       q键退出


【echo 想输出的内容】直接在控制台输出

【echo  hello         world】运行结果:hello world

【echo “想输出的内容”】空格等内容可输出

【echo  “hello         world”】运行结果:hello         world

【echo  “hello\tworld”】运行结果:hello\tworld

【echo -e “想输出的内容”】支持反斜线控制的字符转换

【echo -e “hello\tworld”】运行结果:hello    world

控制字符

\\  输出\本身

\n  换行符

\t   制表符,也就是tab键


【>】输出重定向

ls -l > 文件 列表的内容写入文件中(覆盖写)

cat 文件1> 文件2 将文件1的内容覆盖到文件2

【>>】追加

ls -al >>  文件 列表的内容追加到文件中(追加,写在末尾)

echo “内容” >> 文件  将内容添加到文件1



 

【head】查看文件的前N行内容  head - 20 文件名


【tail 文件名】默认查看文件的后10行内容 

【 tail – 500 文件名】查看文件的后500行内容

【tail –f 文件名 】 查看动态日志   跟踪日志状态 打开具体文件,实时刷新

Ctrl + c 退出



vim/vi 打开具体文件(小的文件可以用cat)
: set nu 显示行号
【[Ctrl] + f】 屏幕向下移动一页(相当于 Page Down 键)
【[Ctrl] + b】 屏幕向上移动一页(相当于 Page Up 键)
【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n 为数字(下同),移动到当前文件中第 n 行
【gg】 移动到文件的第一行,相当于"1G"
【/word】 在文件中查找内容为 word 的字符串(向下查找)
【?word】 在文件中查找内容为 word 的字符串(向上查找)
【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个
:I 进入编辑
:wq 保存
:q!不保存退出
:q 退出

【ln】软链接



进程管理:

任务管理器  CTRL +alt+delete

【ps】 查看当前用户管理和使用的正在运行的进程

【ps aux | grep xxx】查看系统中所有进程

【ps -ef | grep xxx】可以查看子父进程之间的关系




jps 查看当前服务器 java 进程




【top】

查看进程编号使用ps命令

管道符,一般和grep搭配使用

查看pid进程编号

kill命令杀死进程

统计文件大小命令:du

查看磁盘大小:df

查看网络连通情况:ping ip或者ping 域名

查看系统资源占用情况:top



3、 cat && 浏览器查看 http 请求
安装 cat 插件
查看 http 请求
资源地址、请求头,请求参数、请求方式,返回结果,cat 插件
查看服务器响应速度

ssh root@192.168.102.73
itg 密码:0018$0018bB
cd /data
cd /data/applogs
ls
cd kingkong-pc-web
ls
cd logs
ls
cd 租户名
ls
tail –f app.log
tail -f 日志文件 | perl -pe 's/(关键词)/\e[1;颜色$1\e[0m/g'
tail -f app.log | perl -pe 's/(Job 热启动)/\e[1;31m$1\e[0m/g' 用红色标注出关键字
tail -f app.log | grep ' integrationLog'
打日志方法:
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
Logger logger = LoggerFactory.getLogger(getClass());
SObjectFacade data = context.data;
Long userId = context.userId;
try
{
// 执行自定义事件代码
logger.info("当前数据 Oid=" + data.getOid());
logger.info("当前操作用户 ID=" +userId);
}
Ctrl+F12 找方法
重启服务器方法:


第一步,登录服务器,输入完整路径:
cd /usr/local/tomcat/kingkong-pc-web/bin
./startup.sh
第二步,输入 Jps:
复制‘显示信息中 :Bootstrap 前的编号’
第三步,?为上一步的编号
kill -9 ?
第四步,查看日志
cd /usr/local/tomcat/kingkong-pc-web/logs
tail -f catalina.out
cd /data/applogs /kingkong-pc-web/logs

系统资源监控命令

项目环境部署(简历写的话)

docker容器技术--相关命令


第六章 Linux系统操作使用的评论 (共 条)

分享到微博请遵守国家法律