Linux 常用 ls命令详解

linyu520 发表了文章 • 0 个评论 • 291 次浏览 • 2016-11-22 16:06 • 来自相关话题

  ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息。
 
一、ls命令用法:
  ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:用法:ls [选项]... [文件]... 
二、ls命令参数详解:
下面是爱E族(aiezu.com)收集整理的ls详细选项,如有错误的地方,欢迎指正:参数名描述-a
--all列出所有的文件和目录,包括以“.”号开头的;-A
--almost-all列出所有的文件和目录,包括以“.”号开头的(除了“.”和“..”);-b
--escape 将文件名中的不可见字符,使用“\”开头的八进制转换字符表示;--block-size=SIZE指定每块的大小,如果指定了此值,将显示块数,不再显示文件大小;
可能的值:
  数   字,如:50、1024、102400;
  数字+单位,如:1k、2m、5g、10t;-B
--ignore-backups不要显示以“~”结尾的文件;-c按文件修改时间排序,可以使用“-l”选项显示创建时间;-C使用列的顺序输出文件列表;--color[=WHEN]是否使用不同的颜色区分文件类型,可能的值:
  never:从不;
  always:总是;
  auto:自动。-d
--directory列出目录的信息,而不是列出命令里面的内容;-D
--diredGenerate output designed for Emacs' dired mode;-f 不排序, 使用“-aU”选项, 停用“-lst”选项;-F
--classify给文件名末尾添加一个标识符(*/=@|中的一个):
  “*”:可执行文件;
  “/”:目录;
  “=”:socket文件;
  “@”:符号链接(symbolic link)文件;
  “|”:FIFOs文件;--format=WORD设置输出的格式,可能的值:
  across:相当于“-x”;
  commas:相当于“-m”;
  horizontal:相当于“-x”;
  long:相当于“-l”;
  single-column:相当于“-1”;
  verbose:相当于“-l”;
  vertical:相当于“-C”;--full-time列出文件完整的修改日期和时间;-g(ignored)-G
--no-group不显示文件的用户组;-h
--human-readable自动将文件大小使用方便阅读的方式表示,如:1.23K, 2.4M, 9G;-H
--si单位转换使用1000,而不是1024;
如:1M = 1000K,而不是 1M = 1024K;--indicator-style=WORD按指定样式给文件名追加一个标识,可能的值:
  none:不添加,默认值;
  classify:相当于“-F”;
  file-type: 相当于“-p”;
  slash:目录添加斜杠;-i
--inode输出文件使用的index node;-I
--ignore=PATTERNDo not list implied entries matching shell PATTERN-k
--kilobytes以K为单位显示文件大小,相当于“--block-size=1024”;-l以长列表的形式显示文件的详细信息;-L
--dereference列出符号链接指向的条目,而不是列出符号链接;-m 所有的相连并使用“,”逗号分隔;-n
--numeric-uid-gid使用数字UIDs、GIDs来代替名字;-N
--literal输出原始名称,对特殊字符不做特别处理,如:控制字符;-o 使用没有组信息的长列表格式-p
--file-type根据文件类型,给文件名末尾添加一个标识符(/=@|中的一个);-q
--hide-control-chars以?号代替不可显示字符(默认);--show-control-chars显示控制字符,不使用?号代替;-Q
--quote-name给名称加上双引号;--quoting-style=WORD条目名称使用的引号样式,可选的值:literal、shell、shell-always、c、c-maybe、escape、clocale;-r
--reverse 使用反序排序;-R
--recursive递归列出目录和子目录的文件;-s
--size以块为单位输出文件大小;-S根据文件大小排序;--sort=WORD排序关键词,可能的值: "none", "time", "size", "extension", "version";--time=WORD显示文档的指定时间,而不是显示修改时间,可能的值:
  atime, access, use, ctime or status; 
如果“--sort=time”,也可以使用此时间作为排序键;-t使用修改时间排序;-T
--tabsize=COLS设置tab制表符的长度,而不是使用默认的8字符长度;-u 按最后访问时间排序; 使用“-l”显示最后访问时间;-U 不排序,使用目录的默认顺序;-v 按版本排序-w
--width=COLS指定屏幕宽度,而不是使用屏幕的实际宽度;-x按行的顺序显示,而不是按列的顺序;-X按字母顺序排序;-1每行显示一个文件;--help显示帮助信息;--version输出版本号; 
三、用法演示:
1、“-a”和“-A”选项的区别:[root@aiezu.com ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo

[root@aiezu.com ~]# ls -A
anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo
 2、“-b”和“--show-control-chars”选项演示:
  下面通过创建两个含不可显示字符“\001”和“\n”的文件名,来展示“-b”和“--show-control-chars”选项的区别:[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"

[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"

[root@aiezu.com mm]# ls
aiezu.com?.txt aiezu?.com.txt

[root@aiezu mm]# ls -b
aiezu.com\001.txt aiezu\n.com.txt

[root@aiezu.com mm]# ls --show-control-chars
aiezu.com.txt aiezu
.com.txt 
3、文件大小:[root@S2 opt]# ls -l aiezu.com.zip
-rw-r--r-- 1 root root 8007112 Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -lh aiezu.com.zip
-rw-r--r-- 1 root root 7.7M Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -l --block-size=1k aiezu.com.zip
-rw-r--r-- 1 root root 7820 Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -s aiezu.com.zip
7820 aiezu.com.zip 
4、ls命令“-F 参数”与“-p”参数演示:



5、文件创建时间、访问时间、修改时间:#文件的创建时间
[root@aiezu mm]# ls -lc aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:43 aiezu.com.conf

[root@aiezu mm]# ls --full-time --time=ctime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:43:23.572000000 +0800 aiezu.com.conf



#文件的修改时间:
[root@aiezu mm]# ls -l aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:41 aiezu.com.conf

[root@aiezu mm]# ls --full-time aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:41:55.575000000 +0800 aiezu.com.conf



#文件的访问时间:
[root@aiezu mm]# ls -lu aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:42 aiezu.com.conf

[root@aiezu mm]# ls --full-time --time=atime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:42:15.060000000 +0800 aiezu.com.conf 查看全部
  ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息。
 
一、ls命令用法:
  ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:
用法:ls [选项]... [文件]...
 
二、ls命令参数详解:
下面是爱E族(aiezu.com)收集整理的ls详细选项,如有错误的地方,欢迎指正:
参数名描述
-a
--all
列出所有的文件和目录,包括以“.”号开头的;
-A
--almost-all
列出所有的文件和目录,包括以“.”号开头的(除了“.”和“..”);
-b
--escape 
将文件名中的不可见字符,使用“\”开头的八进制转换字符表示;
--block-size=SIZE指定每块的大小,如果指定了此值,将显示块数,不再显示文件大小;
可能的值:
  数   字,如:50、1024、102400;
  数字+单位,如:1k、2m、5g、10t;
-B
--ignore-backups
不要显示以“~”结尾的文件;
-c按文件修改时间排序,可以使用“-l”选项显示创建时间;
-C使用列的顺序输出文件列表;
--color[=WHEN]是否使用不同的颜色区分文件类型,可能的值:
  never:从不;
  always:总是;
  auto:自动。
-d
--directory
列出目录的信息,而不是列出命令里面的内容;
-D
--dired
Generate output designed for Emacs' dired mode;
-f 不排序, 使用“-aU”选项, 停用“-lst”选项;
-F
--classify
给文件名末尾添加一个标识符(*/=@|中的一个):
  “*”:可执行文件;
  “/”:目录;
  “=”:socket文件;
  “@”:符号链接(symbolic link)文件;
  “|”:FIFOs文件;
--format=WORD设置输出的格式,可能的值:
  across:相当于“-x”;
  commas:相当于“-m”;
  horizontal:相当于“-x”;
  long:相当于“-l”;
  single-column:相当于“-1”;
  verbose:相当于“-l”;
  vertical:相当于“-C”;
--full-time列出文件完整的修改日期和时间;
-g(ignored)
-G
--no-group
不显示文件的用户组;
-h
--human-readable
自动将文件大小使用方便阅读的方式表示,如:1.23K, 2.4M, 9G;
-H
--si
单位转换使用1000,而不是1024;
如:1M = 1000K,而不是 1M = 1024K;
--indicator-style=WORD按指定样式给文件名追加一个标识,可能的值:
  none:不添加,默认值;
  classify:相当于“-F”;
  file-type: 相当于“-p”;
  slash:目录添加斜杠;
-i
--inode
输出文件使用的index node;
-I
--ignore=PATTERN
Do not list implied entries matching shell PATTERN
-k
--kilobytes
以K为单位显示文件大小,相当于“--block-size=1024”;
-l以长列表的形式显示文件的详细信息;
-L
--dereference
列出符号链接指向的条目,而不是列出符号链接;
-m 所有的相连并使用“,”逗号分隔;
-n
--numeric-uid-gid
使用数字UIDs、GIDs来代替名字;
-N
--literal
输出原始名称,对特殊字符不做特别处理,如:控制字符;
-o 使用没有组信息的长列表格式
-p
--file-type
根据文件类型,给文件名末尾添加一个标识符(/=@|中的一个);
-q
--hide-control-chars
以?号代替不可显示字符(默认);
--show-control-chars显示控制字符,不使用?号代替;
-Q
--quote-name
给名称加上双引号;
--quoting-style=WORD条目名称使用的引号样式,可选的值:literal、shell、shell-always、c、c-maybe、escape、clocale;
-r
--reverse 
使用反序排序;
-R
--recursive
递归列出目录和子目录的文件;
-s
--size
以块为单位输出文件大小;
-S根据文件大小排序;
--sort=WORD排序关键词,可能的值: "none", "time", "size", "extension", "version";
--time=WORD显示文档的指定时间,而不是显示修改时间,可能的值:
  atime, access, use, ctime or status; 
如果“--sort=time”,也可以使用此时间作为排序键;
-t使用修改时间排序;
-T
--tabsize=COLS
设置tab制表符的长度,而不是使用默认的8字符长度;
-u 按最后访问时间排序; 使用“-l”显示最后访问时间;
-U 不排序,使用目录的默认顺序;
-v 按版本排序
-w
--width=COLS
指定屏幕宽度,而不是使用屏幕的实际宽度;
-x按行的顺序显示,而不是按列的顺序;
-X按字母顺序排序;
-1每行显示一个文件;
--help显示帮助信息;
--version输出版本号;
 
三、用法演示:
1、“-a”和“-A”选项的区别:
[root@aiezu.com ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo

[root@aiezu.com ~]# ls -A
anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo

 2、“-b”和“--show-control-chars”选项演示:
  下面通过创建两个含不可显示字符“\001”和“\n”的文件名,来展示“-b”和“--show-control-chars”选项的区别:
[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"

[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"

[root@aiezu.com mm]# ls
aiezu.com?.txt aiezu?.com.txt

[root@aiezu mm]# ls -b
aiezu.com\001.txt aiezu\n.com.txt

[root@aiezu.com mm]# ls --show-control-chars
aiezu.com.txt aiezu
.com.txt
 
3、文件大小:
[root@S2 opt]# ls -l aiezu.com.zip 
-rw-r--r-- 1 root root 8007112 Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -lh aiezu.com.zip
-rw-r--r-- 1 root root 7.7M Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -l --block-size=1k aiezu.com.zip
-rw-r--r-- 1 root root 7820 Nov 22 21:45 aiezu.com.zip

[root@S2 opt]# ls -s aiezu.com.zip
7820 aiezu.com.zip
 
4、ls命令“-F 参数”与“-p”参数演示:
未标题-1.png

5、文件创建时间、访问时间、修改时间:
#文件的创建时间
[root@aiezu mm]# ls -lc aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:43 aiezu.com.conf

[root@aiezu mm]# ls --full-time --time=ctime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:43:23.572000000 +0800 aiezu.com.conf



#文件的修改时间:
[root@aiezu mm]# ls -l aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:41 aiezu.com.conf

[root@aiezu mm]# ls --full-time aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:41:55.575000000 +0800 aiezu.com.conf



#文件的访问时间:
[root@aiezu mm]# ls -lu aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:42 aiezu.com.conf

[root@aiezu mm]# ls --full-time --time=atime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:42:15.060000000 +0800 aiezu.com.conf

Linux 常用ping命令详解

linyu520 发表了文章 • 0 个评论 • 1070 次浏览 • 2016-11-22 00:13 • 来自相关话题

  不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。
 
一、ping用法:
  ping命令运行在命令提示符终端,用法为:“ping 参数 目标主机”。其中参数为零到多个,目标主机可以是IP或者域名。Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination
 二、ping参数详解:
下面是爱E族(aiezu.com)收集整理的ping详细参数,可能部分不全或翻译错误,欢迎指正:参数详解-aAudible ping.-A自适应ping,根据ping包往返时间确定ping的速度;-b允许ping一个广播地址;-B不允许ping改变包头的源地址;-c countping指定次数后停止ping; -d 使用Socket的SO_DEBUG功能;-F flow_label为ping回显请求分配一个20位的“flow label”,如果未设置,内核会为ping随机分配;-f极限检测,快速连续ping一台主机,ping的速度达到100次每秒;-i interval设定间隔几秒发送一个ping包,默认一秒ping一次;-I interface指定网卡接口、或指定的本机地址送出数据包;-l preload设置在送出要求信息之前,先行发出的数据包;-L抑制组播报文回送,只适用于ping的目标为一个组播地址-n 不要将ip地址转换成主机名;-p pattern指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;-q不显示任何传送封包的信息,只显示最后的结果-Q tos设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数,详见rfc1349和rfc2474文档;-R记录ping的路由过程(IPv4 only);
注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;-r忽略正常的路由表,直接将数据包送到远端主机上,通常是查看本机的网络接口是否有问题;如果主机不直接连接的网络上,则返回一个错误。-S sndbufSet socket sndbuf. If not specified, it is selected to buffer not more than one packet.-s packetsize指定每次ping发送的数据字节数,默认为“56字节”+“28字节”的ICMP头,一共是84字节;
包头+内容不能大于65535,所以最大值为65507(linux:65507, windows:65500);-t ttl设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;-T timestamp_option设置IP timestamp选项,可以是下面的任何一个:
  'tsonly' (only timestamps)
  'tsandaddr' (timestamps and addresses)
  'tsprespec host1 [host2 [host3]]' (timestamp prespecified hops). -M hint 设置MTU(最大传输单元)分片策略。
可设置为:
  'do':禁止分片,即使包被丢弃;
  'want':当包过大时分片;
  'dont':不设置分片标志(DF flag);-m mark设置mark;-v使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包;-U Print full user-to-user latency (the old behaviour).
Normally ping prints network round trip time, which can be different f.e. due to DNS failures.-W timeout以毫秒为单位设置ping的超时时间;-w deadlinedeadline;参考内容:http://ss64.com/bash/ping.html
 
三、输出格式:



下图为简单的ping产生的响应内容,图中返回内容具体的含义如下:① ping目标主机的域名和IP(ping会自动将域名转换为IP)② 不带包头的包大小和带包头的包大小(参考“-s”参数)③ icmp_seq:ping序列,从1开始;  ttl:剩余的ttl;  time: 响应时间,数值越小,联通速度越快;④ 发出去的包数,返回的包数,丢包率,耗费时间;⑤ 最小/最大/平均响应时间和本机硬件耗费时间;  
 
四、简单例子:
1、每隔0.6秒ping一次,一共ping 5次:[root@aiezu.com ~]# ping -c 5 -i 0.6 qq.com
PING qq.com (14.17.32.211) 56(84) bytes of data.
64 bytes from 14.17.32.211: icmp_seq=1 ttl=54 time=16.5 ms
64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=17.0 ms
64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=16.6 ms
64 bytes from 14.17.32.211: icmp_seq=4 ttl=54 time=18.3 ms
64 bytes from 14.17.32.211: icmp_seq=5 ttl=54 time=19.9 ms

--- qq.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 2405ms
rtt min/avg/max/mdev = 16.520/17.692/19.919/1.293 ms 
2、极限快速的使用大包ping:
  以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力:[root@aiezu ~]# ping -f -s 65507 10.0.0.52
PING 10.0.0.52 (10.0.0.52) 65507(65535) bytes of data.
.^
--- 10.0.0.52 ping statistics ---
646 packets transmitted, 646 received, 0% packet loss, time 1675ms
rtt min/avg/max/mdev = 1.202/2.406/8.253/0.507 ms, ipg/ewma 2.598/2.318 ms注意:此用法非常危险,65535(包头+内容)*100个包每秒=6.25MB,每秒发送6.25MB的数据,相当于50Mbps的带宽,完全可能导致目标主机拒绝服务。请勿用于非法用途,造成不良后果自负。

3、联通不稳定,丢包严重的情形:
  下面的ping发出17个ping icmp包,而只有序号为8、9、12的包收到响应信息,丢包率达82%,联通非常不稳定:[root@aiezu.com ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=8 ttl=43 time=32.3 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=43 time=32.2 ms
64 bytes from 8.8.8.8: icmp_seq=12 ttl=43 time=32.0 ms
^C
--- 8.8.8.8 ping statistics ---
17 packets transmitted, 3 received, 82% packet loss, time 16003ms
rtt min/avg/max/mdev = 32.038/32.208/32.362/0.246 ms 
4、完全无法ping通的情形:[root@aiezu.com ~]# ping -c 3 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.

--- 9.9.9.9 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms 
五、常见错误:
1、错误一:ping: packet size too large: 70000WARNING: packet size 65508 is too large. Maximum is 65507
PING 10.0.0.52 (10.0.0.52) 65508(65536) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500解决:
  将ping的“-s”参数设置一个更小的值,windows最大值为“65500”,linux最大值为“65507”。 查看全部
  不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。
 
一、ping用法:
  ping命令运行在命令提示符终端,用法为:“ping 参数 目标主机”。其中参数为零到多个,目标主机可以是IP或者域名。
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination

 二、ping参数详解:
下面是爱E族(aiezu.com)收集整理的ping详细参数,可能部分不全或翻译错误,欢迎指正:
参数详解
-aAudible ping.
-A自适应ping,根据ping包往返时间确定ping的速度;
-b允许ping一个广播地址;
-B不允许ping改变包头的源地址;
-c countping指定次数后停止ping; 
-d 使用Socket的SO_DEBUG功能;
-F flow_label为ping回显请求分配一个20位的“flow label”,如果未设置,内核会为ping随机分配;
-f极限检测,快速连续ping一台主机,ping的速度达到100次每秒;
-i interval设定间隔几秒发送一个ping包,默认一秒ping一次;
-I interface指定网卡接口、或指定的本机地址送出数据包;
-l preload设置在送出要求信息之前,先行发出的数据包;
-L抑制组播报文回送,只适用于ping的目标为一个组播地址
-n 不要将ip地址转换成主机名;
-p pattern指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;
-q不显示任何传送封包的信息,只显示最后的结果
-Q tos设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数,详见rfc1349和rfc2474文档;
-R记录ping的路由过程(IPv4 only);
注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;
-r忽略正常的路由表,直接将数据包送到远端主机上,通常是查看本机的网络接口是否有问题;如果主机不直接连接的网络上,则返回一个错误。
-S sndbufSet socket sndbuf. If not specified, it is selected to buffer not more than one packet.
-s packetsize指定每次ping发送的数据字节数,默认为“56字节”+“28字节”的ICMP头,一共是84字节;
包头+内容不能大于65535,所以最大值为65507(linux:65507, windows:65500);
-t ttl设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;
-T timestamp_option设置IP timestamp选项,可以是下面的任何一个:
  'tsonly' (only timestamps)
  'tsandaddr' (timestamps and addresses)
  'tsprespec host1 [host2 [host3]]' (timestamp prespecified hops). 
-M hint 设置MTU(最大传输单元)分片策略。
可设置为:
  'do':禁止分片,即使包被丢弃;
  'want':当包过大时分片;
  'dont':不设置分片标志(DF flag);
-m mark设置mark;
-v使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包;
-U Print full user-to-user latency (the old behaviour).
Normally ping prints network round trip time, which can be different f.e. due to DNS failures.
-W timeout以毫秒为单位设置ping的超时时间;
-w deadlinedeadline;
参考内容:http://ss64.com/bash/ping.html
 
三、输出格式:
linux_bash_ping.png
下图为简单的ping产生的响应内容,图中返回内容具体的含义如下:
  • ① ping目标主机的域名和IP(ping会自动将域名转换为IP)
  • ② 不带包头的包大小和带包头的包大小(参考“-s”参数)
  • ③ icmp_seq:ping序列,从1开始;
  •   ttl:剩余的ttl;
  •   time: 响应时间,数值越小,联通速度越快;
  • ④ 发出去的包数,返回的包数,丢包率,耗费时间;
  • ⑤ 最小/最大/平均响应时间和本机硬件耗费时间; 
 
 
四、简单例子:
1、每隔0.6秒ping一次,一共ping 5次:
[root@aiezu.com ~]# ping -c 5 -i 0.6 qq.com
PING qq.com (14.17.32.211) 56(84) bytes of data.
64 bytes from 14.17.32.211: icmp_seq=1 ttl=54 time=16.5 ms
64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=17.0 ms
64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=16.6 ms
64 bytes from 14.17.32.211: icmp_seq=4 ttl=54 time=18.3 ms
64 bytes from 14.17.32.211: icmp_seq=5 ttl=54 time=19.9 ms

--- qq.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 2405ms
rtt min/avg/max/mdev = 16.520/17.692/19.919/1.293 ms
 
2、极限快速的使用大包ping:
  以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力:
[root@aiezu ~]# ping -f -s 65507 10.0.0.52
PING 10.0.0.52 (10.0.0.52) 65507(65535) bytes of data.
.^
--- 10.0.0.52 ping statistics ---
646 packets transmitted, 646 received, 0% packet loss, time 1675ms
rtt min/avg/max/mdev = 1.202/2.406/8.253/0.507 ms, ipg/ewma 2.598/2.318 ms
注意:此用法非常危险,65535(包头+内容)*100个包每秒=6.25MB,每秒发送6.25MB的数据,相当于50Mbps的带宽,完全可能导致目标主机拒绝服务。请勿用于非法用途,造成不良后果自负。

3、联通不稳定,丢包严重的情形:
  下面的ping发出17个ping icmp包,而只有序号为8、9、12的包收到响应信息,丢包率达82%,联通非常不稳定:
[root@aiezu.com ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=8 ttl=43 time=32.3 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=43 time=32.2 ms
64 bytes from 8.8.8.8: icmp_seq=12 ttl=43 time=32.0 ms
^C
--- 8.8.8.8 ping statistics ---
17 packets transmitted, 3 received, 82% packet loss, time 16003ms
rtt min/avg/max/mdev = 32.038/32.208/32.362/0.246 ms
 
4、完全无法ping通的情形:
[root@aiezu.com ~]# ping -c 3 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.

--- 9.9.9.9 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms
 
五、常见错误:
1、错误一:
ping: packet size too large: 70000
WARNING: packet size 65508 is too large. Maximum is 65507
PING 10.0.0.52 (10.0.0.52) 65508(65536) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
解决:
  将ping的“-s”参数设置一个更小的值,windows最大值为“65500”,linux最大值为“65507”。

nginx 禁止指定目录执行php

回复

匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 302 次浏览 • 2016-11-12 20:09 • 来自相关话题

Linux如何查看PHP版本号

回复

liuliangsong 回复了问题 • 1 人关注 • 1 个回复 • 647 次浏览 • 2016-10-24 17:51 • 来自相关话题

apache将搜索引擎抓取日志记录到独立的日志文件

linyu520 发表了文章 • 0 个评论 • 192 次浏览 • 2016-10-17 21:13 • 来自相关话题

  我们做SEO的时候,常常希望知道搜索引擎爬虫什么时候光顾了我们的网站,这时我们就可以同下面的方法,将搜索引擎的抓取日志单独放在一个日志文件中。

1、 识别搜索引擎:
在“/etc/httpd/conf/httpd.conf”文件“LogFormat”前面添加如下内容,用来判断是蜘蛛抓取还是真实用户访问:SetEnvIfNoCase User-Agent "(Googlebot|Mediapartners-Google|Baiduspider|MSNBot|sogou spider|Sosospider|YodaoBot|Yahoo|Yahoo)" robot
2、 定义日志格式:
在“httpd.conf”文件“LogFormat”下面添加一行,设置一个新的日志格式:LogFormat "%{%Y-%m-%d %H:%M:%S}t %>s %V %h %b %r \"%{User-agent}i\" \"%{Referer}i\"" big
3、 记录搜索引擎日志:
如果服务器上面架了多个站点,就在"VirtualHost"中新增下面一行,否则就在httpd.conf中“CustomLog”下面新增下面一行:CustomLog logs/aiezu.com-robot big env=robot上面的big是第二步定义的日志格式,robot是第一步的判断是否为搜索引擎的变量。

4、测试配置文件并重新加载配置文件:httpd -t
service httpd reload 查看全部
  我们做SEO的时候,常常希望知道搜索引擎爬虫什么时候光顾了我们的网站,这时我们就可以同下面的方法,将搜索引擎的抓取日志单独放在一个日志文件中。

1、 识别搜索引擎:
在“/etc/httpd/conf/httpd.conf”文件“LogFormat”前面添加如下内容,用来判断是蜘蛛抓取还是真实用户访问:
SetEnvIfNoCase User-Agent "(Googlebot|Mediapartners-Google|Baiduspider|MSNBot|sogou spider|Sosospider|YodaoBot|Yahoo|Yahoo)" robot

2、 定义日志格式:
在“httpd.conf”文件“LogFormat”下面添加一行,设置一个新的日志格式:
LogFormat "%{%Y-%m-%d %H:%M:%S}t %>s %V %h %b %r \"%{User-agent}i\" \"%{Referer}i\"" big

3、 记录搜索引擎日志:
如果服务器上面架了多个站点,就在"VirtualHost"中新增下面一行,否则就在httpd.conf中“CustomLog”下面新增下面一行:
CustomLog logs/aiezu.com-robot big env=robot
上面的big是第二步定义的日志格式,robot是第一步的判断是否为搜索引擎的变量。

4、测试配置文件并重新加载配置文件:
httpd -t
service httpd reload

linux进程资源占用高原因分析命令

linyu520 发表了文章 • 0 个评论 • 151 次浏览 • 2016-10-17 18:46 • 来自相关话题

1、查看进程的线程:ps -eLf|egrep 'httpd'
 2、跟踪线程调用:strace -p 15530
3、统计线程中函数的调用小号CPU时间:strace -p 16334 -c
strace -p 15530 -o out.file #输出到out.file文件
4、只显示recv函数的调用:strace -p 5314 -f -F -e recv
5、gdb调试线程:gdb -p pid
6、查看线程打开的文件描述符:lsof -p pid  查看全部
1、查看进程的线程:
ps -eLf|egrep 'httpd'

 2、跟踪线程调用:
strace -p 15530

3、统计线程中函数的调用小号CPU时间:
strace  -p 16334 -c
strace -p 15530 -o out.file #输出到out.file文件

4、只显示recv函数的调用:
strace  -p 5314 -f -F -e recv

5、gdb调试线程:
gdb -p pid

6、查看线程打开的文件描述符:
lsof -p pid
 

apache如何设置文件系统权限

回复

匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 910 次浏览 • 2016-12-03 23:04 • 来自相关话题