Linux面试知识考点
Linux面试知识考点
一 Linux的体系结构
- 体系结构主要分为用户态(用户上层活动和内核态
- 内核:本质是一端管理计算机硬件设备的程序
- 系统调用:内核的访问接口,是一种能再简化的额操作
- 公共函数库:系统调用的组合拳
- Shell:命令解释器,可编程
二 如何查找特定的文件
2.1 find指令
- 语法 ``findpath [option] params`
- 作用:在指定目录下查找文件
精准查询,例如:在当前文件下查找:find -name "文件名"
返回当前文件夹的根目录查找:find / -name "文件名"
模糊查询,含有指定字符xxx的文件:find ~ -name "xxx*"
忽略大小写指定字符xxx的文件:find ~ -iname "xxx*"
man find:更多关于find指令的使用说明
三 检索文件内容
3.1 grep指令
- 语法:
grep [options] pattern file
- 全称:Global Regular Expression Print
- 作用:查找文件里符合条件的字符串
例如:在文件text1.txt中查找含有zpf的字符串 grep "zpf" text*
3.2 管道操作符 |
-
可将指令连接起来,前一个指令的输出作为后一个指令的输入
例如:返回更目录查找:
find ~ | grep "a.txt"
-
使用管道注意的要点
- 只处理前一个命令正确输出,不处理错误输出
- 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃
- sed,awk,cut,head,top,less,more,wc,join,sort,split等
3.3 面试里常用的方式
- 查找包含某个字段的相关行
grep ‘partial \ [true \ ]’ bsc-plat-al-data.info.log
- 筛选出符合正则表达式的内容
grep -o 'engine \ [[0-9a-z]* \ ]'
- 过滤包含字符串的内容
grep -v 'grep'
四 对文件内容做统计
4.1 awk指令
- 语法:
awk [options] 'cmd' file
- 作用:
- 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
- 将切片直接保存在内建的变量中,$1,$2…($0表示行的全部)
- 支持对单个切片的判断,支持循环判断,默认分隔符为空格
4.2 面试里常用的方式
- 筛选文件中某几列的数据
awk ‘{print $1,$3}’ a.txt
- 依据条=条件筛选文件内容某些列的数据
awk '$1=="udp" && $2==1 {print $0}' c.txt
- 对内容逐行进行统计操作,并列出对应的统计结果
五 批量替换文本内容
4.1 sed指令
- 语法:
sed [option] ' sed command' filename
- 全称:Stream editor,流编辑器
- 作用:适合用于对文本的行内容进行处理
4.2 面试里常用的方式
-
筛选出以Str开头的行,并将Str替换成String,加入-i为了在目标文本中进行修改
sed -i 's^Str/String/' replcae.java
-
筛选出以.点号结尾的行,并替换为;分号
sed -i 's/ \ .$/ \;/' replace.java
-
筛选出行Jack的行,并替换为me,g是对整行所有的jack进行替换,没有则只替换首个jack
sed -i's/Jack/me/g' replace.java
-
把文本中空行删除
sed -i '/^ *$/d' replcae.java