仅作为面试知识点记录,具体课程请在慕课网搜索剑指Java面试-Offer直通车
文章目录
Linux知识考点
Linux
- 体系结构主要分为用户态(用户上层活动)和内核态
- 内核:本质是一段管理计算机硬件设备的程序
- 系统调用:内核的访问接口,是一种能再简化的操作
- Shell:命令解释器,可编程
如何查找特定的文件
find
find path [options] params
- 作用:在指定目录下查找文件
面试里常用的方式
- find ~ -name "文件名 : 精确查找文件
- find ~ -name “文件名前缀*” : 模糊查找文件
- find ~ -iname “文件名前缀*” :不区分文件名大小写去查找文件
- man find :更多关于find指令的使用说明
检索文件内容
grep
grep [opetions] pattern file
- 全称:Global Regular Expression Print
- 作用:查找文件里符合条件的字符串
管道操作符 |
- 可将指令连接起来,前一个指令的输出作为后一个指令的输入
使用管道注意的要点
- 只处理前一个命令正确输出,不处理错误输出
- 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃
- sed, awk, grep, cut, head, top, less, more, wc, join, sort, split等
面试里常用的方式
- grep ‘字符串’ filename 在文件中查找包含字符串的行内容
- grep -o ‘[0-9a-z]’ 筛选出符合正则表达式的内容
- grep -v ‘字符串’ 过滤包含字符串的内容
对文件内容做统计
awk
awk [options] 'cmd' file
- 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
- 将切片直接保存在内建的变量中,$1$2…($0表示行的全部)
- 支持对单个切片的判断,支持循环判断,默认分隔符为空格
面试里常用的方式
- awk ‘{print $1, $4}’ filename 筛选文件中某些列的数据
- awk ‘$1 == “tcp” && $2 == 1 {print $0}’ filename 限制一些条件筛选文件中某些列的数据
- awk ‘{enginearr[$1]++}END{for(i in enginearr)print i"\t" engainearr[i]}’ 对内容逐行做统计操作,并列出统计结果
批量替换文件内容
sed
sed [option] 'sed command' filename
- 全名stream editor,流编辑器
- 适合用于对文本的行内容进行处理
面试里常用的方式
- sed -i ‘s/^Str/String’ filename s代表进行字符串修改 ^Str代表以Str开头的字符串 String代表修改之后的字符串
- sed -i ‘s/\.$/\;’ filename \.$代表以.结尾
- sed -i ‘s/Jack/me/g’ filename /g代表全文替换