Linux问题总结

你如何查看日志,做分析的? #

  • grep 命令 一个强大的文本搜索工具

    如:

    grep "hello" file.txt        # 在 file.txt 中查找 "hello"
    grep "hello" *.txt 
    

    常用选项

    选项 说明
    -i 忽略大小写
    -v 反向匹配(显示不包含模式的行)
    -n 显示匹配行的行号
    -c 统计匹配的行数
    -r-R 递归搜索目录
    -w 匹配整个单词
  • tail -f 是 Linux/Unix 系统中用于实时查看文件末尾内容的命令,常用于监控日志文件的更新。

    tail -f [选项] [文件]
    
    tail -f /var/log/syslog       # 实时查看 syslog 日志
    tail -f /var/log/nginx/access.log  # 监控 Nginx 访问日志
    

    常用选项

    选项 说明
    -f 实时跟踪文件变化(默认显示最后 10 行)
    -n [NUM] 指定显示的行数(如 -n 20 显示最后 20 行)
  • less 是一个功能强大的文件查看工具

    less /var/log/syslog      # 查看系统日志
    less -N access.log        # 显示行号
    

    搜索内容

    快捷键 功能
    /关键词 向下搜索(按 n 跳转到下一个匹配项)
    ?关键词 向上搜索(按 N 跳转到上一个匹配项)
    n 跳到下一个匹配结果
    N 跳到上一个匹配结果

    跳转位置

    快捷键 功能
    g 跳到文件开头
    G 跳到文件末尾
    10g 跳到第 10 行
    50% 跳到文件 50% 位置

    浏览文件

    快捷键 功能
    空格Page Down 向下翻一页
    bPage Up 向上翻一页
    Enter 向下翻一行
    向上翻一行
  • wc 用于统计文件或输入流的行数、单词数、字节数的命令

    wc [选项] [文件...]
    wc file.txt
    

    常用选项

    选项 功能
    -l 只统计行数
    -w 只统计单词数(以空格分隔)
    -c 只统计字节数
  • sort 用于对文本文件或输入流进行排序的命令。

    sort [选项] [文件]
    
    sort file.txt            # 按字母顺序排序
    sort -r file.txt         # 反向排序(Z-A)
    sort -n numbers.txt      # 按数值大小排序
    

    常用选项

    选项 描述
    -n 按数值大小排序
    -r 反向排序(降序)
    -k n 按第 n 列排序
    -t c 指定列分隔符为字符 c
    -u 去除重复行
    -f 忽略大小写
    -b 忽略行首空白字符
    -o 文件 将结果输出到指定文件
  • uniq 用于过滤或统计连续重复行的命令

    uniq [选项] [输入文件 [输出文件]]
    
    sort file.txt | uniq      # 先排序再去重
    uniq sorted.txt           # 直接处理已排序文件
    sort file.txt | uniq -c   # 显示每行出现次数
    

    常用选项

    选项 描述
    -c 在每行前显示重复次数
    -d 仅显示重复的行
    -u 仅显示不重复的行
    -i 忽略大小写
    -f N 跳过前 N 个字段的比较
    -s N 跳过前 N 个字符的比较
  • awk 是一种强大的文本处理工具和编程语言,特别适合处理结构化文本数据(如日志、CSV等)。