1.如何找到特定的文件?
find
语法:find path [options] params
如: find / -name test.java
从/目录开始递归查询,如果要充home目录,则将/改为~既可
find ~ -iname test.*
从home目录递归查找,忽略大小写,查询以test.开头的文件
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
find作用:
- 1.在指定目录下查找文件
和find有区别,which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
2.检索文件内容
grep
(全称:Global Regular Expression Print)
语法: grep [options] pattern file
grep作用:
- 1.查找文件里符合条件的字符串
| 作用
(管道操作符,用于接收和传递上个指令的正确输出结果)
1.只处理前一个命令的正确输出,不处理错误输出
2.右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃
常用的方式:
- grep 'xxx' demo.log 从demo.log文件里筛选出包含xxx的行
- grep -o 'xxx' 筛选出xxx的内容
- grep -v 'grep' 排除掉grep的内容
3.对文件内容做统计
awk
语法: awk [options] 'cmd' file
awk作用:
- 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分
- 将切片直接保存在内建的变量中,$1,$2...($0表示行的全部)
- 支持对单个切片的判断,支持循环判断,默认分隔符为空格
如:
awk '{print $1,$4}' netstat.txt
该命令是对netstat.txt文件的列进行切片, 并打印输出第一列和第四列的内容(默认按照空格分隔,也可以通过指定命令如 awk -F "," '{print $2}' test.txt 其中-F是以什么来分隔的)
常用的方式:
-
awk '{print $1,$4}' netstat.txt
筛选出文件里的数据 -
awk '$1=="tcp" && $2==1{print $0}' netstat.txt
从文件里按照一定的条件筛选数据 -
awk'{arryname[$1]++} END {for (i in arryname} print i "\t" arryname[i]'
对数据进行统计
4.批量替换文件内容
sed:
(全称:stream editor,流编辑器)
语法:sed [options] 'sed command' filename
sed作用:
- 更适合对文件编辑
常用的方式:
-
sed -i 's/^Str/String/' demo1.java
替换掉以Str开头的内容,替换为String,加-i是将替换完后的文件覆盖源文件 -
sed -i 's/.$/;/' demo1.java
筛选出.号结尾的行,并将.号替换成; 其前的\均为转义字符 -
sed -i '是/Jack/me/g' demo.java
筛选出包含Jack的行,并将该字符串替换成me, 在最后加了g后,对整行内容全部替换,不加则只替换一次
加s是表明对字符串做操作 -
sed -i '/^ *$/d' demo1.java
删除空格行 末尾的d是删除作用
![](https://img.haomeiwen.com/i6455343/de23f927595d3c15.png)
vmstat
![](https://img.haomeiwen.com/i6455343/ae22a5536955b97d.png)
![](https://img.haomeiwen.com/i6455343/6b44ea730a479ec0.png)
![](https://img.haomeiwen.com/i6455343/1f33c393218026cb.png)
排查步骤:
![](https://img.haomeiwen.com/i6455343/16dedcc8fddd65ac.png)
![](https://img.haomeiwen.com/i6455343/eee8504c5a3e1a72.png)
![](https://img.haomeiwen.com/i6455343/ccb5a2855da4ca06.png)
![](https://img.haomeiwen.com/i6455343/3533ddc4c69c080f.png)
![](https://img.haomeiwen.com/i6455343/f44861dc3c1dac47.png)
常用命令
nohup 命令 &
kill -s 9 pid(进程id)
ps -aux | grep xxx
查看端口占用:
netstat -apn | grep 80
或
lsof -i:80
![](https://img.haomeiwen.com/i6455343/1284546c1a1dac05.png)
ps:
查看一个文件中带有aa的行有多少行?
cat "test.txt" | grep aa | wc -l
wc解释
网友评论