排查问题所用到的一些Linux命令实践(不定期更新。。)
一、前言
线上问题排查可能是每个程序员都会经历的。在排查的过程中,往往会用到很多Linux命令,也会产生一些很实用的技巧。本博文通过分析一次线上问题排查的过程,把所有用到的命令串起来。每个Linux命令的参数往往会很多,下面对Linux命令的介绍,不会面面俱到,我只会介绍常用的或者对排查问题有帮助的参数。另外,本人也会不间断的进行更新,把自己学习到的一些实用的技巧分享出来。
二、Linux命令
2.1 ssh命令
首先,我们需要通过本机或者跳板机连接到到生产服务器上,这时候就会用到ssh命令
实践:
无用户(默认用当前用户)的ssh登录 : ssh 172.16.23.45
有用户的ssh登录 : ssh admin@172.16.23.45
有用户指定端口的ssh登录 : ssh -p 17700 admin@172.16.23.45
建立到目标主机的持久连接: ssh -MNf admin@172.16.23.45
2.2 cd命令
进入远程服务器后,一定会用到的一个命令就是cd,用来进入日志目录
实践:
进入当前目录下的某个目录 cd tmp
以绝对路径进入某个目录 cd /etc/tmp
回到用户目录 cd ~
回到上一个目录 cd ..
扩展:当到需要进入的目录太深,每次都要进行好多cd,因此,可以使用ln命令生成一个软连接
ln -s logs /home/admin/cc/logs
接下来,你就可以通过cd logs进入/home/admin/cc/logs 了
2.3 ls命令
进入指定目录后,很习惯的一件事就是用ls或者ll显示一下当前目录下的文件
实践:
ls -a 列出所有文件,包括隐藏文件
ls -l 类似ll命令,会列出详细信息
ls -t 列出的文件按时间正向排序
ls -r 列出的文件反向排序
我常常用 ls -alt 或者 ls -altr 查找最近时间变更的日志
2.4 grep命令
接下来,我们往往会用grep命令在某个日志搜索指定关键词
实践:
grep "test" d.log 在d.log中查找所有含test的行
grep "test" d* 在所有以d开头的文件中查找含test的行
grep "test" a.log b.log c.log 在a.log b.log c.log中查找含test的行
grep -e "[a-Z]\{5\}test" a.log 在a.log中查找所有以5个字母开头以test结尾的字符串的行
grep "test" d.log -3 在d.log中查所有含test的行,并显示这些行紧跟的3行
一般来说,grep会和cat more tail等命令联合用
cat *.log | grep "test" 在所有log日志中搜索包含test的行
more *.log | grep "test" 在所有log日志中逐步搜索包含test的行
tail -100 test.log | grep "test" 在test.log的最后100行搜索test的行
下面的命令是个比较实用的命令,可以统计出日志中全部的异常,并排序计算出异常出现的次数:
grep -Eo "[a-Z]+Exception" *.log|sort|uniq -c
===================update in 2015-10-11======================
排查问题所用到的一些Linux命令实践(不定期更新。。)的更多相关文章
- Linux命令(持续更新ing)
*.命令语法: a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号; b.指令太长的时候,可以使用“\”符号使指令连续到下一行; c.各种符号的意义: '' ...
- Linux命令学习<不断更新>
没有系统的学习过Linux命令,遇到了就学习一下,慢慢积累. 1.echo 命令,学习网站『https://linux.cn/article-3948-1.html』. echo单词有回声.共鸣的意思 ...
- 工作中常用的Linux命令(不断更新中)
最近工作中用到linux命令,简单总结如下: 1. pwd 查看当前所在的文件路径 2. cd 切换目录 cd .. 切换到上一级目录 3. ls 列出当前文件路径下的所有文件和文件夹 4. ll 是 ...
- Linux命令(持续更新)
1. tail 命令 tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename 会把 filename 文件里的最尾部的内 ...
- 2020-04-13:怎么在日志里排查错误,该用哪些Linux命令
能通过less命令打开文件,通过Shift+G到达文件底部,再通过?+关键字的方式来根据关键来搜索信息. 能通过grep的方式查关键字,具体用法是, grep 关键字 文件名,如果要两次在结果里查找的 ...
- 工作中常用的linux命令(持续更新)
一.top 实时动态地查看系统的整体运行情况1.在top命令后 > < 切换排序方式,根据cpu排名或者内存排名查看 2.top -p 进程pid 查看某一进程的整体运行情况 二.解压缩 ...
- 常用Linux命令(长期更新)
有些命令如果不常用,老是记不住,每每用到总还要去查,特此将一些命令记录在此: (0)按指定时间删除文件 find target_dir -type f -mtime +3 -exec rm {} \; ...
- 常用Linux命令(常年更新)
Linux后台运行脚本: nohup python -u test.py > out.log 2>&1 & nohup sh **.sh > /dev/null 2& ...
- Linux命令实践( 六)
1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@test ~]#awk -F: '{shells[$NF]++;if($ ...
随机推荐
- Ubuntu 开启SSH 以及LAMP环境安装
1. 更新 apt-get sudo apt-get update 2.安装 openssh sudo apt-get install openssh-server 3.设置root账号密码 sudo ...
- 如何解决找不到方法HttpServletRequest.getServletContext() ---- NoSuchMethodError
报错 java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getServletContext()Ljavax/serv ...
- php 语法中有 let 吗?
来源:http://stackoverflow.com/questions/9705281/with-and-let-in-php use(&$a) 用 use ($parameter) 这种 ...
- 使用for循环输出空心的菱形的思路-还是没有办法理解
之前已经成功写过一次代码,今天重新看这个题目时,一下子又没了思路,在草稿纸上比划了大概十分钟才想到实现的思路.思路跟上次实现的完全一样,发现时间长了就忘记了!真是好记性不如烂笔头,何况我这么差的记性呢 ...
- jemalloc Mongodb Nginx 优化
下载 http://www.canonware.com/jemalloc/download.html 下载 wget http://www.canonware.com/download/jemallo ...
- (简单) POJ 3268 Silver Cow Party,Dijkstra。
Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to atten ...
- OC语言的特性(二)-Block
本篇文章的主要内容 了解何谓block. 了解block的使用方法. Block 是iOS在4.0版本之后新增的程序语法. 在iOS SDK 4.0之后,Block几乎出现在所有新版的API之中,换句 ...
- 【转】聊聊HTTPS和SSL/TLS协议
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...
- ucos系统初始化及启动过程
之前在ucos多任务切换中漏掉了一个变量, OSCtxSwCtr标识系统任务切换次数 主要应该还是用在调试功能中 Ucos系统初始化函数为OSInit(),主要完成以下功能 全局变量初始化 就绪任务表 ...
- API WAVE 专栏
关于音频输入.输出设备的使用 源:API WAVE 专栏