问:linux的体系结构?
体系结构主要分为用户态(用户上层活动)和内核态
内核:本质是一段管理计算机硬件设备的程序
系统调用:内核的访问接口,是一种能再简化的操作
公用函数库:系统调用的组合拳
Shell:命令解释器,可编程
#查看内核 uname -a #查看系统调用列表 man 2 syscalls #查看系统调用说明 man 2 acct #man 2 系统调用 3 是公共库函数
常用指令:ls less more cat vi vim……(ps:vim比vi高级,可以多级撤销,语法高亮,跨平台,而且完全兼容vi)
问:如何查找特定文件
find path [options] params 再当前目录下查找文件
模糊查找
大小写匹配
其他用法 查询 man find
问:如何检索文件内容?
grep (Global Regular Expression Print) 查找文件里符合条件的字符串并打印出相应行
管道操作符 |
可以将指令连接起来 将前一个指令的结果作为输入传入下一个指令
ps:1.只处理前一个命令的正确输出,不处理错误输出。
2.右边的命令必须能够接受标准输入流,否则传递过程中数据会被抛弃
3.常用支持管道的命令:sed,awk,grep,cut,head,top,less,more,wc,join,sort,split等
实例:
查询日志中 partial为ture的数据的engine字段
grep 'partial\[true\]' xxx.log 查找包含字符串的行
grep -o 'enging\[[0-9a-z]*\]' 查找行中想要的字段
grep -v 可以过滤到grep自身指令
问:如何对文件内容做统计?
awk
- 一次读取一行文本,按输入分隔符好进行切片,切成多个组合部分
- 将切片直接保存在内建的变量中,$1$2…($0表示行的全部)
- 支持单个切片的判断,支持循环判断,默认分隔符是空格
实例:
显示第一列等于tcp和第二列值为1的行
显示表头行
分隔符
配合grep 统计数据
分析:自己看图吧
问:如何批量替换文本内容?
sed 注意加入 -i 才保存
实例:
替换Str string
点号替换成分号
首个替换和全局替换 /g
删除空行
删除Integer行