Linux 基本操作及生产上如何定位Error日志

Linux 基本操作

  • 查看当前光标所在目录 pwd
    [root@ruozedata001 ~]# pwd
    /root
  • 切换目录 cd
    [root@ruozedata001 ~]# cd /home
    [root@ruozedata001 home]# pwd
    /home
  • 回退家目录的三种方法 cd ~ / cd / cd /root
    方法一:
    [root@ruozedata001 home]# cd ~
    [root@ruozedata001 ~]# pwd
    /root

    方法二:
    [root@ruozedata001 home]# cd
    [root@ruozedata001 ~]# pwd
    /root

    方法三:
    [root@ruozedata001 home]# cd /root
    [root@ruozedata001 ~]# pwd
    /root
  • 回退到上一次的目录 cd -
    [root@ruozedata001 ~]# cd /home
    [root@ruozedata001 home]# cd -
    /root
    [root@ruozedata001 ~]#
  • 回退到上一层的目录 cd ../
    [root@ruozedata001 ruozedata]# cd rz
    [root@ruozedata001 rz]# pwd
    /home/ruozedata/rz
    [root@ruozedata001 rz]# cd ../
    [root@ruozedata001 ruozedata]# pwd
    /home/ruozedata
  • 绝对路径与相对路径
    绝对路径:以根目录为开始,如:D:\lamp\work_space
    相对路径:不以根目录为开始,以当前光标所在的目录为开始。
  • 清空屏幕 clear
    [root@ruozedata001 rz]# clear
    [root@ruozedata001 rz]#
  • 查看当前光标所在的目录文件有哪些 ls
    [root@ruozedata001 ruozedata]# ls
    rz rz1
    [root@ruozedata001 ruozedata]# ls -l
    total 0
    drwxr-xr-x. 2 root root 6 Dec 14 00:06 rz
    drwxr-xr-x. 2 root root 6 Dec 14 00:12 rz1

    ls -l 等价于 ll
    ls -l -a 查看当前的文件/文件夹 + 隐藏文件/文件夹,等价于 ll -a

    [root@ruozedata001 ruozedata]# cd /home/ruozedata/
    [root@ruozedata001 ruozedata]# ll -a
    total 12
    drwx------. 5 ruozedata ruozedata 99 Dec 14 00:12 .
    drwxr-xr-x. 3 root root 23 Dec 10 22:52 ..
    -rw-r--r--. 1 ruozedata ruozedata 18 Oct 31 2018 .bash_logout
    -rw-r--r--. 1 ruozedata ruozedata 193 Oct 31 2018 .bash_profile
    -rw-r--r--. 1 ruozedata ruozedata 231 Oct 31 2018 .bashrc
    drwxr-xr-x. 4 ruozedata ruozedata 39 Dec 10 22:43 .mozilla
    drwxr-xr-x. 2 root root 6 Dec 14 00:06 rz
    drwxr-xr-x. 2 root root 6 Dec 14 00:12 rz1
  • 如何查询命令帮助 --help
    [root@ruozedata001 ruozedata]# ls --help
    Usage: ls [OPTION]... [FILE]...
    List information about the FILEs (the current directory by default).
    Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

    Mandatory arguments to long options are mandatory for short options too.
    -a, --all do not ignore entries starting with .
  • 创建文件夹 mkdir
    # 创建文件夹a
    mkdir a
    # -p 递归创建文件夹
    mkdir -p b/c/d
    # 同时创建多个文件夹
    mkdir 1 2 3
  • 移动和拷贝 mv -> 始终只有1份 / cp -> 原文件不动,新增一份
    [root@ruozedata001 ruozedata]# mv rz.log 1
    [root@ruozedata001 ruozedata]# ls
    1 rz rz1
    [root@ruozedata001 ruozedata]# mv rz.log rz/rz.log
    [root@ruozedata001 ruozedata]# cd rz
    [root@ruozedata001 rz]# ls
    rz.log
    [root@ruozedata001 ruozedata]# mv rz.log rz/rz.log.bak 移动+修改名称
    [root@ruozedata001 ruozedata]# cd rz
    [root@ruozedata001 rz]# ls
    rz.log.bak

    [root@ruozedata001 ruozedata]# cp rz.log rz.log.bak
    [root@ruozedata001 ruozedata]# ls
    rz rz1 rz.log rz.log.bak
    [root@ruozedata001 ruozedata]# cp rz.log rz/
    [root@ruozedata001 ruozedata]# cd rz
    [root@ruozedata001 rz]# ls
    rz.log
    [root@ruozedata001 ruozedata]# cp rz.log rz/rz.log.bak 拷贝+修改名称
    [root@ruozedata001 ruozedata]# cd rz
    [root@ruozedata001 rz]# ls
    rz.log.bak
  • 如何创建一个空文件 或者 把一个文件设置为空
    touch rz.log #如何创建一个空文件夹
    echo "" > rz.log 慎用,此方法会创建一个空字符
    cat /dev/null > rz.log 推荐使用,把一个文件设置为空
  • 查看文件内容
    cat 文件内容一下子全部显示
    more 文件内容一页一页的往下翻,按空格键往下,回退不了,按q退出
    less 文件内容 往下 往上 按上下箭头的按键 按q键退出

    使用场景:
    a.配置文件 内容较少时 cat more less
    b.log日志 内容较多时
    实时查看
    tail -300f xxx.log 实时查看倒数300行日志
    tail -300F xxx.log 没有这种用法
    tail: option used in invalid context -- 3

    tail -f xxx.log
    tail -F xxx.log -f + retry
    flume exec source 切记使用 -F

    说明:xxx.log log4j代码项目 配置输出的日志
    规则: xxx.log 保留10份 100M

    aaa-->xxx.log 99m
    xxx.log 100m

    mv xxx.log xxx.log1
    touch xxx.log 空文件
    原因:当文件被mv修改名称后,-f 会找不到文件,而 -F 会retry,直到找到文件

生产上如何定位Error日志

  • 当文件内容很小 几十兆
    上传给 windows,用 Nodepad++ 工具打开
    上传下载 yum install -y lrzsz
    sz 将选定的文件发送到本地机器
    rz 将本地文件上传到服务器

  • 文件内容很大 几百兆 2G

    [root@ruozedata001 ~]# cat app.log | grep ERROR
    12ERROR:RuntimeExcepetion....

缺点 ERROR 上下文不清楚

  1. 查看ERROR行的前10行日志
    [root@ruozedata001 ~]# cat app.log | grep -B 10 ERROR
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12ERROR:RuntimeExcepetion....
  2. 查看ERROR行的后10行日志
    [root@ruozedata001 ~]# cat app.log | grep -A 10 ERROR
    12ERROR:RuntimeExcepetion....
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
  3. 查看ERROR行的前后各10行日志(20行)
    [root@ruozedata001 ~]# cat app.log | grep -C 10 ERROR
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12ERROR:RuntimeExcepetion....
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
Author: Red
Link: http://yoursite.com/2018/09/03/archives/linux/linux-1/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.