一、前言

线上问题排查可能是每个程序员都会经历的。在排查的过程中,往往会用到很多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命令实践(不定期更新。。)的更多相关文章

  1. Linux命令(持续更新ing)

    *.命令语法:  a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号;  b.指令太长的时候,可以使用“\”符号使指令连续到下一行;  c.各种符号的意义:    ''     ...

  2. Linux命令学习<不断更新>

    没有系统的学习过Linux命令,遇到了就学习一下,慢慢积累. 1.echo 命令,学习网站『https://linux.cn/article-3948-1.html』. echo单词有回声.共鸣的意思 ...

  3. 工作中常用的Linux命令(不断更新中)

    最近工作中用到linux命令,简单总结如下: 1. pwd 查看当前所在的文件路径 2. cd 切换目录 cd .. 切换到上一级目录 3. ls 列出当前文件路径下的所有文件和文件夹 4. ll 是 ...

  4. Linux命令(持续更新)

    1. tail 命令    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail  -f  filename 会把 filename 文件里的最尾部的内 ...

  5. 2020-04-13:怎么在日志里排查错误,该用哪些Linux命令

    能通过less命令打开文件,通过Shift+G到达文件底部,再通过?+关键字的方式来根据关键来搜索信息. 能通过grep的方式查关键字,具体用法是, grep 关键字 文件名,如果要两次在结果里查找的 ...

  6. 工作中常用的linux命令(持续更新)

    一.top 实时动态地查看系统的整体运行情况1.在top命令后 > < 切换排序方式,根据cpu排名或者内存排名查看 2.top -p 进程pid 查看某一进程的整体运行情况 二.解压缩 ...

  7. 常用Linux命令(长期更新)

    有些命令如果不常用,老是记不住,每每用到总还要去查,特此将一些命令记录在此: (0)按指定时间删除文件 find target_dir -type f -mtime +3 -exec rm {} \; ...

  8. 常用Linux命令(常年更新)

    Linux后台运行脚本: nohup python -u test.py > out.log 2>&1 & nohup sh **.sh > /dev/null 2& ...

  9. Linux命令实践( 六)

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@test ~]#awk -F: '{shells[$NF]++;if($ ...

随机推荐

  1. Android---Parcelable包装类的作用

    android提供了一种新的类型:Parcel.本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递. 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel ...

  2. python自动发邮件总结及实例说明

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...

  3. Trim(',')的作用去除最有一个','

    public bool XMLDataImport()        { List<string> sqllist = new List<string>();          ...

  4. Android Studio:Gradle DSL method not found: 'runProguard()'

    Android Studio发布了新的1.0版,更新之后却发现原来在0.8下面正常的项目编译失败了,从报错上来看是卡在gradle上面. Gradle DSL method not found: 'r ...

  5. 10个带源码的充满活力的Web设计教程

    10个带源码的充满活力的Web设计教程 2013-08-02 16:47 佚名 OSCHINA编译 我要评论(0) 字号:T | T Web设计师必须了解各种各样的Web设计风格,这才能让他或者她在设 ...

  6. 用C语言写一个“事件”的模拟程序

    源:用C语言写一个“事件”的模拟程序 Example.c //定义一个函数指针 func int (*func) (void); //调用该函数相当于触发了事件. //该事件触发后,会检查函数指针fu ...

  7. java 自动备份MySQL 数据库(转载)

    1 package com.learn4j.bat; public class Backup { private String user_name;// 数据库用户名 private String u ...

  8. camstar --飞达上料

    业务场景:某工厂的SMT车间接到生产PCB(3151502),数量1000片.如果实现飞达进行上料,并在贴片机工作时,系统自动进行物料消耗.3151502的BOM为1107790,1107792,11 ...

  9. js extend的实现

    var obj = { a: "aaaaaa" }; var obj1 = { b: "bbbbbb" }; Object.extend = function ...

  10. uWSGI参考资料(1.0版本的配置选项列表)

    Reference: http://blog.csdn.net/kevin6216/article/details/15378617 uWSGI参考资料(1.0版本的配置选项列表) 下面的内容包含了大 ...