【服务端工具包】linux实用命令
查找,搜索
看一个文件行数:
wc -l xxx.txt
先搜索内容或再看出现次数:
$>grep 'abc' a.txt
a
a
a
$>grep 'abc' a.txt |wc -l
3
看最近60分钟内修改过的文件
find . -cmin -60
删除7天之前修改过的文件
find -type f . -mtime +7 -exec rm -rf {} \;
在当前目录下查找内容包含AI的文件,打印该行 (有用!)
find . -type f -name "*" | xargs grep "AI"
批量处理
把文件夹下.MOV批量替换为.mp4
for i in *.MOV;do mv $i ${i%.*}.mp4;done
根据逗号对abc文件的每一行进行split,然后按照第二列进行排序,结果输出到abc-sort中
awk -F, '{print $1}' abc | sort -n -k 2 -t: -r > abc-sort
sort命令解释:-n 是按照数字排序-k 是按照第二列排-t: 是以:为分隔符-r 是倒叙
git查看本次需要提交中变更的内容
git diff master HEAD --stat | awk '{printf "%s\n",$1}' |grep domain | awk -F'/' '{printf "%s\n",$NF}' | sort
该命令作用是把 biz.properties文件中的dubbo_provider_version=1.0.0 替换为dubbo_provider_version=1.0.0-pre
sed -i -e 's/^dubbo_provider_version=.*[^e]$/&-pre/' /home/wuji/webroot-xxx/WEB-INF/classes/biz.properties
替换的格式为 sed -e ’s/abc/def’ file.txt 把abc替换为def。其中第一部分的正则在第二部分可以被&取到。注意取到的是从dubbo开头的全部,而不是.*部分,这是正则表达式的知识。
运维
看机器的外网ip
curl ifconfig.me
top
top -H -p xxx 看某个pid进程的所有线程占用情况。可以根据里面的pid(线程id)转为16进制再到java的jstack里面对比 找出是哪个线程的问题
系统运行状况监控:
top
看cpu占用率,内存占用率
free
看内存使用情况
jps
看使用中的java进程
ps axu |grep xx
看进程运行情况
df
磁盘情况
du
磁盘情况
du -sh *
//按目录形式查看占用大小
du -sh * | sort -k1,1rn | head
//从大到小
查看机器建立的各连接数
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
看每个连接的占用内存byte数
ps aux|grep -v grep|awk '/httpd/ {sum+=$6;n++};END{print sum/n}'
Ubuntu
rpm -q packname
看某个package有没有安装过
/etc/profile
所有shell都要读的环境配置文件
之后是~/.profile
之后是~/.bashrc ~/bash_profile