Linux面试必备
1.Linux的体系结构
- 体系结构主要分为用户态(用户上层活动)和内核态
- 内核:主要是一段计算机管理计算机硬件设备的程序
- 系统调用:内核的访问接口,是一种能再简化的操作
- 公用函数库:系统调用的组合拳
- shell:命令解释器,可编程
2.如何查找特定的文件(find)
语法 :find path [options] params
作用:在指定目录下查找文件
精确查找:
当前目录下查找:find -name "文件名"
全局查找:find / -name "文件名"
模糊查找:find ~ -name "名字*"
忽略大小写查找:find ~ -iname "名字*"
3.检索文件内容(grep)
语法:grep [options] pattern file
全称:Global Regular Expression Print
作用:查找文件里符合条件的字符串,只筛选出筛选出目标数据所在行数据
用法:
grep "目标内容” 文件名
grep "目标内容" 没有指定文件查找,会从当前的标准输入中去获取数据
grep -o “正则表达式” 筛选匹配内容
grep -v “内容” 过滤指定内容
管道操作符 |
可将指令连接起来,前一个指令的输出作为后一个指令的输入
使用管道注意的要点
- 只处理前一个命令正确输出,不处理错误输出
- 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃
- sed,awk,cut,head,top,less,more,wc,join,sort,split等支持管道,才能使用
筛选出包含partial[true]的行,再利用管道传递筛选出指定文本
查找JAVA进程:ps -ef|grep java
4.对文件内容做统计(awk)
语法:awk [options] 'cmd' file
作用:
- 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
- 将切片直接保存在内建的变量中,$1,$2…($0表示行的全部)
- 支持对单个切片的判断,支持循环判断,默认分隔符为空格
简单使用
进阶使用
按照逗号分隔输出:-F以什么符合为分隔符
统计,先定义数组,数据作为下标,遍历打印结果
5.批量替换文本内容(sed)
语法:sed [option] ' sed command' filename
全名:stream editor,流编辑器
作用:适合用于对文本的行内容进行处理
批量替换文本:sed -i 's/被替换文本/替换文本/g’ 文件名,例如:sed -i 's/^xiaolin/dalin/' replcae.java(i表示对文本修改,g表示全部替换)
删除指定文本:sed -i '/文本/d' 文件名,例如:sed -i '/xiaolin/d' replcae.java