排查问题所用到的一些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($ ...
随机推荐
- 笔记:利用Cocos2dx 3.3 lua 做一个动作类游戏(一)
在这之前,声明一下: 做不完我是小狗. 没办法,没毅力和恒心,之前的那个Quick Cocos2dx做的横版过关游戏的demo已经转成了3.3的版本了,其实也算是个半成品,战斗,UI啥的都有了,呵呵. ...
- 修改非空表字段类型Oracle
执行以下语句报"要修改数据类型,则要更改的列必须为空" alter table 表名 modify (目标字段 varchar2(100)); 解决步骤: 第一步,在表 ...
- BNU OJ 50999 BQG's Approaching Deadline
#include<cstdio> #include<algorithm> using namespace std; +; struct Homework { long long ...
- Ajax 下拉加载数据
$(document).scroll(function() { var pageHeight = $(document).height()-$(window).height(); var bodySc ...
- ZOJ 3941 Kpop Music Party
先把能合并的区间都合并起来. 考虑最裸的贪心策略,从左到右一段一段的取. 但是,这样会有错,错在没有考虑每段区间选取最后一个点. 因为N只有10,所以枚举一下哪些区间最后一个点会被选择,然后按照最裸的 ...
- Git GitHub的使用
Git的工作区示意 GIT总结 使用git github也一段时间突然发现还是少了一些总结,那就从这儿开始吧! (1)git的配置,这儿就从单独的安装配置开始 安装:sudo yum install ...
- tcpdump的表达元
(nt: True 在以下的描述中含义为: 相应条件表达式中只含有以下所列的一个特定表达元, 此时表达式为真, 即条件得到满足) dst host host如果IPv4/v6 数据包的目的域是host ...
- Shell实例----------从文件夹里面多个文件里面查找指定内容
脚本执行方式:脚本名称 目录的路径 要查找的内容 #!/bin/bash num=`ls $1 |tr ' ' '^$'|wc -l` for i in `seq 1 $num` do file_n ...
- Part of Speech Tagging
Natural Language Processing with Python Charpter 6.1 suffix_fdist处代码稍微改动. import nltk from nltk.corp ...
- ARM-LINUX学习笔记-1
安装完linux之后记得系统更新,更新使用apt命令,如下(记得使用之前使用sudo -i 指令切换到root用户模式) apt-get update 更新系统软件源,相当于查找更新 apt-get ...