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"