linux和windows经典操作

1,

(1)linux ping同个网段内的主机是否存在。

for i in `seq 1 254`;do ping -c 2 -w 1 10.8.9.$i; done

for ((i=0;i<=254;i++));do ping -q -n -c 2 -w 1 -l 0.01 192.168.1.$i; done

 

(2),xp的cmd下操作 “for”

for /L %A in (1,1,254) do ping -n 1 192.168.0.%A

2,ping不通的具体原因。

在PING时,首先要知道对方MAC,必然会来查找ARP表,如果有对方的MAC地址,就会在封装报文时在目的MAC中加上从ARP表中知道的这个 MAC。如果不知道就会发ARP广播,好,这个实验关键的问题在这里。发ARP广播时,也要知道是从哪个接口(PC上就是网卡了)出去,那么这时必须知道 主机路由表的情况了,主机路由表可以在CMD下用route print命令显示出来,

步骤来说这个ICMP报文下来后,查找路由表,查出是从默认网关出去,那么得先知道网关MAC,所以发查找网关对应MAC的ARP广播,因为得不到这个MAC,所以数据一直就是转发不出。这个问题其实到查找网关MAC这里就已经基本打住了。

3,awk

arp-scan -I eth4 -l|sed '1,3d' arp.txt | sed -e :a -e '$d;N;2,4ba' -e 'P;D'|awk '{print $1,$2}'

awk "NR>3 && NR<=`awk '{print NR}' test | tail -n1`-3" test

4查看网络连接状态

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

5显示配置文件中不以#开始的行,

grep -v "^#" sarg.conf | grep -v "^$" >sarg3

6,find

查找包含内容sex的文件

find . -name "*" | xargs grep -H "sex"

7,sed

显示某一行

sed -n '2p' dns10.txt

显示某一行到某一行

sed -n '10.20p' dns10.txt

7,shell for

#!/bin/sh
for a in $(seq 192 192)
do
for a in $(seq 168 168)
do
for a in $(seq 2 2)
do
for a in $(seq 0 254)
do
sh -c "arping -i eth4 -A -q -c 1 -B $a.$b.$c.$d $TARGET_MAC
if [ \$? = 0 ]
then
echo Got answer with address: $a.$b.$c.$d
fi" &
done
wait
done
done
done

8,综合应用

x=0

##########X<=9############
while [ $x -le 9 ]
do

######       x++        #########
x=$((x+1))

##########显示单行,,以“,”为分界显示第三列#########
url=` sed -n ''$x'p' dns10.txt|awk -F ',' '{print $3}'`

############从头精确匹配###############
awk '/^'$url'/' /ximolog/test/temp.txt>/ximolog/test/temp2.txt

###########快速查询#######
awk '{a[$2]+=1}END{for(i in a) print a[i]"," "EDU," i "," "'$url'"}' /ximolog/test/temp2.txt | sort -n|tail -n10>> /ximolog/test/url.txt

########两行匹配#############
#awk '{a[$1" "$2]+=1}END{for(i in a) print a[i],i}' /ximolog/test/temp2.txt | sort -n|tail -n10>> /ximolog/test/url.txt
done


9,vi

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

 

10,awk,在每一行后加;

awk ' {print ($0";");}' cnc >cnc1

awk ' {print ($0" A");}' test2 >test3

  在每行的头添加字符,比如"HEAD",命令如下:

sed 's/^/HEAD&/g' test.file

在每行的行尾添加字符,比如“TAIL”,命令如下:

sed 's/$/&TAIL/g' test.file

  11,给ip地址排序

$ cat ip.txt 
21.3.145.67
1.0.0.1
255.232.12.67
166.111.8.28
166.111.8.29
1.2.3.4
4.3.2.1
127.0.0.1
255.255.255.255
123.54.32.67
211.7.45.234
192.168.0.1

使用如下命令则可对文件中的IP按照从小到大进行排序:
sort -t"." -k1,1n -k2,2n -k3,3n -k4,4n ip.txt 
1.0.0.1
1.2.3.4
4.3.2.1
21.3.145.67
123.54.32.67
127.0.0.1
166.111.8.28
166.111.8.29
192.168.0.1
211.7.45.234
255.232.12.67
255.255.255.255

要反过来排序,即从大到小排序,可以这样:
sort -t"." -k1,1nr -k2,2nr -k3,3nr -k4,4nr ip.txt 
255.255.255.255
255.232.12.67
211.7.45.234
192.168.0.1
166.111.8.29
166.111.8.28
127.0.0.1
123.54.32.67
21.3.145.67
4.3.2.1
1.2.3.4
1.0.0.1

下面对上述两个命令稍作解释:
(1)-t"." 表示用“.”分隔要排序的 Field
(2)-k1,1n 表示用(1)中得到的第一个 Field 作为 Key 来排序,在这里就是IP的第一段,n表示把这个Field排序时把其作为数值来对待。
(3)-k1,1nr表示反过来排序
了解以上几点,对命令就比较清楚了,就是优先用ip的第一段进行排序,其次为第二段,然后第三段,最后考虑第四段。

 

12往一个文件里面写入n行数据。

 

for((i=1;i<=1000;i++));do cat qq.test>>g.test;done 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值