Linux知识考点

5-1 Linux的体系结构 5-2 查找特定文件 5-3 检索文件内容 5-4 对日志内容做统计 5-5 批量替换文件内容

5-1 Linux的体系结构

Linux 的体系结构

  • 体系结构主要分为用户态(用户上层活动)和内核态
  • 内核:本质是一段管理计算机硬件设备的程序
  • 系统调用:内核的访问接口,是一种不能再简化的操作
  • 公用函数库:系统调用的组合拳
  • shell:命令解释器,可编程

5-2 查找特定文件

  • find
    find path[options] params
    
    • 作用:在指定目录下查找文件
  • 面试常用方式
    • find ~ -name "target3.java" :精准查找文件
    • find ~ -name "target*" :模糊查找文件
    • find ~ -iname "target3.java" :不区分文件名大小写去查找文件
    • man find :更多关于 find 指令的使用说明

5-3 检索文件内容

  • grep
    grep [options] pattern file
    
    • 全称:Global Regular Expression Print
    • 作用:在指定目录下查找文件
  • 管道操作符 |
    • 可将指令连接起来,前一个指令的输出作为后一个指令的输入
    • 只处理前一个命令正确输出,不处理错误输出
    • 右边的命令必须能接收标准输入流,否则传递过程中数据会被抛弃
  • 面试常用方法
    • grep 'partial[true]' bsc-plat-al-data.info.log
    • grep -o 'engine[[0-9a-z]*]'
    • grep -v 'grep'

5-4 对日志内容做统计

  • awk
    awk [options] 'cmd' file
    
    • 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
    • 将切片直接保存在内建的变量中,$1,$2...($0表示行的全部)
    • 支持对单个切片的判断,支持循环判断,默认分隔符为空格
  • 面试里常用的方法
    • awk '{print $1,$4}' netstat.txt
    • awk '$1=="tcp"&&$2==1{print $0}' netstat.txt
    • awk '{enginearr[$1]++ END {for(i in enfinearr)print i "\t" enginearr[i]'

5-5 批量替换文件内容

  • sed
    sed [option] 'sed command' filename
    
    • 全名 stream editor,流编辑器
    • 适合用于对文本的行内容进行处理
  • 面试里常用方法

    以Str开头替换为String开头

    • sed -i 's/^Str/String/' replace.java

    以.结尾替换为以分号结尾

    • sed -i 's/.$/;/' replace.java

    全文中出现的Jack用me代替

    • sed -i 's/Jack/me/g' replace.java
Comment