??xml version="1.0" encoding="utf-8" standalone="yes"?>色婷婷**av毛片一区,国产精品久久久久毛片大屁完整版,久久精品国产亚洲一区二区三区 http://www.aygfsteel.com/stevenjohn/category/52994.html那些青春的岁?/description>zh-cnWed, 04 Mar 2015 08:12:37 GMTWed, 04 Mar 2015 08:12:37 GMT60Linux端口转发http://www.aygfsteel.com/stevenjohn/archive/2015/03/02/423128.htmlabinabinMon, 02 Mar 2015 03:44:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2015/03/02/423128.htmlhttp://www.aygfsteel.com/stevenjohn/comments/423128.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2015/03/02/423128.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/423128.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/423128.html
centos端口转发器Qsocat安装及?/div>sudo nohup socat tcp-l:6666,reuseaddr,fork tcp:114.80.***.***:80 &

sudo nohup socat tcp-l:外部讉K端口,reuseaddr,fork tcp:192.168.xxx.xxx:内部转发端口

Linux下Iptables端口转发功能的解?br />

?81h发至10.10.2.00:881端口

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT --to-destination 10.10.2.200:881  



abin 2015-03-02 11:44 发表评论
]]>
linux 服务器端命ohttp://www.aygfsteel.com/stevenjohn/archive/2015/01/11/422170.htmlabinabinSat, 10 Jan 2015 18:42:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2015/01/11/422170.htmlhttp://www.aygfsteel.com/stevenjohn/comments/422170.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2015/01/11/422170.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/422170.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/422170.html2、uptime
3、vmstat 1 5
4、iostat -x -h -t
5、mpstat -P ALL
6、netstat -natp | grep 8080
7、netstat -natp | find "80"(windows)
8、ps -aux | grep java
9、ps -ef | grep java
10、top -H -p 9768

abin 2015-01-11 02:42 发表评论
]]>
如何查看服务器当前的负蝲信息 http://www.aygfsteel.com/stevenjohn/archive/2014/12/24/421747.htmlabinabinWed, 24 Dec 2014 05:34:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2014/12/24/421747.htmlhttp://www.aygfsteel.com/stevenjohn/comments/421747.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2014/12/24/421747.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/421747.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/421747.html

通过什么方法来排查是否linux服务器的负蝲q大Q?/span>

通过top命o来查看服务器负蝲

 再对此Linux服务器性能分析之前Q先了解下LinuxpȝLoad average负蝲的知识,负蝲均值在uptime 或者top 命o中可以看刎ͼ它们可能会显C成q个样子Qload average: 0.15, 0.14, 0.11
很多Zq样理解负蝲均|三个数分别代表不同时间段的系l^均负载(一分钟、五分钟、以及十五分钟)Q它们的数字当然是越越好。数字越高,说明服务器的负蝲大,q也可能是服务器出现某种问题的信受?br />

     一个单核的处理器可以Ş象得比喻成一条单车道。如果前面没有R辆在{待Q那么你可以告诉后面的司机通过。如果R辆众多,那么需要告知他们可能需要稍{一会?/span>

因此Q需要些特定的代可C目前的车流情况Q例如:
  0.00 表示目前桥面上没有Q何的车流。实际上q种情况?.00 ?.00 之间是相同的Q总而言之很通畅Q过往的R辆可以丝毫不用等待的通过?br />   1.00 表示刚好是在q桥的承受范围内。这U情况不糟p,只是车流会有些堵Q不q这U情况可能会造成交通越来越慢?br />   过1.00Q那么说明这座桥已经出负荷Q交通严重的拥堵。那么情冉|多糟p?例如2.00 的情况说明R已l超Z桥所能承受的一倍,那么有多余q桥一倍的车辆正在焦急的{待?.00 的话情况更不妙了,说明q桥基本上已经快承受不了,q有出桥负载两倍多的R辆正在等待?/span>
    上面的情况和处理器的负蝲情况非常怼。一辆汽车的q桥旉好比是处理器处理某U程的实际时间。Unix pȝ定义的进E运行时长ؓ所有处理器内核的处理时间加上线E在队列中等待的旉?/span>
    和收q桥费的理员一P你当然希望你的汽车(操作Q不会被焦急的{待。所以,理想状态下Q都希望负蝲q_值小?.00 。当然不排除部分峰g过1.00Q但长此以往保持q个状态,p明会有问题,q时候你应该会很焦急?/span>
      “所以你说的理想负荷?.00 Q?#8221;
    嗯,q种情况其实q不完全正确。负?.00 说明pȝ已经没有剩余的资源了。在实际情况中,有经验的pȝ理员都会将q条U划?.70Q?/span>
      “需要进行调查法?#8221;Q如果长期你的系l负载在0.70 上下Q那么你需要在事情变得更糟p之前,׃旉了解其原因?/span>
      “现在p修复法则”Q?.00 。如果你的服务器pȝ负蝲长期徘徊?.00Q那么就应该马上解决q个问题。否则,你将半夜接到你上司的电话Q这可不是g令h愉快的事情?/span>
      “凌晨三点半锻Dn体法?#8221;Q?.00。如果你的服务器负蝲过?.00 q个数字Q那么你失M的睡眠,q得在会议中说明q情况发生的原因QM千万不要让它发生?/span>
    那么多个处理器呢Q我的均值是3.00Q但是系l运行正常!哇喔Q你有四个处理器的主机?那么它的负蝲均值在3.00 是很正常的。在多处理器pȝ中,负蝲均值是Z内核的数量决定的。以100% 负蝲计算Q?.00 表示单个处理器,?.00 则说明有两个双处理器Q那?.00 p明主机具有四个处理器?/span>
  回到我们上面有关车辆q桥的比喅R?.00 我说q是“一条单车道的道?#8221;。那么在单R?.00 情况中,说明q桥梁已l被车塞满了。而在双处理器pȝ中,q意味着多出了一倍的负蝲Q也是说还?0% 的剩余系l资? 因ؓq有另外条R道可以通行?/span>
所以,单处理器已经在负载的情况下,双处理器的负载满额的情况?.00Q它q有一倍的资源可以利用?/span>
 

从上囄top命o可以了解刎ͼLinux服务器运行了5?3时20分,在load average的数据来看,q台快吧Linux无盘服务器可以说是压力ؓӞq行十分畅?nbsp;

Ҏ二:输入iostat -x -k -t 

说明Q?util:一U中有百分之多少的时间用于I/O操作Q或者说一U中有多时间I/O队列是非I的?br /> 即delta(use)/s/1000 (因ؓuse的单位ؓ毫秒)
如果%util接近100%Q说明生的I/Oh太多QI/Opȝ已经满负P该磁盘可能存在瓶颈?/span>

Ҏ三:

如果玩游戏很卡,可以用hdparm –t /dev/盘名称来测试磁盘性能是否达标Q下图是单个希捷1T的盘试的结果说明:sd表示盘是SATAQSCSI或者SASQa表示串口的第一块硬?/span>

 本文转摘自:http://www.flybaaa.com/help/69_1.html



 

一直以来以为通过top然后按数?键,查到的cpu个数是服务器的物理cpu个数Q今天在看服务器的硬仉|清单中发现一服务器的物理cpu个数?个,我就奇怪了Q这台机子我的媄响很深,明明?8啊,当时通过top 1查看cpu信息q提C?“Sorry ,terminal is not big enough”。想当初服务器只能识别到32个。还是重新编译内核搞定的。后来经q查询原来不是这hQtop 1查看的是逻辑cpu个数Q一下ؓ记?br /> 查看Linux服务器的CPU详细情况
判断Linux服务器CPU情况的依据如下:
h相同core id的CPU是同一个core的超U程?Any cpu with the same core id are hyperthreads in the same core.)
h相同physical id的CPU是同一个CPU装的线E或核心?Any cpu with the same physical id are threads or cores in the same physical socket.)
下面举例说明?br /> 物理CPU个数如下Q?/p>

[root@dbabc.net ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 4

每个物理CPU中core的个?x?如下Q?/p>

[root@dbabc.net ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq cpu cores       : 12

逻辑CPU的个数如下:

Qroot@dbabc.net ~]#cat /proc/cpuinfo| grep "processor"| wc -l 48

按理说物理CPU个数×核数应该等于逻辑CPU?/p>

Dbabc.Net [http://dbabc.net]
本文链接Q?a rel="bookmark">http://dbabc.net/archives/2012/02/13/linux-cpu-info-count.shtml



abin 2014-12-24 13:34 发表评论
]]>
tcpdump抓包规则常用命ohttp://www.aygfsteel.com/stevenjohn/archive/2014/12/06/421133.htmlabinabinSat, 06 Dec 2014 09:28:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2014/12/06/421133.htmlhttp://www.aygfsteel.com/stevenjohn/comments/421133.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2014/12/06/421133.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/421133.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/421133.html
下面的例子全是以抓取eth0接口ZQ如果不?#8221;-i eth0”是表C抓取所有的接口包括lo?br />首先安装tcpdump包:yum install -y tcpdump

 1、抓取包?72.16.1.122的数据包
# tcpdump -i eth0 -vnn host 172.16.1.122
 
2、抓取包?72.16.1.0/24|段的数据包
# tcpdump -i eth0 -vnn net 172.16.1.0/24
 
3、抓取包含端?2的数据包
# tcpdump -i eth0 -vnn port 22
 
4、抓取udp协议的数据包
# tcpdump -i eth0 -vnn  udp
 
5、抓取icmp协议的数据包
# tcpdump -i eth0 -vnn icmp

6、抓取arp协议的数据包
# tcpdump -i eth0 -vnn arp
 
7、抓取ip协议的数据包
# tcpdump -i eth0 -vnn ip
 
8、抓取源ip?72.16.1.122数据包?br /># tcpdump -i eth0 -vnn src host 172.16.1.122
 
9、抓取目的ip?72.16.1.122数据?br /># tcpdump -i eth0 -vnn dst host 172.16.1.122
 
10、抓取源端口?2的数据包
# tcpdump -i eth0 -vnn src port 22
 
11、抓取源ip?72.16.1.253且目的ip?2的数据包
# tcpdump -i eth0 -vnn src host 172.16.1.253 and dst port 22
               
12、抓取源ip?72.16.1.122或者包含端口是22的数据包
# tcpdump -i eth0 -vnn src host 172.16.1.122 or port 22
 
13、抓取源ip?72.16.1.122且端口不?2的数据包
[root@ ftp]# tcpdump -i eth0 -vnn src host 172.16.1.122 and not port 22

14、抓取源ip?72.16.1.2且目的端口是22Q或源ip?72.16.1.65且目的端口是80的数据包?br /># tcpdump -i eth0 -vnn \( src host 172.16.1.2 and dst port 22 \) or   \( src host 172.16.1.65 and dst port 80 \)
 
15、抓取源ip?72.16.1.59且目的端口是22Q或源ip?72.16.1.68且目的端口是80的数据包?br /># tcpdump -i  eth0 -vnn 'src host 172.16.1.59 and dst port 22' or  ' src host 172.16.1.68 and dst port 80 '
 
16、把抓取的数据包记录存到/tmp/fill文g中,当抓?00个数据包后就退出程序?br /># tcpdump –i eth0 -vnn -w  /tmp/fil1 -c 100
 
17、从/tmp/fill记录中读取tcp协议的数据包
# tcpdump –i eth0 -vnn -r  /tmp/fil1 tcp
 
18、从/tmp/fill记录中读取包?72.16.1.58的数据包
# tcpdump –i eth0 -vnn -r  /tmp/fil1 host  172.16.1.58


tcpdump抓包q保存成cap文g

首选介l一下tcpdump的常用参?/p>

tcpdump采用命o行方式,它的命o格式为:
  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文g?]
          [ -i |络接口 ] [ -r 文g名] [ -s snaplen ]
          [ -T cd ] [ -w 文g?] [表达?]

1. tcpdump的选项介绍
   -a    网l地址和广播地址转变成名字;
   -d    匹配信息包的代码以Z能够理解的汇~格式给出;
   -dd    匹配信息包的代码以c语言E序D늚格式l出Q?br />   -ddd    匹配信息包的代码以十进制的形式l出Q?br />   -e    在输打印出数据链路层的头部信息;
   -f    外部的Internet地址以数字的形式打印出来Q?br />   -l    使标准输出变为缓冲行形式Q?br />   -n    不把|络地址转换成名字;
   -t    在输出的每一行不打印旉戻I
   -v    输出一个稍微详l的信息Q例如在ip包中可以包括ttl和服务类型的信息Q?br />   -vv    输出详细的报文信息;
   -c    在收到指定的包的数目后,tcpdump׃停止Q?br />   -F    从指定的文g中读取表辑ּ,忽略其它的表辑ּQ?br />   -i    指定监听的网l接口;
   -r    从指定的文g中读取包(q些包一般通过-w选项产生)Q?br />   -w    直接包写入文g中,q不分析和打印出来;
   -T    监听到的包直接解释为指定的cd的报文,常见的类型有rpcQ远E过E?br />          调用Q和snmpQ简单网l管理协议;Q?/p>

当网l出现故障时Q由于直接用tcpdump抓包分析有点困难Q而且当网l中数据比较多时更不Ҏ分析Q用tcpdump?w参数+ethereal分析会很好的解决q个问题Q具体参数如下:

tcpdump -i eth1 -c 2000 -w eth1.cap

-i eth1 只抓eth1口的数据

-c 2000代表数据包的个数Q也是只抓2000个数据包

-w eth1.cap 保存成cap文gQ方便用ethereal分析

抓完数据包后ftpC的FTP服务器,put一下,然后用ethereal软g打开可以很直观的分析了

注:有时?cap文g上传到FTP服务器后Q发现用ethreal打开时提C数据包大于65535个,q是你在ftp上传或者下载的时候没有用bin的模式上传的原因?/p>

另:有的|站提示在tcpdump中用-s 0命oQ例?tcpdump -i eth1 -c 2000 -s0 -w eth1.capQ可实际q行该命令时pȝ却提C无效的参数,L-s 0参数卛_

例子Q?/p>

[root@localhost cdr]#tcpdump -i eth0 -t tcp -s 60000 -w diaoxian.cap 
[root@localhost cdr]# tcpdump host 58.240.72.195 -s 60000 -w x.cap

 

tcpdump 的抓包保存到文g的命令参数是-w xxx.cap
抓eth1的包 
tcpdump -i eth1 -w /tmp/xxx.cap 
?192.168.1.123的包 
tcpdump -i eth1 host 192.168.1.123 -w /tmp/xxx.cap 
?92.168.1.123?0端口的包 
tcpdump -i eth1 host 192.168.1.123 and port 80 -w /tmp/xxx.cap 
?92.168.1.123的icmp的包 
tcpdump -i eth1 host 192.168.1.123 and icmp -w /tmp/xxx.cap 
?92.168.1.123?0端口?10?5以外的其他端口的?nbsp;
tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap 
抓vlan 1的包 
tcpdump -i eth1 port 80 and vlan 1 -w /tmp/xxx.cap 
抓pppoe的密?nbsp;
tcpdump -i eth1 pppoes -w /tmp/xxx.cap 
?00m大小分割保存文gQ?过100m另开一个文?-C 100m 
?0000个包后退?-c 10000 
后台抓包Q?控制台退Z不会影响Q?nbsp;
nohup tcpdump -i eth1 port 110 -w /tmp/xxx.cap & 
抓下来的文g可以直接用ethereal 或者wireshark打开?wireshark是新版的etherealQ程序换名了




sudo tcpdump -s0 -A host 192.168.234.249
sudo tcpdump -i eth0 -vnn port 8100


转蝲自:

http://blog.sina.com.cn/s/blog_4a071ed80100sv13.html



abin 2014-12-06 17:28 发表评论
]]>
如何查看Web服务器ƈ发请求连接数http://www.aygfsteel.com/stevenjohn/archive/2014/03/16/411093.htmlabinabinSun, 16 Mar 2014 07:44:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2014/03/16/411093.htmlhttp://www.aygfsteel.com/stevenjohn/comments/411093.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2014/03/16/411093.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/411093.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/411093.html
1、查看Web服务器(Nginx ApacheQ的q发h数及其TCPq接状态:
 
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -n|grep  ^tcp|awk '{print $NF}'|sort -nr|uniq -c
 
或者:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'
q回l果一般如下:
 
LAST_ACK 5 Q正在等待处理的h敎ͼ
SYN_RECV 30
ESTABLISHED 1597 Q正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 Q处理完毕,{待时l束的请求数Q?/div>
 
其他参数说明Q?/div>
 
CLOSEDQ无q接是活动的或正在进?/div>
LISTENQ服务器在等待进入呼?/div>
SYN_RECVQ一个连接请求已l到达,{待认
SYN_SENTQ应用已l开始,打开一个连?/div>
ESTABLISHEDQ正常数据传输状?/div>
FIN_WAIT1Q应用说它已l完?/div>
FIN_WAIT2Q另一边已同意释放
ITMED_WAITQ等待所有分l死?/div>
CLOSINGQ两边同时尝试关?/div>
TIME_WAITQ另一边已初始化一个释?/div>
LAST_ACKQ等待所有分l死?/div>
 
2、查看Nginxq行q程?/div>
ps -ef | grep nginx | wc -l
q回的数字就是nginx的运行进E数Q如果是apache则执?/div>
ps -ef | grep httpd | wc -l
 
3、查看Web服务器进E连接数Q?/div>
netstat -antp | grep 80 | grep ESTABLISHED -c
 
4、查看MySQLq程q接敎ͼ
ps -axef | grep mysqld -c
 


abin 2014-03-16 15:44 发表评论
]]>十八. 和系l运行状늛关的Shell命o:http://www.aygfsteel.com/stevenjohn/archive/2013/03/05/396064.htmlabinabinTue, 05 Mar 2013 04:12:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2013/03/05/396064.htmlhttp://www.aygfsteel.com/stevenjohn/comments/396064.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2013/03/05/396064.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/396064.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/396064.html

十八.  和系l运行状늛关的Shell命o:

    1.  Linux的实时监命?span style="color: #ff0000">(watch):
    watch 是一个非常实用的命oQ可以帮你实时监一个命令的q行l果Q省得一遍又一遍的手动q行。该命o最为常用的两个选项?d?nQ其?n表示间隔多少U执行一?command"Q?d表示高亮发生变化的位|。下面列丑և个在watch中常用的实时监视命oQ?br />    /> watch -d -n 1 'who'   #每隔一U执行一ơwho命oQ以监视服务器当前用L录的状况
    Every 1.0s: who       Sat Nov 12 12:37:18 2011
    
    stephen  tty1           2011-11-11 17:38 (:0)
    stephen  pts/0         2011-11-11 17:39 (:0.0)
    root       pts/1         2011-11-12 10:01 (192.168.149.1)
    root       pts/2         2011-11-12 11:41 (192.168.149.1)
    root       pts/3         2011-11-12 12:11 (192.168.149.1)
    stephen  pts/4         2011-11-12 12:22 (:0.0)
    此时通过其他Linux客户端工具以root的n份登录当前Linux服务器,再观察watch命o的运行变化?/span>
    Every 1.0s: who       Sat Nov 12 12:41:09 2011
    
    stephen  tty1          2011-11-11 17:38 (:0)
    stephen  pts/0        2011-11-11 17:39 (:0.0)
    root       pts/1        2011-11-12 10:01 (192.168.149.1)
    root       pts/2        2011-11-12 11:41 (192.168.149.1)
    root       pts/3        2011-11-12 12:40 (192.168.149.1)
    stephen  pts/4        2011-11-12 12:22 (:0.0)
    root       pts/5        2011-11-12 12:41 (192.168.149.1)
    最后一行中被高亮的用户为新d的root用户?/span>此时按CTRL + C可以退出正在执行的watch监控q程?/span>
   
    #watch可以同时q行多个命oQ命令间用分号分隔?br />    #以下命o监控盘的用状况,以及当前目录下文件的变化状况Q包括文件的新增、删除和文g修改日期的更新等?br />    /> watch -d -n 1 'df -h; ls -l'
    Every 1.0s: df -h; ls -l     Sat Nov 12 12:55:00 2011
    
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda1             5.8G  3.3G  2.2G  61% /
    tmpfs                 504M  420K  504M   1% /dev/shm
    total 20
    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2
    -rw-r--r--. 1 root root   183 Nov 11 08:02 users
    -rw-r--r--. 1 root root   279 Nov 11 08:45 users2
    此时通过另一个Linux控制台窗口,在watch监视的目录下Q如/home/stephen/testQ执行下面的命o
    /> touch aa         #在执行该命o之后Q另一个执行watch命o的控制台有如下变化
    Every 1.0s: df -h; ls -l                                Sat Nov 12 12:57:08 2011
    
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda1             5.8G  3.3G  2.2G  61% /
    tmpfs                 504M  420K  504M   1% /dev/shm
    total 20
    -rw-r--r--. 1 root root        0 Nov 12 12:56 aa
    -rw-r--r--. 1 root root        0 Nov 12 10:02 datafile3
    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2
    -rw-r--r--. 1 root root     183 Nov 11 08:02 users
    -rw-r--r--. 1 root root     279 Nov 11 08:45 users2
    其中黄色高亮的部分,为touch aa命o执行之后watch输出的高亮变化部分?/span>

   
    2.  查看当前pȝ内存使用状况(free)Q?/strong>
    free命o有以下几个常用选项Q?/p>
选项 说明
-b 以字节ؓ单位昄数据?/span>
-k 以千字节(KB)为单位显C数?~省??/span>
-m 以兆(MB)为单位显C数据?/span>
-s delay 该选项free持箋不断的刷斎ͼ每次h之间的间隔ؓdelay指定的秒敎ͼ如果含有数点,精到毫秒Q如0.5?00毫秒Q?ZU?/span>

    free命o输出的表g包含以下几列Q?/p>
列名 说明
total 总计物理内存的大?/span>
used 已用的内存数量?/span>
free 可用的内存数量?/span>
Shared 多个q程׃n的内存总额?/span>
Buffers/cached 盘~存的大?/span>


    见以下具体示例和输出说明Q?br />    /> free -k
                        total         used          free     shared    buffers     cached
    Mem:       1031320     671776     359544          0      88796     352564
    -/+ buffers/cache:      230416     800904
    Swap:        204792              0     204792
    对于free命o的输出,我们只需xU色高亮的输和绿色高亮的输出行,见如下具体解释:
    U色输出行:该行使从操作pȝ的角度来看待输出数据的,used(671776)表示内核(Kernel)+Applications+buffers+cached。free(359544)表示pȝq有多少内存可供使用?/span>
    l色输出行:该行则是从应用程序的角度来看输出数据的。其free = 操作pȝused + buffers + cachedQ既Q?/span>
    800904 = 359544 + 88796 + 352564
    /> free -m
                      total        used        free      shared    buffers     cached
    Mem:          1007         656        351            0         86            344
    -/+ buffers/cache:        225        782
    Swap:          199             0        199
    /> free -k -s 1.5  #以千字节(KB)为单位显C数据,同时每隔1.5h输出一ơ,直到按CTRL+C退?br />                      total        used       free     shared    buffers     cached
    Mem:          1007         655        351          0           86        344
    -/+ buffers/cache:        224        782
    Swap:          199             0        199

                      total        used       free     shared    buffers     cached
    Mem:          1007         655        351          0           86        344
    -/+ buffers/cache:        224        782
    Swap:          199             0        199

    3.  CPU的实时监控工?span style="color: #ff0000">(mpstat)Q?/strong>

    该命令主要用于报告当前系l中所有CPU的实时运行状c?br />    #该命令将每隔2U输ZơCPU的当前运行状况信息,一p?ơ,如果没有W二个数字参敎ͼmpstat每隔两U执行一ơ,直到按CTRL+C退出?br />    /> mpstat 2 5  
    Linux 2.6.32-71.el6.i686 (Stephen-PC)   11/12/2011      _i686_  (1 CPU)

    04:03:00 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    04:03:02 PM  all    0.00    0.00    0.50    0.00    0.00    0.00    0.00    0.00   99.50
    04:03:04 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:03:06 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:03:08 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:03:10 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    Average:       all    0.00    0.00    0.10    0.00    0.00    0.00    0.00    0.00   99.90

    W一行的末尾l出了当前系l中CPU的数量。后面的表格中则输出了系l当前CPU的用状况,以下为每列的含义Q?/p>
列名 说明
%user 在internal旉D里Q用h的CPU旉(%)Q不包含nicegؓ负进E?nbsp; (usr/total)*100
%nice 在internal旉D里Qnicegؓ负进E的CPU旉(%)   (nice/total)*100
%sys 在internal旉D里Q内核时?%)       (system/total)*100
%iowait 在internal旉D里Q硬盘IO{待旉(%) (iowait/total)*100
%irq 在internal旉D里Q硬中断旉(%)     (irq/total)*100
%soft 在internal旉D里QY中断旉(%)     (softirq/total)*100
%idle 在internal旉D里QCPU除去{待盘IO操作外的因ؓM原因而空闲的旉闲置旉(%) (idle/total)*100

    计算公式Q?/span>
    total_cur=user+system+nice+idle+iowait+irq+softirq
    total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq
    user=user_cur – user_pre
    total=total_cur-total_pre
    其中_cur 表示当前|_pre表示interval旉前的倹{上表中的所有值可取到两位数炏V?nbsp;   

    /> mpstat -P ALL 2 3  #-P ALL表示打印所有CPU的数据,q里也可以打印指定编LCPU数据Q如-P 0(CPU的编h0开始的)
    Linux 2.6.32-71.el6.i686 (Stephen-PC)   11/12/2011      _i686_  (1 CPU)

    04:12:54 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    04:12:56 PM    all      0.00      0.00     0.50    0.00      0.00    0.00    0.00      0.00     99.50
    04:12:56 PM      0     0.00      0.00     0.50    0.00      0.00    0.00    0.00      0.00     99.50

    04:12:56 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    04:12:58 PM    all     0.00      0.00     0.00    0.00      0.00    0.00    0.00      0.00    100.00
    04:12:58 PM     0     0.00      0.00     0.00    0.00      0.00    0.00    0.00      0.00    100.00

    04:12:58 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    04:13:00 PM    all      0.00     0.00    0.00    0.00      0.00    0.00     0.00      0.00    100.00
    04:13:00 PM     0      0.00     0.00    0.00    0.00      0.00    0.00     0.00      0.00    100.00

    Average:       CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    Average:         all      0.00     0.00    0.17    0.00      0.00    0.00     0.00      0.00     99.83
    Average:          0      0.00     0.00    0.17    0.00      0.00    0.00     0.00      0.00     99.83

    4.  虚拟内存的实时监控工?span style="color: #ff0000">(vmstat)Q?/strong>

    vmstat命o用来获得UNIXpȝ有关q程、虚存、页面交换空间及CPUzd的信息。这些信息反映了pȝ的负载情cvmstat首次q行时显Cpȝ启动开始的各项l计信息Q之后运行vmstat显C上次q行该命令以后的l计信息。用户可以通过指定l计的次数和旉来获得所需的统计信息?br />    /> vmstat 1 3    #q是vmstat最为常用的方式Q其含义为每?U输Z条,一p?条后E序退出?br />    procs  -----------memory----------   ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd      free      buff   cache   si   so     bi    bo     in   cs  us  sy id  wa st
     0  0        0 531760  67284 231212  108  0     0  260   111  148  1   5 86   8  0
     0  0        0 531752  67284 231212    0    0     0     0     33   57   0   1 99   0  0
     0  0        0 531752  67284 231212    0    0     0     0     40   73   0   0 100 0  0

    /> vmstat 1       #其含义ؓ每隔1U输Z条,直到按CTRL+C后退出?br />
    下面给g每一列的含义说明Q?br />    有关q程的信息有Q?procs)
    r:  在就l状态等待的q程数?br />    b: 在等待状态等待的q程数?nbsp;  
    有关内存的信息有Q?memory)
    swpd:  正在使用的swap大小Q单位ؓKB?br />    free:    I闲的内存空间?br />    buff:    已用的buff大小Q对块设备的dq行~冲?br />    cache: 已用的cache大小Q文件系l的cache?br />    有关面交换I间的信息有Q?swap)
    si:  交换内存使用Q由盘调入内存?br />    so: 交换内存使用Q由内存调入盘?nbsp;
    有关IO块设备的信息有:(io)
    bi:  从块讑֤d的数据总量(ȝ? (KB/s)
    bo: 写入到块讑֤的数据ȝ(写磁? (KB/s)  
    有关故障的信息有Q?system)
    in: 在指定时间内的每U中断次数?br />    sy: 在指定时间内每秒pȝ调用ơ数?br />    cs: 在指定时间内每秒上下文切换的ơ数?nbsp; 
    有关CPU的信息有Q?cpu)
    us:  在指定时间间隔内CPU在用h的利用率?br />    sy:  在指定时间间隔内CPU在核心态的利用率?br />    id:  在指定时间间隔内CPUI闲旉比?br />    wa: 在指定时间间隔内CPU因ؓ{待I/O而空闲的旉比?nbsp; 
    vmstat 可以用来定一个系l的工作是受限于CPUq是受限于内存:如果CPU的sy和us值相加的癑ֈ比接q?00%Q或者运行队?r)中等待的q程数L不等?Q且l常大于4Q同时id也经常小?0Q则该系l受限于CPUQ如果bi、bo的值L不等?Q则该系l受限于内存?/span>

    5.  讑֤IO负蝲的实时监控工?span style="color: #ff0000">(iostat)Q?/strong>

    iostat主要用于监控pȝ讑֤的IO负蝲情况Qiostat首次q行时显Cpȝ启动开始的各项l计信息Q之后运行iostat显C上次q行该命令以后的l计信息。用户可以通过指定l计的次数和旉来获得所需的统计信息?br />    其中该命令中最为常用的使用方式如下Q?br />    /> iostat -d 1 3    #仅显C备的IO负蝲Q其中每?U刷新ƈ输出l果一ơ,输出3ơ后iostat退出?br />    Linux 2.6.32-71.el6.i686 (Stephen-PC)   11/16/2011      _i686_  (1 CPU)

    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda                 5.35       258.39        26.19     538210      54560

    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda                 0.00         0.00         0.00                  0          0

    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda                 0.00         0.00         0.00                  0          0

    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda                 0.00         0.00         0.00                  0          0
    /> iostat -d 1  #和上面的命o一P也是每隔1U刷新ƈ输出一ơ,但是该命令将一直输出,直到按CTRL+C退出?br />    下面给g每列的含义:

列名 说明
Blk_read/s 每秒?扇区)d的数量?/span>
Blk_wrtn/s 每秒?扇区)写入的数量?/span>
Blk_read d?扇区)d的数量?/span>
Blk_wrtn d?扇区)写入的数量?/span>

    iostatq有一个比较常用的选项-xQ该选项用于显C和io相关的扩展数据?br />    /> iostat -dx 1 3
    Device:  rrqm/s wrqm/s  r/s   w/s  rsec/s wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda            5.27   1.31 2.82 1.14 189.49  19.50    52.75     0.53     133.04  10.74   4.26

    Device:  rrqm/s wrqm/s  r/s   w/s  rsec/s wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda            0.00   0.00 0.00 0.00   0.00   0.00        0.00     0.00         0.00   0.00   0.00

    Device:  rrqm/s wrqm/s  r/s   w/s  rsec/s wsec/s avgrq-sz avgqu-sz   await  svctm  %util
    sda            0.00   0.00 0.00 0.00   0.00   0.00        0.00     0.00         0.00   0.00   0.00
    q可以在命o行参C指定要监控的讑֤名,如:
    /> iostat -dx sda 1 3   #指定监控的设备名UCؓsdaQ该命o的输出结果和上面命o完全相同?br />
    下面l出扩展选项输出的表g每列的含义:

列名 说明
rrqm/s 队列中每U钟合ƈ的读h数量
wrqm/s 队列中每U钟合ƈ的写h数量
r/s 每秒钟完成的读请求数?/span>
w/s 每秒钟完成的写请求数?/span>
rsec/s 每秒钟读取的扇区数量
wsec/s 每秒钟写入的扇区数量
avgrq-sz q_h扇区的大?/span>
avgqu-sz q_h队列的长?/span>
await q_每次h的等待时?/span>
util 讑֤的利用率

    下面是关键列的解释:
    util是设备的利用率。如果它接近100%Q通常说明讑֤能力于饱和?/span>
    await是^均每ơ请求的{待旉。这个时间包括了队列旉和服务时_也就是说Q一般情况下Qawait大于svctmQ它们的差D,则说明队列时间越短,反之差D大,队列旉长Q说明系l出了问题?/span>
    avgqu-sz是^均请求队列的长度。毫无疑问,队列长度短好?nbsp;                

     6.  当前q行q程的实时监控工?span style="color: #ff0000">(pidstat)Q?/span>
     pidstat主要用于监控全部或指定进E占用系l资源的情况Q如CPUQ内存、设备IO、Q务切换、线E等。pidstat首次q行时显Cpȝ启动开始的各项l计信息Q之后运行pidstat显C上次q行该命令以后的l计信息。用户可以通过指定l计的次数和旉来获得所需的统计信息?br />    在正常的使用Q通常都是通过在命令行选项中指定待监控的pidQ之后在通过其他具体的参数来监控与该pid相关pȝ资源信息?/p>
选项 说明
-l 昄该进E和CPU相关的信?command列中可以昄命o的完整\径名和命令的参数)?/span>
-d 昄该进E和讑֤IO相关的信息?/span>
-r 昄该进E和内存相关的信息?/span>
-w 昄该进E和d旉片切换相关的信息?/span>
-t 昄在该q程内正在运行的U程相关的信息?/span>
-p 后面紧跟着带监控的q程id或ALL(表示所有进E?Q如不指定该选项Q将监控当前pȝ正在q行的所有进E?/span>

    #监控pid?(init)的进E的CPU资源使用情况Q其中每?U刷新ƈ输出一ơ,3ơ后E序退出?br />    /> pidstat -p 1 2 3 -l
    07:18:58 AM       PID    %usr %system  %guest    %CPU   CPU  Command
    07:18:59 AM         1    0.00    0.00    0.00    0.00     0  /sbin/init
    07:19:00 AM         1    0.00    0.00    0.00    0.00     0  /sbin/init
    07:19:01 AM         1    0.00    0.00    0.00    0.00     0  /sbin/init
    Average:               1    0.00    0.00    0.00    0.00     -  /sbin/init
    %usrQ?nbsp;     该进E在用户态的CPU使用率?/span>
    %systemQ该q程在内核?pȝU?的CPU使用率?/span>
    %CPUQ?nbsp;    该进E的总CPU使用率,如果在SMP环境下,该值将除以CPU的数量,以表C每CPU的数据?/span>
    CPU:         该进E所依附的CPU~号(0表示W一个CPU)?/span>

    #监控pid?(init)的进E的讑֤IO资源负蝲情况Q其中每?U刷新ƈ输出一ơ,3ơ后E序退出?br />    /> pidstat -p 1 2 3 -d    
    07:24:49 AM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
    07:24:51 AM         1      0.00      0.00      0.00  init
    07:24:53 AM         1      0.00      0.00      0.00  init
    07:24:55 AM         1      0.00      0.00      0.00  init
    Average:               1      0.00      0.00      0.00  init
    kB_rd/s:   该进E每U的字节d数量(KB)?/span>
    kB_wr/s:   该进E每U的字节写出数量(KB)?/span>
    kB_ccwr/s: 该进E每U取消磁盘写入的数量(KB)?/span>

    #监控pid?(init)的进E的内存使用情况Q其中每?U刷新ƈ输出一ơ,3ơ后E序退出?br />    /> pidstat -p 1 2 3 -r
    07:29:56 AM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    07:29:58 AM         1      0.00      0.00    2828   1368   0.13  init
    07:30:00 AM         1      0.00      0.00    2828   1368   0.13  init
    07:30:02 AM         1      0.00      0.00    2828   1368   0.13  init
    Average:               1      0.00      0.00    2828   1368   0.13  init
    %MEM:  该进E的内存使用癑ֈ比?/span>

    #监控pid?(init)的进EQ务切换情况,其中每隔2U刷新ƈ输出一ơ,3ơ后E序退出?br />    /> pidstat -p 1 2 3 -w
    07:32:15 AM       PID   cswch/s nvcswch/s  Command
    07:32:17 AM         1      0.00      0.00  init
    07:32:19 AM         1      0.00      0.00  init
    07:32:21 AM         1      0.00      0.00  init
    Average:            1      0.00      0.00  init
    cswch/s:    每秒dd(自愿?切换上下文的ơ数。主动切换是指当某一d处于d{待Ӟ主动让qCPU资源?/span>
    nvcswch/s: 每秒d被动(不自愿的)切换上下文的ơ数。被动切换是指CPU分配l某一d的时间片已经用完Q因此将该进E让出CPU的执行权?/span>

    #监控pid?(init)的进E及其内部线E的内存(r选项)使用情况Q其中每?U刷新ƈ输出一ơ,3ơ后E序退出。需要说明的是,如果-t选项后面不加M其他选项Q缺省监控的为CPU资源。结果中黄色高亮的部分表CE和其内部线E是树状l构的显C方式?br />    /> pidstat -p 1 2 3 -tr
    Linux 2.6.32-71.el6.i686 (Stephen-PC)   11/16/2011      _i686_  (1 CPU)

    07:37:04 AM      TGID       TID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    07:37:06 AM         1         -      0.00      0.00        2828   1368      0.13  init
    07:37:06 AM         -         1      0.00      0.00        2828   1368      0.13  |__init

    07:37:06 AM      TGID       TID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    07:37:08 AM         1         -      0.00      0.00        2828   1368      0.13  init
    07:37:08 AM         -         1      0.00      0.00        2828   1368      0.13  |__init

    07:37:08 AM      TGID       TID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    07:37:10 AM         1         -      0.00      0.00        2828   1368      0.13  init
    07:37:10 AM         -         1      0.00      0.00        2828   1368      0.13  |__init

    Average:         TGID       TID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
    Average:            1         -      0.00      0.00        2828   1368      0.13  init
    Average:            -         1      0.00      0.00        2828   1368      0.13  |__init
    TGID: U程lID?/span>
    TIDQ?U程ID?nbsp; 

    以上监控不同资源的选项可以同时存在Q这样就在一ơ输Z输出多种资源的用情况,如:pidstat -p 1 -dr?/span>

    7.  报告盘I间使用状况(df):
    该命令最为常用的选项是-hQ该选项智能的输出数据单位Q以便输出的结果更具可L?br />    /> df -h
    Filesystem             Size  Used   Avail Use% Mounted on
    /dev/sda1             5.8G  3.3G  2.2G  61%   /
    tmpfs                  504M  260K  504M   1%  /dev/shm

    8.  评估盘的用状?span style="color: #ff0000">(du)Q?/strong>

选项 说明
-a 包括了所有的文gQ而不只是目录?/span>
-b 以字节ؓ计算单位?/span>
-k 以千字节(KB)单位?/span>
-m 以兆字节(MB)单位?/span>
-h 是输出的信息更易于阅诅R?/span>
-s 只显C工作目录所占ȝ间?/span>
--exclude=PATTERN 排除掉符合样式的文g,Pattern是普通的Shell样式Q?表示M一个字W,*表示L多个字符?/span>
--max-depth=N 从当前目录算P目录深度大于N的子目录不被计,该选项不能和s选项同时存在?

    #仅显C子一U目录的信息?br />    /> du --max-depth=1 -h
    246M    ./stephen
    246M    .   
    /> du -sh ./*   #获取当前目录下所有子目录所占用的磁盘空间大?br />    352K    ./MemcachedTest
    132K    ./Test
    33M     ./thirdparty   
    #在当前目录下Q排除目录名模式为Te*的子目录(./Test)Q输出其他子目录占用的磁盘空间大?br />    /> du --exclude=Te* -sh ./*  
    352K    ./MemcachedTest
    33M     ./thirdparty



http://www.cnblogs.com/stephen-liu74/archive/2011/12/05/2257887.html



abin 2013-03-05 12:12 发表评论
]]>Linuxpȝ中查看日志的常用命o http://www.aygfsteel.com/stevenjohn/archive/2013/02/11/395294.htmlabinabinMon, 11 Feb 2013 05:40:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2013/02/11/395294.htmlhttp://www.aygfsteel.com/stevenjohn/comments/395294.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2013/02/11/395294.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/395294.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/395294.html

因ؓ在日常的工作中,出问题的时候查看日志是每个理员的习惯Q作为初学者,Z以后的需要,我今天将下面q些查看命o׃nl各?/p>

cat

tail -f

??????/p>

/var/log/message pȝ启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时Q务相关的日志信息

/var/log/spooler 与UUCP和news讑֤相关的日志信?/p>

/var/log/boot.log 守护q程启动和停止相关的日志消息

pȝQ?/p>

# uname -a # 查看内核/操作pȝ/CPU信息

# cat /etc/issue

# cat /etc/redhat-release # 查看操作pȝ版本

# cat /proc/cpuinfo # 查看CPU信息

# hostname # 查看计算机名

# lspci -tv # 列出所有PCI讑֤

# lsusb -tv # 列出所有USB讑֤

# lsmod # 列出加蝲的内核模?/p>

# env # 查看环境变量

资源Q?/p>

# free -m # 查看内存使用量和交换Z用量

# df -h # 查看各分Z用情?/p>

# du -sh <目录?gt; # 查看指定目录的大?/p>

# grep MemTotal /proc/meminfo # 查看内存总量

# grep MemFree /proc/meminfo # 查看I闲内存?/p>

# uptime # 查看pȝq行旉、用h、负?/p>

# cat /proc/loadavg # 查看pȝ负蝲

盘和分区:

# mount | column -t # 查看挂接的分区状?/p>

# fdisk -l # 查看所有分?/p>

# swapon -s # 查看所有交换分?/p>

# hdparm -i /dev/hda # 查看盘参数(仅适用于IDE讑֤)

# dmesg | grep IDE # 查看启动时IDE讑֤状?/p>

|络Q?/p>

# ifconfig # 查看所有网l接口的属?/p>

# iptables -L # 查看防火墙设|?/p>

# route -n # 查看路由?/p>

# netstat -lntp # 查看所有监听端?/p>

# netstat -antp # 查看所有已l徏立的q接

# netstat -s # 查看|络l计信息

q程Q?/p>

# ps -ef # 查看所有进E?/p>

# top # 实时昄q程状?另一文章里面有详细的介l?

用户Q?/p>

# w # 查看zd用户

# id <用户?gt; # 查看指定用户信息

# last # 查看用户d日志

# cut -d: -f1 /etc/passwd # 查看pȝ所有用?/p>

# cut -d: -f1 /etc/group # 查看pȝ所有组

# crontab -l # 查看当前用户的计划Q?/p>

服务Q?/p>

# chkconfig –list # 列出所有系l服?/p>

# chkconfig –list | grep on # 列出所有启动的pȝ服务

E序Q?/p>

# rpm -qa # 查看所有安装的软g?/p>



abin 2013-02-11 13:40 发表评论
]]>sed、tr、sort、uniq、join、cut、split命ohttp://www.aygfsteel.com/stevenjohn/archive/2013/01/08/393943.htmlabinabinTue, 08 Jan 2013 04:37:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2013/01/08/393943.htmlhttp://www.aygfsteel.com/stevenjohn/comments/393943.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2013/01/08/393943.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/393943.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/393943.html阅读全文

abin 2013-01-08 12:37 发表评论
]]>
sed命o详解 http://www.aygfsteel.com/stevenjohn/archive/2012/12/14/393010.htmlabinabinFri, 14 Dec 2012 09:11:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2012/12/14/393010.htmlhttp://www.aygfsteel.com/stevenjohn/comments/393010.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2012/12/14/393010.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/393010.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/393010.html 
1.?/strong>
sed是非交互式的~辑器。它不会修改文gQ除非用shell重定向来保存l果。默认情况下Q所有的输出行都被打印到屏幕上?/div>
sed~辑器逐行处理文gQ或输入Q,q将l果发送到屏幕。具体过E如下:首先sed把当前正在处理的行保存在一个时缓存区中(也称为模式空_Q然后处理时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就其从时缓冲区删除Q然后将下一行读入,q行处理和显C。处理完输入文g的最后一行后Qsed便结束运行。sed把每一行都存在临时~冲ZQ对q个副本q行~辑Q所以不会修改原文g?/div>
 
2.定址
定址用于军_对哪些行q行~辑。地址的Ş式可以是数字、正则表辑ּ、或二者的l合。如果没有指定地址Qsed处理输入文件的所有行?/div>
 
地址是一个数字,则表CP?#8220;$"W号Q则表示最后一行。例如: 

sed -n '3p' datafile
只打印第三行

 

 只显C指定行范围的文件内容,例如Q?/p>

# 只查看文件的W?00行到W?00?br />sed -n '100,200p' mysql_slow_query.log

 

地址是逗号分隔的,那么需要处理的地址是这两行之间的范_包括q两行在内)。范围可以用数字、正则表辑ּ、或二者的l合表示。例如:

sed '2,5d' datafile
#删除W二到第五行
sed '/My/,/You/d' datafile
#删除包含"My"?/span>行到包含"You"?/span>行之间的?br />sed '/My/,10d' datafile
#删除包含"My"?/span>行到W十行的内容

 

 

3.命o与选项

sed命o告诉sed如何处理由地址指定的各输入行,如果没有指定地址则处理所有的输入行?/p>

 

3.1 sed命o

 命o  功能
 a\

 在当前行后添加一行或多行。多行时除最后一行外Q每行末N?#8220;\”l行

 c\  用此W号后的新文本替换当前行中的文本。多行时除最后一行外Q每行末N?\"l行
 i\  在当前行之前插入文本。多行时除最后一行外Q每行末N?\"l行
 d  删除?/span>
 h  把模式空间里的内容复制到暂存~冲?/span>
 H  把模式空间里的内容追加到暂存~冲?/span>
 g  把暂存缓冲区里的内容复制到模式空_覆盖原有的内?/span>
 G  把暂存缓冲区的内容追加到模式I间里,q加在原有内容的后面
 l  列出非打印字W?/span>
 p  打印?/span>
 n  d下一输入行,q从下一条命令而不是第一条命令开始对其的处理
 q  l束或退出sed
 r  从文件中d输入?/span>
 !  Ҏ选行以外的所有行应用命o
 s  用一个字W串替换另一?/span>
 g  在行内进行全局替换
 
 w  所选的行写入文?/span>
 x  交换暂存~冲Z模式I间的内?/span>
 y  字W替换ؓ另一字符Q不能对正则表达式用y命oQ?/span>

 

3.2 sed选项

 选项  功能
 -e  q行多项~辑Q即对输入行应用多条sed命o时?/span>
 -n  取消默认的输?/span>
 -f  指定sed脚本的文件名
 
 
4.退出状?/strong>
sed不向grep一P不管是否扑ֈ指定的模式,它的退出状态都?。只有当命o存在语法错误Ӟsed的退出状态才不是0?/div>
5.正则表达式元字符
 与grep一Psed也支持特D元字符Q来q行模式查找、替换。不同的是,sed使用的正则表辑ּ是括在斜杠线"/"之间的模式?/div>
如果要把正则表达式分隔符"/"改ؓ另一个字W,比如oQ只要在q个字符前加一个反斜线Q在字符后跟上正则表辑ּQ再跟上q个字符卛_。例如:sed -n '\o^Myop' datafile
 
 元字W?/span>  功能  CZ
 ^  行首定位W?/span>  /^my/  匚w所有以my开头的?/span>
 $  行尾定位W?/span>  /my$/  匚w所有以myl尾的行
 .  匚w除换行符以外的单个字W?/span>  /m..y/  匚w包含字母mQ后跟两个Q意字W,再跟字母y的行
 *  匚w零个或多个前导字W?/span>  /my*/  匚w包含字母m,后跟零个或多个y字母的行
 []  匚w指定字符l内的Q一字符  /[Mm]y/  匚w包含My或my的行
 [^]  匚w不在指定字符l内的Q一字符  /[^Mm]y/  匚w包含yQ但y之前的那个字W不是M或m的行
 \(..\)  保存已匹配的字符  1,20s/\(you\)self/\1r/  标记元字W之间的模式Qƈ其保存为标{?Q之后可以用\1来引用它。最多可以定?个标{,从左边开始编P最左边的是W一个。此例中Q对W?到第20行进行处理,you被保存ؓ标签1Q如果发现youselfQ则替换为your?/span>
 &  保存查找串以便在替换串中引用  s/my/**&**/  W号&代表查找丌Ӏmy被替换?*my**
 \<  词首定位W?/span>  /\<my/  匚w包含以my开头的单词的行
 \>  词尾定位W?/span>  /my\>/  匚w包含以myl尾的单词的?/span>
 x\{m\}  q箋m个x  /9\{5\}/ 匚w包含q箋5?的行
 x\{m,\}  臛_m个x  /9\{5,\}/  匚w包含臛_q箋5?的行
 x\{m,n\}  臛_m个,但不过n个x  /9\{5,7\}/  匚w包含q箋5??的行
 
6.范例
 
6.1 p命o
命op用于昄模式I间的内宏V默认情况下Qsed把输入行打印在屏q上Q选项-n用于取消默认的打印操作。当选项-n和命令p同时出现?sed可打印选定的内宏V?/div>
 

sed '/my/p' datafile
#默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式myQp命o把该行另外打印一遍?/span>


sed -n '/my/p' datafile
#选项-n取消sed默认的打华ͼp命o把匹配模式my的行打印一遍?br />

 

6.2 d命o

命od用于删除输入行。sed先将输入行从文g复制到模式空间里Q然后对该行执行sed命oQ最后将模式I间里的内容昄在屏q上。如果发出的是命令dQ当前模式空间里的输入行会被删除Q不被显C?/p>

sed '$d' datafile
#删除最后一行,其余的都被显C?br />
sed '/my/d' datafile
#删除包含my的行Q其余的都被昄

 

6.3 s命o

sed 's/^My/You/g' datafile
#命o末端的g表示在行内进行全局替换Q也是说如果某行出现多个MyQ所有的My都被替换为You?br />
sed -n '1,20s/My$/You/gp' datafile
#取消默认输出Q处??0行里匚w以Myl尾的行Q把行内所有的My替换为YouQƈ打印到屏q上?/span>

  

sed 's#My#Your#g' datafile
#紧跟在s命o后的字符是查找串和替换串之间的分隔W。分隔符默认为正斜杠Q但可以改变。无Z么字W(换行W、反斜线除外Q,只要紧跟s命oQ就成了新的串分隔符?/span>

 

6.4 e选项

-e是编辑命令,用于sed执行多个~辑d的情况下。在下一行开始编辑前Q所有的~辑动作应用到模式~冲Z的行上?/p>

sed -e '1,10d' -e 's/My/Your/g' datafile

#选项-e用于q行多重~辑。第一重编辑删除第1-3行。第二重~辑出现的所有My替换为Your。因为是逐行q行q两编辑(卌两个命o都在模式I间的当前行上执行)Q所以编辑命令的序会媄响结果?/span>

 

6.5 r命o

r命o是读命o。sed使用该命令将一个文本文件中的内容加到当前文件的特定位置上?/p>

sed '/My/r introduce.txt' datafile
#如果在文件datafile的某一行匹配到模式MyQ就在该行后d文gintroduce.txt的内宏V如果出现My的行不止一行,则在出现My的各行后都读入introduce.txt文g的内宏V?/span>

 
6.6 w命o

sed -n '/hrwang/w me.txt' datafile

 

6.7 a\ 命o

a\ 命o是追加命令,q加添加新文本到文件中当前行(卌入模式缓冲区中的行)的后面。所q加的文本行位于sed命o的下方另起一行。如果要q加的内容超q一行,则每一行都必须以反斜线l束Q最后一行除外。最后一行将以引号和文g名结束?/p>

sed '/^hrwang/a\
>hrwang and mjfan are husband\
>and wife'
datafile
#如果在datafile文g中发现匹配以hrwang开头的行,则在该行下面q加hrwang and mjfan are husband and wife

 

6.8 i\ 命o

i\ 命o是在当前行的前面插入新的文本?/p>

 

6.9 c\ 命o

sed使用该命令将已有文本修改成新的文本?/p>

 

6.10 n命o

sed使用该命令获取输入文件的下一行,q将其读入到模式~冲ZQQ何sed命o都将应用到匹配行紧接着的下一行上?/p>

sed '/hrwang/{n;s/My/Your/;}' datafile

注:如果需要用多条命令,或者需要在某个地址范围内嵌套地址Q就必须用花括号命令括hQ每行只写一条命令,或这用分号分割同一行中的多条命令?/span>
 
6.11 y命o
该命令与UNIX/Linux中的tr命ocMQ字W按照一对一的方式从左到双行{换。例如,y/abc/ABC/把所有小写的a转换成AQ小写的b转换成BQ小写的c转换成C?/div>
 

sed '1,20y/hrwang12/HRWANG^$/' datafile
#??0行内Q所有的写hrwang转换成大写,?转换成^,?转换?span style="color: #0000ff">$
?/span>
#正则表达式元字符对y命o不v作用。与s命o的分隔符一P斜线可以被替换成其它的字W?/span>

 

6.12 q命o

q命o导致sedE序退出,不再q行其它的处理?/p>

sed '/hrwang/{s/hrwang/HRWANG/;q;}' datafile

 

6.13 h命o和g命o

#cat datafile

My name is hrwang.

Your name is mjfan.

hrwang is mjfan's husband.

mjfan is hrwang's wife.

  

sed -e '/hrwang/h' -e '$G' datafile

sed -e '/hrwang/H' -e '$G' datafile

#通过上面两条命oQ你会发现h会把原来暂存~冲区的内容清除Q只保存最q一ơ执行h时保存进ȝ模式I间的内宏V而H命o则把每次匚whrwnag的行都追加保存在暂存~冲区?br />

sed -e '/hrwang/H' -e '$g' datafile

sed -e '/hrwang/H' -e '$G' datafile

#通过上面两条命oQ你会发现g把暂存缓冲区中的内容替换掉了模式I间中当前行的内容,此处x换了最后一行。而G命o则把暂存~冲区的内容q加C模式I间的当前行后。此处即q加C末尾?/span>

 

 

7. sed脚本

sed脚本是写在文g中的一列sed命o。脚本中Q要求命令的末尾不能有Q何多余的I格或文本。如果在一行中有多个命令,要用分号分隔。执行脚本时Qsed先将输入文g中第一行复制到模式~冲区,然后对其执行脚本中所有的命o。每一行处理完毕后Qsed再复制文件中下一行到模式~冲区,对其执行脚本中所有命令。用sed脚本Ӟ不再用引h保sed命o不被shell解释。例如sed脚本scriptQ?/p>

#handle datafile
3i\
~~~~~~~~~~~~~~~~~~~~~
3,$s/\(hrwang\) is
 \(mjfan\)/\2 is \1/
$a\
We will love eachother foreverQ!
 

 

 

#sed -f script datafile
My name is hrwang
Your name is mjfan
~~~~~~~~~~~~~~~~~~~~~
mjfan is hrwang's husband.          Q啦啦~~~
mjfan is hrwang'
s wife.
We will love eachother foreverQ!


转蝲Q?a >http://blog.chinaunix.net/u/22677/showart_1076318.html


abin 2012-12-14 17:11 发表评论
]]>linux 查看日志http://www.aygfsteel.com/stevenjohn/archive/2012/12/05/392479.htmlabinabinWed, 05 Dec 2012 05:59:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2012/12/05/392479.htmlhttp://www.aygfsteel.com/stevenjohn/comments/392479.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2012/12/05/392479.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/392479.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/392479.html

1、cat命oQ?/strong>

     功能Q?/strong>1Q显C整个文件?/p>

                   CZQ?$ cat fileName

              2Q把文g串连接后传到基本输出Q如几个文件合qؓ一个文件或输出到屏q?/p>

                   CZQ?$ cat file1 file2 > file

     说明Q把案串连接后传到基本输出(屏幕或加 > fileName 到另一个?
     cat参数详解Q?/strong>
     -n ?–number ?1 开始对所有输出的行数~号
     -b ?–number-nonblank ?-n 怼Q只不过对于I白行不~号
     -s ?–squeeze-blank 当遇到有q箋两行以上的空白行Q就代换Z行的I白?br />     -v ?–show-nonprinting

2、more命oQ?/strong>

     以百分比的Ş式查看日志?nbsp;   

 

3、less命oQ?/strong>

     跟more功能差不多,只不qless支持前后阅文g?/p>

 

4、head命oQ?/strong>

     功能Q?/strong>从文本文件的头部开始查看,head 命o用于查看一个文本文件的开头部分?/p>

     CZ如下Q?br />     head example.txt 昄文g example.txt 的前十行内容Q?br />     head -n 20 example.txt 昄文g example.txt 的前二十行内容;
     head详解Q?/strong>
     -n      指定你想要显C文本多行?br />     -n number     q个参数选项必须是十q制的整敎ͼ它将军_在文件中的位|,以行为单位?br />     -c number     q个参数选项必须是十q制的整敎ͼ它将军_在文件中的位|,以字节ؓ单位?/p>

5、tail命oQ?/strong>

     功能Q?/strong>tail 命o用于昄文本文g的末և行?/p>

     CZ如下Q?/p>

     tail example.txt 昄文g example.txt 的后十行内容Q?br />     tail -n 20 example.txt 昄文g example.txt 的后二十行内容;
     tail -f example.txt 昄文g example.txt 的后十行内容q在文g内容增加后,自动昄新增的文件内宏V?/p>

     tail -n 50 -f example.txt 昄文g example.txt 的后50行内容ƈ在文件内容增加后Q自动显C新增的文g内容?br />     注意Q?br />     最后一条命令非常有用,其在监控日志文件时Q可以在屏幕上一直显C新增的日志信息?/p>

     tail详解Q?br />     -b Number ?Number 变量表示?512 字节块位|开始读取指定文件?nbsp;
     -c Number ?Number 变量表示的字节位|开始读取指定文件?nbsp;
     -f 如果输入文g是常规文件或如果 File 参数指定 FIFOQ先q先出)Q?br />     那么 tail 命o不会在复制了输入文g的最后的指定单元后终止,而是l箋
     从输入文件读取和复制额外的单元(当这些单元可用时Q。如果没有指?File 参数Q?br />     q且标准输入是管道,则会忽略 -f 标志。tail -f 命o可用于监视另一个进E正在写入的文g的增ѝ?nbsp;
     -k Number ?Number 变量表示?1KB 块位|开始读取指定文件?nbsp;
     -m Number ?Number 变量表示的多字节字符位置开始读取指定文件。用该标志提供在单字节和双字节字符代码集环境中的一致结果?nbsp;
      -n Number 从首行或末行位置来读取指定文Ӟ位置?Number 变量的符P+ ?- 或无Q表C,q过行号 Number q行位移?nbsp;
       -r 从文件末以逆序方式昄输出?r 标志的缺省值是以逆序方式昄整个文g。如果文件大?20,480 字节Q那?r标志只显C最后的 20,480 字节?-r 标志只有
   ?-n 标志一h才有效。否则,׃其忽略?/p>



abin 2012-12-05 13:59 发表评论
]]>NC常用命o http://www.aygfsteel.com/stevenjohn/archive/2012/11/21/391698.htmlabinabinWed, 21 Nov 2012 06:57:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2012/11/21/391698.htmlhttp://www.aygfsteel.com/stevenjohn/comments/391698.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2012/11/21/391698.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/391698.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/391698.html阅读全文

abin 2012-11-21 14:57 发表评论
]]>
8 个实用的 Linux netcat 命oCZ http://www.aygfsteel.com/stevenjohn/archive/2012/11/19/391596.htmlabinabinMon, 19 Nov 2012 09:01:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2012/11/19/391596.htmlhttp://www.aygfsteel.com/stevenjohn/comments/391596.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2012/11/19/391596.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/391596.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/391596.html  q里我们通过一些实例来学习 netcat 命o?/p>

  1. 在服务器-客户端架构上使用 Netcat

  netcat 工具可运行于服务器模式,侦听指定端口

1
$ nc -l 2389

 然后你可以用客L模式来连接到 2389 端口Q?/p>

1
$ nc localhost 2389

  现在如果你输入一些文本,它将被发送到服务器端Q?/p>

1
2
$ nc localhost 2389
HI, oschina

  在服务器的终端窗口将会显CZ面内容:

1
2
$ nc -l 2389
HI, oschina

  2. 使用 Netcat 来传输文?/h3>

  netcat 工具q可用来传输文gQ在客户端,假设我们有一?testfile 文gQ?/p>

1
2
$ cat testfile
hello oschina

  而在服务器端有一个空文g名ؓ test

  然后我们使用如下命o来启用服务器端:

1
$ nc -l 2389 > test

  紧接着q行客户端:

1
cat testfile | nc localhost 2389

  然后你停止服务器端,你可以查?test 内容是刚才客户端传q来?testfile 文g的内容:

1
2
$ cat test
hello oschina

  3. Netcat 支持时控制

  多数情况我们不希望连接一直保持,那么我们可以使用 -w 参数来指定连接的I闲时旉Q该参数紧接一个数|代表U数Q如果连接超q指定时间则q接会被l止?/p>

  服务?

1
nc -l 2389

  客户?

1
$ nc -w 10 localhost 2389

  该连接将?10 U后中断?/p>

  注意: 不要在服务器端同时?-w ?-l 参数Q因?-w 参数在服务器端无效果?/p>

  4. Netcat 支持 IPv6

netcat ?-4 ?-6 参数用来指定 IP 地址cdQ分别是 IPv4 ?IPv6Q?/p>

  服务器端Q?/p>

1
$ nc -4 -l 2389

  客户端:

1
$ nc -4 localhost 2389

  然后我们可以使用 netstat 命o来查看网l的情况Q?/p>

1
2
3
$ netstat | grep 2389
tcp        0      0 localhost:2389          localhost:50851         ESTABLISHED
tcp        0      0 localhost:50851         localhost:2389          ESTABLISHED

  接下来我们看看IPv6 的情况:

  服务器端Q?/p>

1
$ nc -6 -l 2389

  客户端:

1
$ nc -6 localhost 2389

  再次q行 netstat 命oQ?/p>

1
2
3
$ netstat | grep 2389
tcp6       0      0 localhost:2389          localhost:33234         ESTABLISHED
tcp6       0      0 localhost:33234         localhost:2389          ESTABLISHED

  前缀?tcp6 表示使用的是 IPv6 的地址?/p>

  5. ?Netcat 中禁止从标准输入中读取数?/h3>

  该功能?-d 参数Q请看下面例子:

  服务器端Q?/p>

1
$ nc -l 2389

  客户端:

1
2
$ nc -d localhost 2389
Hi

  你输入的 Hi 文本q不会送到服务器端?/p>

  6. 强制 Netcat 服务器端保持启动状?/h3>

  如果q接到服务器的客L断开q接Q那么服务器端也会跟着退出?/p>

  服务器端Q?/p>

1
$ nc -l 2389

  客户端:

1
2
$ nc localhost 2389
^C

  服务器端Q?/p>

1
2
$ nc -l 2389
$

  上述例子中,但客L断开时服务器端也立即退出?/p>

  我们可以通过 -k 参数来控制让服务器不会因为客L的断开q接而退出?/p>

  服务器端Q?/p>

1
$ nc -k -l 2389

  客户端:

1
2
$ nc localhost 2389
^C

  服务器端Q?/p>

1
$ nc -k -l 2389

  7. 配置 Netcat 客户端不会因?EOF 而退?/h3>

  Netcat 客户端可以通过 -q 参数来控制接收到 EOF 后隔多长旉才退出,该参数的单位是秒Q?/p>

  客户端用如下方式启动:

1
nc  -q 5  localhost 2389

  现在如果客户端接收到 EOF Q它等?5 U后退出?/p>

  8. 使用 Netcat 来处?UDP 协议

  netcat 默认是?TCP 协议Q但也支?UDPQ可使用 -u 参数来启?UDP 协议通讯?/p>

  服务器端Q?/p>

1
$ nc -4 -u -l 2389

 客户端:

1
$ nc -4 -u localhost 2389

  q样客户端和服务器端都用了 UDP 协议Q可通过 netstat 命o来查看:

1
2
$ netstat | grep 2389
udp        0      0 localhost:42634         localhost:2389          ESTABLISHED

  英文原文Q?a rel="nofollow" target="_blank" jquery1353296324546="63">nc-command-examples



abin 2012-11-19 17:01 发表评论
]]>
linux下which、whereis、locate、find 命o的区?/title><link>http://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391103.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Fri, 09 Nov 2012 08:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391103.html</guid><wfw:comment>http://www.aygfsteel.com/stevenjohn/comments/391103.html</wfw:comment><comments>http://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/stevenjohn/comments/commentRss/391103.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/stevenjohn/services/trackbacks/391103.html</trackback:ping><description><![CDATA[<div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;">我们l常在linux要查找某个文Ӟ但不知道攑֜哪里了,可以使用下面的一些命令来搜烦。这些是从网上找到的资料Q因为有时很长时间不会用刎ͼ当要用的时候经常弄混了Q所以放到这里方便用?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> which <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 查看可执行文件的位置 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> whereis <wbr> <wbr> <wbr> 查看文g的位|?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> locate <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> ?合数据库查看文g位置 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> find <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 实际搜寻盘查询文g名称 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 1、which <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 语法Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# which 可执行文件名U?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 例如Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# which passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/bin/passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> which是通过 PATH环境变量到该路径内查扑֏执行文gQ所以基本的功能是寻扑֏执行文g <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 2、whereis <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 语法Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# whereis [-bmsu] 文g或者目录名U?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 参数?明: <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -b Q?只找二进制文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -mQ?只找在说明文件manual路径下的文g <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -s Q?只找source源文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -u Q?没有说明文的文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 例如Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# whereis passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 和passwd文g相关的文仉查找出来 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# whereis -b passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> passwd: /usr/bin/passwd /etc/passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 只将二进制文?查找出来 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 和find相比Qwhereis查找的速度非常快,q是因ؓlinuxpȝ会将 pȝ内的所有文仉记录在一个数据库文g中,当用whereis和下面即介l的locateӞ会从数据库中查找数据Q而不是像find命o那样Q?q遍历硬盘来查找Q效率自然会很高?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 但是该数据库文gq不是实时更斎ͼ默认情况下时一星期更新一ơ,因此Q我们在用whereis和locate 查找文gӞ有时会找到已l被删除的数据,或者刚刚徏立文Ӟ却无法查扑ֈQ原因就是因为数据库文g没有被更新?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 3?locate <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 语法Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# locate 文g或者目录名U?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> ?如: <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# locate passwd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_DB_war/DB.war/jsp/as/user/passwd.jsp</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_admin_war/admin.war/jsp/platform/passwd.jsp</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /lib/security/pam_unix_passwd.so <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /lib/security/pam_passwdqc.so <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/include/rpcsvc/yppasswd.x <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/include/rpcsvc/yppasswd.h <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/rpcsvc/yppasswd.ph <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/lib/kde3/kded_kpasswdserver.la <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/lib/kde3/kded_kpasswdserver.so <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/lib/ruby/1.8/webrick/httpauth/htpasswd.rb <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/bin/vncpasswd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/bin/userpasswd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /usr/bin/yppasswd <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> ………… <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 4?find <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 语法Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# find 路径 参数 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> ?数说明: <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 旉查找参数Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -atime n :n*24时内存取过的的文g列出?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -ctime n :n*24时内改变、新增的文g或者目录列出来 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -mtime n :n*24时内修改过的文件或者目录列出来 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -newer file Q把比fileq要新的文g列出?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 名称查找参数Q?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -gid n <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> Q寻扄lID为n的文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -group name <wbr> Q寻扄l名UCؓname的文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -uid n <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> Q寻找拥有者ID为n的文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -user name <wbr> <wbr> Q寻扄戯名UCؓname的文?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> -name file <wbr> <wbr> Q寻找文件名为file的文Ӟ可以使用通配W) <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> ?如: <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# find / -name zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/oracle/product/10g/cfgtoollogs/dbca/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/oracle/product/10g/cfgtoollogs/emca/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/oracle/oradata/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> [root@redhat ~]# find / -name '*zgz*' <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz/zgz1 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz/zgzdirzgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/zgz/zgzdir <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log00006 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log00002 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log00004 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log00008 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> /home/weblogic/bea/user_projects/domains/zgz/zgz.log00005 <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> 当我们用whereis和locate无法查找到我们需要的文gӞ可以使用findQ但是find是在盘上遍历查 找,因此非常消耗硬盘的资源Q而且效率也非怽Q因此徏议大家优先用whereis和locate?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> locate 是在数据库里查找Q数据库大至每天更新一ơ?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> whereis 可以扑ֈ可执行命令和man page <wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> find 是Ҏ条g查找文g?nbsp;<wbr></span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;" /> <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; background-color: #ffffff;"> which 可以扑ֈ可执行文件和别名(alias)</span></div><img src ="http://www.aygfsteel.com/stevenjohn/aggbug/391103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/stevenjohn/" target="_blank">abin</a> 2012-11-09 16:19 <a href="http://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux nmaphttp://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391090.htmlabinabinFri, 09 Nov 2012 05:11:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391090.htmlhttp://www.aygfsteel.com/stevenjohn/comments/391090.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2012/11/09/391090.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/391090.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/391090.html

nmap 使用介绍

nmap是目前ؓ止最qؓ使用的国外端口扫描工具之一。我们可以从http://www.insecure.org/q?行下载,可以很容易的安装到Windows和unix操作pȝ中,包括mac os xQ通过configure、make 、make install{命令)也可以直接从httpQ?/www.insecure.org/下蝲windows二进Ӟ包括所需要的winpcapQ也可以?httpQ?/www.nmapwin.org/获得nmap的图形windows?/p>

扫描L

$ nmap -sT 192.168.1.18 
Starting nmap 3.48(http://www.insecure.org/nmap/)at 2007-10-10 18:13
EDT Interesting ports on gamebase(192.168.1.18)
 port state serverice
22/tcp open ssh
111/tcp open sunrpc
..........
$ nmap -sR 192.168.1.18
Startingnmap 3.48(http://www.insecure.org/nmap/)at 2007-10-10 18:13
EDT Interesting ports on gamebase(192.168.1.18)
port state serverice
22/tcp open ssh
111/tcp open sunrpc
..........

我们可以使用ping扫描的方法(-sPQ,与fping的工作方式比较相|它发送icmp回送请求到指定范围的ip地址q等待响应。现在很多主 机在扫描的时候都做了处理Q阻塞icmphQ这U情况下。nmap尝试与L的端?0q行q接Q如果可以接收到响应Q可以是syn/ackQ也可以 是rstQ,那么证明L正在q行Q反之,则无法判断主机是否开机或者是否在|络上互q?/p>

扫描tcp端口

q里-sR是怎样在打开的端口上利用RPC命o来判断它们是否运行了RPC服务?/p>

nmap可以在进行端口扫描的tcp报文来做一些秘密的事情。首先,要有一个SYN扫描Q?sS),它只做徏立TCPq接的前面一些工作,只发送一 个设|SYN标志的TCP报文Q一个RESET报文Q那么nmap假设q个端口是关闭的Q那么就不做M事情了。如果接收到一个响应,它ƈ不象正常的连?一样对q个报文q行认Q而是发送一个RET报文QTCP的三ơ握手还没有完成Q许多服务将不会记录q次q接?/p>

有的时候,nmap会告诉我们端口被qoQ这意味着有防火墙或端口过滤器q扰了nmapQ其不能准的判断端口是打开q是关闭的,有的防火墙只能过滤掉q入的连接?/p>

扫描协议

如果试图讉K另一端无E序使用的UDP端口Q主机将发回一个icmp“端口不可?#8221;的提C消息,IP协议也是一栗每个传输层的IP协议都有一个相 兌的编P使用最多的是ICMP(1)、TCP(6)和UDP(17)。所有的IP报文都有一?#8220;协议”域用于指出其中的传输层报文头所使用的协议。如 果我们发送一个没有传输层报文头的原始IP报文q把其协议域~号?30[该编h指类似IPSEC协议的被UCؓ安全报文外壳或SPS协议]Q就可以判断 q个协议是否在主Z实现了。如果我们得到的是ICMP协议不可辄消息Q意味着该协议没有被实现Q否则就是已l实CQ用法ؓ-sO.

隐蔽扫描行ؓ

nmapl出了几个不同的扫描选项Q其中一些可以配套着隐藏扫描行ؓQ得不被系l日志、防火墙和IDS到。提供了一些随机的和欺骗的Ҏ。具体例子如下:

FTP反弹Q在设计上,FTP自n存在一个很大的漏洞Q当使用FTP客户接到FTP服务器时Q你的客h在TCP端口21上与FTP服务器对 话,q个TCPq接UCؓ控制q接。FTP服务器现在需要另一条与客户接,该连接称为数据连接,在这条连接上传送实际的文g数据Q客h开始监听另 一个TCP端口上从服务器发挥的数据q接Q接下来执行一个PORT命o到服务器Q告诉它建立一条数据连接到客户机的IP地址和一个新打开的端口,q种操作 ҎUCؓd传输。许多客h使用|络地址转换或通过防火墙与外界q接Q所以主动传输FTP׃能正常工作,因ؓ由服务器建立的客h的连接通常不允讔R?q?/p>

被动传输是大多数FTP客户机和服务器所使用的方法,因ؓ客户机既建立控制q接又徏立数据连接,q样可以通过防火墙或NAT了?/p>

FTP的PORT命oQ用来告诉FTPq接的服务器Q得与刚刚打开的用于数据连接的端口之间建立一个连接。由于我们不仅指定端口而且指定q接所?的IP地址Q所以客L也可以通过PORT命o让服务器q接CQ何地斏V所以我们一样可以让nmap用这个方法进行防火墙IK。nmap做的所有工作是?一台服务器建立一个主动模式的FTPq接Qƈ发送一个包含它试图扫描的主机IP地址和端口号的PORT命o?/p>

nmap -b aaa@ftp.target.com -p 6000 192.168.1.226
nmap 与ftp服务器的对话的例子:
serverQ?20  target ftp server version 4 ready
client:user  anonymous
server: 331 Guest login ok ,send e-mail as password
client:pass
server :230 login successful
client:PORT 192,168,1.226,23,112
server:200 PORT command successful
client:LIST
server:150 Opening ASCII connection for '/bin/ls'
server:226 Transfer complete

PORT命o起作用,可以刉是别hq行端口扫描Q扫描Q何FTP服务器所能访问的LQ绕q防火墙和端口过滤器Q但q是存在一些危险的Q如果对方登陆到了你的这个匿名FTP服务器上Q从日志查找到相应的匿名FTPq接Q从而知道你的IP地址Q这样就直接暴露了?/p>

nmap -sI I闲扫描Q主要是ƺ骗端口扫描的源地址?/p>

nmap -f 可以把TCP头分片的IP报文q行一些隐蔽的扫描。不完整的TCP报文不被防火墙阻塞也不被IDS到?/p>

nmap-D
选择几台肉鸡Qƈ使用-D标志在命令行中指定它们。namp通过诱骗的IP地址来进行欺骗式端口扫描Q而系l管理员可以同时看到不同的端口扫描,而只有一个是真实的,很好的保护了自己?/p>

os指纹识别
q个是nmap最有用的功能之一Q就是可以鉴别远E主机。通过单的执行|络?描,nmap通常可以告诉你远E主机所q行的OSQ甚臌l到版本受当你指?Q标志Ӟnmap用几种不同的技术从Lq回IP报文中寻找这些鉴?信息。通过发送特别设计的TCP和UDP_nmap可以得到q程L对TCP/IP协议栈的处理Ҏ。它分析结果与保存在文件中的已知特征信息进行比 较?/p>

OS鉴别选项也可以让nmap对TCP报文q行分析以决定另外一些信息,如系l的启动旉QTCP序列P预测的序列号使我们更Ҏ截获报文q猜序列号从而伪造TCPq接?/p>

nmap命o使用详细解释

-P0 -PT -PS -PU -PE -PP -PM -PB 当nmapq行某种cd的端口或协议扫描Ӟ通常都会试先ping LQ这U尝试可使nmap不会费旉在那些未开机的L上,但是许多L与防火墙会阻塞ICMP报文Q我们希望能通过控制使用?/p>

-P0  告诉nmap不ping LQ只q行扫描

-PT  告诉nmap使用TCP的ping

-PS  发送SYN报文?/p>

-PU  发送一个udp ping

-PE  强制执行直接的ICMP ping

-PB  q是默认cdQ可以用ICMP ping 也可以用TCP ping .

-6   该标志允许IPv6支持

-v  -d  使用-v选项可得到更详细的输出,?d选项则增加调试输出?/p>

-oN  按照Z阅读的格式记录屏q上的输出,如果是在扫描多台机器Q则该选项很有用?/p>

-oX  以xml格式向指定的文g记录信息

-oG  以一U易于检索的格式记录信息Q即每台L都以单独的行来记录所有的端口?s信息?/p>

-oA  使用为基本文件名Q以普通格?-oN)、XML格式(-oX)和易于检索的格式Q?oGQjilu  xinxi 

-oM  把输出格式化为机器可阅读的文?/p>

-oS  把输行傻瓜型排版

--resume如果你取消了扫描Q但生成了供人或者供机器阅读的文Ӟ那么可以把该文g提供lnmapl箋让它扫描?/p>

-iR-iL可以不在命o行中指定目标LQ而是使用-iR选项随即产生待扫描的LQ或者?iL选项从一个包含主机名或IP地址列表的文件中d目标LQ这些主机名或IP地址使用I格、制表符或换行隔开?/p>

-F nmap只扫描在nmap内徏的服务文件中已知的端口,如果不指定该选项Qnmap扫描端?1-1024及包含在nmap-services文g中的所有其他端口。如果用-sO选项扫描协议Qnmap用它内建的协议文g(nmap- protocols文g)而不是默认地扫描所?56个协议?/p>

-A nmap使用所有的高扫描选项

-p 参数可以是一个单独的端口、一个用逗号隔开的端口列表、一个?#8220;-”表示的端口范围或者上q格式的Ll合。如果没有指定该选项Qnmap对包含?024个端口的所有端口进行一ơ快速扫描?/p>

-e在多I主ZQ可以指定你用来q行|络通信的网l接口?/p>

-g可以选择一个源端口Q从该端口执行所有的扫描?/p>

--ttlnmap其发送的M报文在到中间路由器的跛_会失效?/p>

--packet-trace 可以昄扫描期间nmap发送和接收的各个报文的详细列表Q这对调试非常有用。要?o选项之一联合使用Q需要根权限Q以所有的数据记录到文件?/p>

--scanflags可以使用q个选项手工的指定欲在扫描报文中讄的TCP标志。也可以指定TCP标志的OOred值的整数形式Q或者标志的字符串表CŞ式?/p>

以上介绍的就是nmap在windows下和unix中的命o介绍?/p>




abin 2012-11-09 13:11 发表评论
]]> վ֩ģ壺 ɣ| ޳| ƽ| Т| ʲ| | | | ̨| | | ƽ| | | | | ζ| | Ϫ| | | | | ˹| ʡ| | ʯ| | | | | ˮ| ̶| ʯɽ| Ͼ| ɽ| | | | | |