常用到的一些Shell,总有你需要的

tcpdump port 8080 -i any



ps -ef|grep main|grep perl |awk '{printf("%s\n",$2)}'|xargs kill
df -h $dir|grep /dev |awk '{printf("%s",$5)}'|awk -F % '{printf("%s",$1)}'

df -h  /|grep /dev |awk '{printf("%s",$5)}'|cut -d"%" -f1
dir=`echo "$0" | sed -e 's|/[^/]*$||; t; s|^.*$|.|'`

awk '{printf("%s\n",$5)}'  /data/www/pl/log/format20100618.log |cut -d ":" -f2|awk '{sum += $1};END {print sum}'

grep 20100617 /data/www/pl/log/format20100618.log |awk '{printf("%s\n",$5)}'   |cut -d ":" -f2|awk '{sum += $1};END {print sum}'

find ./|grep 20100617|xargs wc -l  |awk '{sum += $1};END {print sum}'

find ./|grep 20100617|wc -l

 

hadoop job -list | awk '$4=="zongren"{print $1}'  | xargs -L 1 hadoop job -kill


hadoop job -list | awk '$4=="zongren"{system("hadoop job -kill "$1)}'

 

find  /xx/xxx/xxx  -name "job_*_*" -type d  -ctime +20|more

 
find  /home/hadoop/hadoopData/mapred -follow -name "job_*_*" -type d  -ctime +15|grep jobcache|xargs rm -rf
find  /home/hadoop/hadoopData -maxdepth 1 -follow -name "hadoop-unjar*" -type d  -ctime +15|xargs rm -rf

sed 's/xxx.xxx.xx.xx/xx.xxx.xx.xx/g' /etc/hosts >/etc/hosts2 && cat  /etc/hosts2 > /etc/hosts&& rm /etc/host2 -f && cat /etc/hosts

find /home/www/pvdata/20100811/2010081114/|grep hash6|awk '{printf("psql -h10.1.121.201   -p 6543 -Upostgres   -f  %s -d node6 2>&1 \n",$1)}' >yannian.sh && chmod 777 yannian.sh && ./yannian.sh && rm yannian.*

 

cat  format20100812.log|grep "edu" |grep pv|grep "pv.action"|awk -F: '{ print $6 }'|awk '{sum += $1};END {print sum}'

 

cat 134*.txt |grep "121.10.240"|grep "219.134.134"| grep "uloc=19.248.1"|awk ' (substr($6, 14, 2) >=18)&&substr($6, 14, 2)<=24 {print $4, $5, $6, $8}'   | awk '($2 >= 3) && ($1>10) {print $0}'|grep "219.134.134" |awk '$2 > 3 {print ($1*8)/($2*100*1024), substr($3, 14, 2), $4, $5}'  |sort -n -r >result.txt

 

if [ $dirCount -gt "0" ]; then
 divCmd="awk 'BEGIN{printf \"%d\",$errcount*100/$dirCount}'"
 filePercent=$(eval $divCmd)
 if [ $filePercent -gt "50" ]; then
  isNeedRestart=1
 fi
else
 isNeedRestart=1
fi

 

 sed 's/\x01/\x09/g' *|more


cat splider.txt |sed 's/#//g'|sed 's/@@@@/#/g'|sed 's/detail-\(.*\)-.*-.*html/\1/g'|sed 's/show-.*-\(.*\)-.*html/\1/g'|more


cat ../splider.txt |sed 's/#//g'|grep detail|sed 's/@@@@/#/g'|sed 's/detail-\(.*\)-.*-.*html/\1/g'|sed 's/\/show-.*-\(.*\)-.*html/\1/g'|awk -F# '{printf("wget -T 10 -t 2 \"%s\" -O \"\.\/%s.jpg\"\n",$3,$2)}'  >myn.sh


cat splider*|sed 's/#//g'|sed 's/,//g'|grep detail|sed 's/@@@@/#/g'|sed 's/detail-\(.*\)-.*-.*html/\1/g'|sed 's/\/show-.*-\(.*\)-.*html/\1/g'|awk -F# '{printf("detail%s,1,i,2011-10-15 19:28:30,%s@@@%s@@@%s\n",$2,$3,$1,$4)}'  >splider_detail.log


1. 删除core目录确认和不确认的两种情况

find . -name core -exec rm {} \; /* 删除core */
find . -name core -ok rm {} \; /* 删除core 带确认 */

2.访问和修改

/* access */
find $HOME -atime -1 -print;
/* modify */
find $HOME -mtime -1 -print;

3. /* 查找*.o 或 a.out 7天之内没存取过的并删除 */
find . \( -name a.out -o -name *.o \) -atime +7 -exec rm {} \;

4, 搜寻ZhXwin下所有C原代码中的"Chinput"(试试取消下行的-q参数):
find /download/ZhXwin -name *.c -exec grep -q -s Chinput {} \; -print
查找所有文件则可以用:
find . -type f -exec grep -s chinese {} \; -print

5, 利用Find命令改变所有权 想要改变当前目录下所有文件的所有权,可以这样:
find . -exec chown OWNER.[GROUP] {} \; (Solaris)
find . -exec chown -R OWNER.[GROUP] {} \; (Linux)

6.一个find查询的实例:
find ./ -maxdepth 1 -type f -name "*${datestr}*" ! -name "*.gz" -exec gzip {} \;
find ./ -maxdepth 1 -type f -name "*${datestr}*" -name "*.gz" -exec mv {} ${LOGFILEPATH}/ \;

格式: find [path...] [expression]
find / -name access_log 2>/dev/null 不显示错误信息
find /-amin n ##查找系统中最后N分钟访问的文件
find /-atime n ##查找系统中最后n*24小时访问的文件
find /-cmin n ##查找系统中最后N分钟被改变状态的文件
find /-ctime n ##查找系统中最后n*24小时被改变状态的文件
find /-empty ##查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹
find /-false ##查找系统中总是错误的文件
find /-fstype type ##查找系统中存在于指定文件系统的文件,例如:ext2 .
find /-gid n ##查找系统中文件数字组 ID 为 n的文件
find /-group gname ##查找系统中文件属于gnam文件组,并且指定组和ID的文件
find / -mmin n # 查找在系统中最后n分钟里修改过的文件
find / -mtime n #查找在系统中最后24*n小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -size nc #查找在系统中长度为n字节的文件
find / -size +nc #查找在系统中长度大于n字节的文件
find / -daystart ##测试系统从今天开始24小时以内的文件,用法类似-amin
find / -depth ##使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容
find / -follow ##遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询
find / -help ##显示命令摘要
find / -maxdepth levels ##在某个层次的目录中按照递减方法查找
find / -mount ##不在文件系统目录中查找, 用法类似 -xdev.
find / -noleaf ##禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找
find / -version ##打印版本数字
-exec command; ##查找并执行命令
-fprint file ##打印文件完整文件名
-fprint0 file ##打印文件完整文件名包括空的文件
-fprintf file format ##打印文件格式
-ok command; ##给用户命令执行操作,根据用户的Y 确认输入执行
-printf format ##打印文件格式
-ls ##打印同种文件格式的文件.
几个参数之间可以用-and,-or连接,某个参数取反可用!.



for i in $( seq 1 100 )
do
echo $i
done



  549  [2015-09-25 14:26:21] which lsof
  550  [2015-09-25 14:26:36] whereis lsof
  551  [2015-09-25 14:26:54] /usr/sbin/lsof | grep data1
  552  [2015-09-25 14:27:19] cd /var/log/
  553  [2015-09-25 14:27:20] ls
  554  [2015-09-25 14:27:27] vi messages
  555  [2015-09-25 14:31:02] mpstat -P ALL 1
  556  [2015-09-25 14:31:13] top
  557  [2015-09-25 14:31:31] ls
  558  [2015-09-25 14:32:05] history
/sbin/mdadm --detail /dev/md1




str=$(screen -ls)  
 
array=$(echo $str|tr "." "\n")  
 
for V in $array  
do  
if [ $V -gt 0  ]  
        then screen -S $V -X quit  
fi  
done



内存的修改
/proc/sys/vm/overcommit_memory

 ps -eLF |grep $uid |wc -l  

pidstat -d 2


http://itindex.net/detail/50686-hdfs-ha-qjm


ps -eLF |grep $uid |wc -l   
lsof -u yarn|wc -l
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值