Linux指令学习
Linux体系结构
用户态(用户的上层活动)
内核态(管理计算器硬件设备的程序)
内核访问接口:系统调用,是一种最简化的操作。
公共库函数:系统调用的组合
Shell:命令解释器,可编程
指令学习
如何查找一个文件、
find / -name ‘*.java’ 查询java文件
find / | grep java
检索文件内容
grep ‘xxxx’ filename 在file中查询xxx的内容
grep -o ‘xxx’ 包含某条指令的程序
grep -v ‘grep’ 过滤掉包含某条指令的内容
grep可以配合管道符使用 例如查询java进程 ps -ef | grep java | grep -v ‘grep’
find ~ | grep java 查询home下的所有java名称的文件
对文件内容做统计
awk ‘{print $1,$4}’ netstat.txt
awk ‘$1==“tcp”&& $2==“1” {print $0}’ netstat.txt
awk ‘{enginearr[$1++]} END {for(i in enginearr) print i “\t” enginearr[i]}’
awk 默认分隔符为空格 可以使用-F改变过来符号
awk -F “,” {print $1}
批量替换文档内容
sed指令替换字符串,默认只打印到控制到 要修改文件内容需要加-i指令
sed -i s/^Str/String/ test.java 将开头为str替换成String
sed -i s/.$/;/ test.java 将结尾为. 替换成分号(;)
sed -i s/jack/me/g 替换文件中的jack为me 最后的g表示一行中语法多个jack都会替换 否则只会替换匹配到的第一个jack
sed -i /^ *&/d text.java 将开头和结尾中的空行 全部删除
sed -i /Integer/d text.java 删除包含Integer的行