Linux操作文件和定位错误

置空文件的一些坑

  1. 最简单的是直接创建一个空文件:

    [root@aliyun var]# touch test.txt | ll test.txt
    -rw-r--r-- 1 root root 0 Nov 11 22:29 test.txt
    [root@aliyun var]#
  2. 慎用 echo "" > test.txt 这种方式置空文件

    如果我们使用这种方法置空文件

    [root@aliyun var]# echo "" > test.txt
    [root@aliyun var]# ll -h test.txt
    -rw-r--r-- 1 root root 1 Nov 11 22:31 test.txt

    它不是绝对意义上的为空,文件占有一个字节的大小

  3. 可以更换为cat /dev/null > test.txt 这种方式置空文件

    [root@aliyun var]# cat /dev/null > test.txt | ll -h test.txt
    -rw-r--r-- 1 root root 0 Nov 11 22:34 test.txt

    真正意义上把文件置空为0个字节

如何定位ERROR

  • 文件内容很小 几十兆
    上传给windows,用editplus工具打开,在editplus中搜索,定位

    上传下载 yum install -y lrzsz

  • 文件内容很大 至少几百兆

    直接定位到ERROR

    [root@aliyun var]# cat test.log | grep ERROR
    10 ERROR : 模拟错误

使用grep定位REEOR上下文

  1. 查看ERROR行的前十行(before

    [root@aliyun var]# cat test.log | grep -B 10 ERROR
    1
    2
    3
    4
    5
    6
    7
    8
    9
    9
    10 ERROR : 模拟错误
  2. 查看ERROR行的后十行(after

    [root@aliyun var]# cat test.log | grep -A 10 ERROR
    10 ERROR : 模拟错误
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
  3. 查看ERROR行的前后二十行

    [root@aliyun var]# cat test.log | grep -C 10 ERROR
    1
    2
    3
    4
    5
    6
    7
    8
    9
    9
    10 ERROR : 模拟错误
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
Author: Tunan
Link: http://yerias.github.io/2018/09/18/linux/1/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.