【服务端工具包】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

你可能感兴趣的:(【服务端工具包】linux实用命令)