find /opt/ylbzj/renkoudata/ -name "cbry_child*.txt"|xargs grep 130982199906081155
du -h --max-depth=1 2>/dev/null | sort -hr
netstat -ntlp|grep 8823
rpm -qa|grep epel
简单替换
sed -i 's/原字符串/新字符串/g' /home/1.txt
批量替换(grep '需要替换的字符' -rl 路径|xargs sed -i 's/原始字符/新字符/g')
mac替换命令如下,需要增加一个空字符,空字符表示不备份文件,如果为其他值表示将源文件备份为引号中的文件名
sed -i "" 's/shardkey=auther_no//g' *
grep '123456:8089' -rl . |xargs sed -i 's/123456/111.63.208.5/g'
打印passwd的3到10行
sed -n '3,10'p passwd
打印passwd 中包含 ‘root’ 的行
sed -n '/root/'p passwd
删除passwd 的15行以及以后所有行
sed '15,$'d passwd
删除passwd中包含 ‘bash’ 的行
sed '/bash/'d passwd
替换passwd 中 ‘root’ 为 ‘toor’
sed 's/root/toor/g' passwd
替换passwd中 ‘/sbin/nologin’ 为 ‘/bin/login’
sed 's#sbin/nologin#bin/login#g' passwd
删除passwd中5到10行中所有的数字
sed '5,10s/[0-9]//g' passwd
删除passwd 中所有特殊字符(除了数字以及大小写字母)
sed 's/[^0-9a-zA-Z]//g' passwd
把passwd中第一个单词和最后一个单词调换位置
sed 's/\(^[a-zA-Z][a-zA-Z]*\)\([^a-zA-Z].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)/\4\2\3\1/' passwd
把passwd中出现的第一个数字和最后一个单词替换位置
sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)#\1\5\3\4\2#' passwd
把passwd 中第一个数字移动到行末尾
sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*$\)#\1\3\2#' passwd
在passwd 20行到末行最前面加 ‘aaa:’
sed 's/^.*$/&aaa/' passwd
wc -l 文件名
- 网络抓包命令 抓tcp的80端口输出到 captcha22.cap
tcpdump -tttt -s0 -X -vv tcp port 80 -w captcha22.cap
## 不区分大小写列出内容和文件
find .|xargs grep -ri '特定内容'
## 只列出文件
find .|xargs grep -ril '特定内容'
## 查找文件和文件夹 / 可替换为特定目录 如:/opt
find / -name 'filename'
## 查找文件夹
find / -name 'path' -type d
## 查找文件
find / -name 'fileName' -type f
##查找20天之前有修改的文件 ,后面增加 |xargs rm -rf 将会删除所有检索到的文件
find / -mtime +20
grep "INSERT INTO" db.sql -o |wc -l
// tail -n + 从第N行开始检索,head -n 取前N行
cat log.txt|tail -n +1000|head -n 20
-c 代表cpu状态 -x 查看设备使用率%util、响应时间await -k 查看吞吐量,一般-x就够用了
iostat -x -k -c 2 10
jstat -gcutil pid 间隔 次数
例子
jstat -gcutil 56592 1000 100
## 打印堆栈信息
jstack 126919
## -F 后面跟分割符,NR 表示打印行号, $n 表示打印第N列
awk -Fpartition '{print NR $2}'
## 打印第二行第二列
awk -Fpartition 'NR==2{print NR $2}'
## 打印最后一行
awk -Fpartition 'END{print}'
##满足计算列,并输出全部内容
cat log-2023-04-23.log|grep "queryById" |awk -F "|" '$9>10000 {print}'
##某些情况下计算列并不完全是数字,需要做预处理才能进行筛选,比如说结果为`2350,result`,先使用gsub替换,然后再做比较
cat log-2023-04-23.log|awk -F "=" ' { gsub(/,result/,"");print}'|awk -F "=" '$2>1000 {print}'
## 通过awk计算接口的访问次数以及平均耗时,总体思路是搞两个数组键是接口名称,值分别是访问次数和总时间,再计算平均
grep "请求地址" /opt/ylbzj/logs/log-2024-01-05.log |awk -F "&" '{ fruit[$2] += 1}{ fruits[$2] += $4 } END { for (f in fruit) print f, fruit[f],fruits[f],fruits[f]/fruit[f] }'
## 通过awk单独计算字符的出现次数,类似于distinct
grep "/url/path" access.log |awk '{ fruit[$7] += 1} END { for (f in fruit) print f, fruit[f] }'
## 强拉本地仓库,用于解决一些莫名其妙拉不到包的情况
mvn dependency:purge-local-repository
- 从binlog中筛选某段时间的执行记录,并指定库名,最好加上grep方便定位具体内容
./mysqlbinlog --base64-output=decode-rows -vv -d waring_center --start-datetime='2023-09-02 08:29:01' --stop-datetime='2023-09-02 08:32:01' /opt/ylbzj/mysql/data/mysql-bin.000042 |grep UPDATE
\U转化为大写,\L转化为小写,后面跟对应字符或捕获组即可
sar -n DEV 1 100