测试字符串的长度是否大于4。下面例子说明既有内部shell test 命令,也有系统test命令。
[root@localhost ~]# test -l "hello" -gt 4 && echo "Y"
-bash: test: -l: unary operator expected
[root@localhost ~]# /usr/bin/test -l "hello" -gt 4 && echo "Y"
Y
[root@localhost ~]# ping --help
ping: invalid option -- '-'
Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
[-M mtu discovery hint] [-S sndbuf]
[ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
参 数:
-d 使用Socket的SO_DEBUG功能。
-c<完成次数> 设置完成要求回应的次数。
-f 极限检测。
-i<间隔秒数> 指定收发信息的间隔时间。
-I<网络界面> 使用指定的网络界面送出数据包。
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p<范本样式> 设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s<数据包大小> 设置数据包的大小。
-t<存活数值> 设置存活数值TTL的大小。
-v 详细显示指令的执行过程。
linuxso注:linux下的ping和windows下的ping稍有区别,linux下ping不会自动终止,需要按ctrl+c终止或者用参数-c指定要求完成的回应次数
linux下测试本机与目标主机连通性的命令是ping,这里主要讲解两个参数 –c 与 – i
其中 –c count 次数,也就是ping的次数
-i interval 间隔 ,每次ping之间的时间空格
[root@localhost ~]# ping -c 3 -i 0.5 www.baidu.com
PING www.a.shifen.com (119.75.217.109) 56(84) bytes of data.
64 bytes from 119.75.217.109: icmp_seq=1 ttl=51 time=12.3 ms
64 bytes from 119.75.217.109: icmp_seq=2 ttl=51 time=11.7 ms
64 bytes from 119.75.217.109: icmp_seq=3 ttl=51 time=11.8 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1015ms
rtt min/avg/max/mdev = 11.722/11.991/12.358/0.296 ms
当然如果上面 –i 的时间小于ping的time,系统将会提示.
实际测试中,这个时间很小了,但是依然没有给出提示。
[root@localhost ~]# ping -c 3 -i 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 www.163.com
PING www.163.z.lxdns.com (121.195.178.239) 56(84) bytes of data.
64 bytes from 121.195.178.239: icmp_seq=1 ttl=55 time=11.8 ms
64 bytes from 121.195.178.239: icmp_seq=2 ttl=55 time=11.2 ms
64 bytes from 121.195.178.239: icmp_seq=3 ttl=55 time=11.4 ms
--- www.163.z.lxdns.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 33ms
rtt min/avg/max/mdev = 11.235/11.515/11.829/0.273 ms, pipe 2, ipg/ewma 16.606/11.720 ms
[root@localhost ~]#
- ping
传送一个 ICMP 封包给某部主机
语法:
说明:[test@test test]# ping [-b broadcast]
[test@test test]# ping [-c number] host
参数说明:
-b broadcast :当要 ping 一个网段时,可以使用这个方式来『广播』!
-c number :后面加上 number (数字)可以限制 ping 几次!
范例:
[test@test test]# ping -c 5 tw.yahoo.com <==除了IP也可以 ping domain name!
PING tw.yahoo.com (202.1.237.21) from 61.28.113.1 : 56(84) bytes of data.
64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=0 ttl=245 time=7.133 msec
64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=1 ttl=245 time=7.497 msec
64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=2 ttl=245 time=6.625 msec
64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=3 ttl=245 time=6.457 msec
64 bytes from tw.yahoo.com (202.1.237.21): icmp_seq=4 ttl=245 time=6.434 msec
--- tw.yahoo.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/mdev = 6.434/6.829/7.497/0.421 ms
[test@test test]# ping -b 192.168.1.255 -c 2 <==这里必须是广播地址
WARNING: pinging broadcast address
PING 192.168.1.255 (192.168.1.255) from 192.168.1.254 : 56(84) bytes of data.
64 bytes from 192.168.1.36: icmp_seq=0 ttl=255 time=191 usec
64 bytes from 192.168.1.45: icmp_seq=0 ttl=255 time=492 usec (DUP!)
64 bytes from 192.168.1.254: icmp_seq=0 ttl=255 time=531 usec (DUP!)
--- 140.116.44.255 ping statistics ---
2 packets transmitted, 2 packets received, +6 duplicates, 0% packet loss
round-trip min/avg/max/mdev = 0.134/0.811/2.094/0.647 ms
这个东西好用的很!不论在哪一个操作系统当中,他都是相当有用的网络侦错指令!例如您要侦测一下您的网络卡是否正确的备执行了,可以使用『 ping your.NIC.IP.address』来查阅!当然啰!加上次数更好:『 ping -c 5 your.NIC.IP.address 』!无论如何,这个指令一定要记得的啦!
- icmp:指的是ICMP 这个协定啰!
- ttl:指的是 time to live 啦!当经过一个节点, ttl 就会减少一!而预设有 255 个!以上面为例,我的 Linux 主机连接到 tw.yahoo.com 共经过 10 个 gateway ,所以 ttl 剩下 245 !
traceroute
调查连接到某部主机时,每个节点的联机速度
语法:
说明:[root@test root]#traceroute [-i interface] [-g gateway] [host|IP]
参数说明:
-i :使用这个 interface 来连出去!例如 eth0, ppp0 等!
-g :使用这个 gateway 来连出去!例如 192.168.1.2, 140.116.141.29 等!
范例:
[root@test root]# traceroute tw.yahoo.com
traceroute to tw.yahoo.com (202.1.237.21), 30 hops max, 38 byte packets
1 140.116.141.253 (140.116.141.253) 123.958 ms 96.357 ms 97.810 ms
2 140.116.140.253 (140.116.140.253) 103.548 ms 87.607 ms 78.227 ms
3 163.28.112.253 (163.28.112.253) 99.522 ms 84.379 ms 79.858 ms
4 210.242.251.246 (210.242.251.246) 104.429 ms 86.622 ms 79.857 ms
5 211.22.226.50 (211.22.226.50) 97.897 ms 86.031 ms 87.177 ms
6 TaiPei-TANET-P1.BR.HiNet.NET (168.95.207.242) 101.981 ms 58.149 ms 60.231 ms
7 168.95.17.162 (168.95.17.162) 69.198 ms 63.294 ms 58.594 ms
8 210.65.200.10 (210.65.200.10) 65.950 ms 67.336 ms 63.503 ms
9 211.22.35.169 (211.22.35.169) 67.572 ms 92.535 ms 83.105 ms
10 211.22.41.89 (211.22.41.89) 106.855 ms 92.540 ms 87.201 ms
11 alteon6.tpe.yahoo.com (202.1.237.253) 122.347 ms 92.235 ms 91.266 ms
这个指令相当的有用途,他可以用来判断当一部远程主机无法联机时候,到底封包是停顿在哪一个节点上!因为很多时候,您常常会发现『咦!网络速度怎么变慢了?』然后自己的主机似乎没有问题呀!这个时候就可以使用这个指令查检查一下,是否在联机的过程当中,有些节点被挡下来了呢?!很好用的啦!不过,万一如果出现了 *** 在 traceroute 的输出结果中,那就表示该 router 应该有点问题吶!得赶紧向上头报告去维修喔!