5-1 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