Linux的体系结构
- 体系结构主要分为用户态(用户上层活动)和内核态
- 内核:本质是一段管理计算机硬件设备的程序
- 系统调用:内核的访问接口,是一种能不再简化的操作
- 公用函数库:系统调用的组合拳
如何查找特定的文件
语法 find path [options] params
-
find ~ -name "yzy.java" #精确查找文件
-
find ~ -name "yzy.*" #模糊查找文件
-
find ~ -iname "target*" #不区分文件名大小写查找
-
man find #查找关于find指令的使用说明
检索文件内容
语法:grep [options] parttern file
作用:查找文件里符合条件的字符串,并把匹配的行打印出来
管道操作符 |
作用:可将指令连接起来,前一个指令的输出作为后一个指令的输入
-
#再yzy.log找出有yzy[true]的行,由于[]是特殊字符需要转义 grep "yzy[true]" yzy.log
-
#找出形如engine[[0-9a-z]]的数据,并输出 grep -o "engine[[0-9a-z]]"
-
#将输入的信息过滤掉“grep”并输出 grep -v "grep"
对文件内容做统计
语法:awk [options] 'cmd' file
-
一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
-
将切片直接保存在内建的变量中,$1,$2...($0表示行的全部)
-
支持对单个切片的判断,支持循环判断,默认分隔符为空格
示例文本(yzy.java):
id name username password
1 yzy yzynb 123
2 hhh hhhnb 321
1 haha hahanb 321
awk '{print $1}' yzy.java #返回第一列的数据
id
1
2
1
-
awk '{print $1,$4}' yzy.java #返回第一列和第四列的数据
-
awk '$1=="1"{print$0}' yzy.java #返回第一列等于1的数据
-
#统计第一列各值出现的次数 awk '{arr[$1]++} END {for(i in arr){print i" "arr[i]}}' yzy.java
结果:
1 2 id 1 2 1
批量替换文本内容
语法:sed [option] 'sed command' filename
作用:适合用于对文本的行内容进行处理
-
#将以Str开头的每行,修改为String开头 sed -i 's/^Str/String/' replace.java
-
#将以.结尾的每行,修改为以;结尾 sed -i 's/.$/;/' replace.java
-
#全文搜索将python替换成java,若是不加g,则每行只会替换第一个匹配的字符串 sed -i 's/python/java/g' replace.java