Robin常用的Linux命令组合

1、过滤空行和注释

# grep -Ev "^#|^$" httpd.conf

2、在apachelog中找出访问次数最多的10个IP

# awk '{print $1}' apache_log |sort |uniq -c|sort -nr|head -n 10

3、查使用内存最多的10个进程

# ps -aux | sort -k4nr | head -n 10

4、查找目录下的所有文件中是否含有某个字符串

# find .|xargs grep -ri "key"

5、查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名

# find .|xargs grep -ri "key" -l

6、查看各类tcp连接状态,并统计个数

# netstat -an| awk '/^tcp/{++S[$NF]} END {for(a in S)print a,S[a]}'

7、生成除了0,1,o,O,l之外固定位数的随机密码

# < /dev/urandom tr -dc A-NP-Za-kmnp-z2-9 | head -c 8

8、生成12位随机字符串

# dd if=/dev/urandom bs=1 count=6 2> /dev/null | od -t x1 | tee test | sed '2d;s/^0\+ //;s/ //g'

9、随机生成MAC地址

#  dd if=/dev/urandom bs=1 count=6 2> /dev/null | od -t x1 | sed '2d;s/^0\+ //;s/ /:/g'

10、获取Linux服务器ip地址

# ifconfig eth0|grep 'inet addr'|awk -F ":" '{print $2}'|awk '{print $1}'
# ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}'
# ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'
# ifconfig eth0 |sed -nr '2s#^.*addr:(.*)Bcast.*$#\1#gp'
# ifconfig eth0 |sed -n '2p'|sed 's#^.*addr:##g'|sed 's#Bcast:.*$##g'
# ifconfig eth0 |sed -n '2p'|sed -r 's#^.*addr:(.*)Bcast.*$#\1#g'
# ifconfig eth0 | sed -n '2p' | cut -c 21-34
# ifconfig eth0|sed -nr '2s#^.*ddr:(.*)  Bc.*$# \1#gp' 

11、取文件的权限数字

# stat install.log|awk -F "[0/]" 'NR==4{print $2}'

12、批量修改文件名

1. 修改文件名中间的内容
# for i in `find ./ -name 'SH309491*'`; do cp $i `echo $i | sed -nr 's#(^.*)491(.*$)#\1482\2#gp'`; done
# for i in `ls`; do mv -f $i `echo $i | sed -nr 's#(^.*)bpm(.*$)#\1bpm2\2#gp'`; done
2. 修改前面5个字母为zhaozh
# for i in `ls`; do mv -f $i `echo $i | sed 's/^...../zhaozh/'`; done
3. 修改后面5个字母为snail
# for i in `ls`; do mv -f $i `echo $i | sed 's/.....$/snail/'`; done
4、在前面添加 _hoho_
# for i in `ls`; do mv -f $i `echo "_hoho_"$i`; done
5、所有的小写字母变大写字母
# for i in `ls`; do mv -f $i `echo $i | tr a-z A-Z`; done

13. 查找文件,替换文件内容

# sudo find ./ -name 'paat.application.settings.properties' | grep 'devServer' | xargs sed -i "s/172.16.5.98/172.16.5.101/g"

你可能感兴趣的:(Robin常用的Linux命令组合)