码迷,mamicode.com
首页 > 系统相关 > 详细

linux 命令集合

时间:2015-04-01 10:52:05      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:

linux 命令集合1

#请使用 Ctrl + F 键查找

 

#A

#B

#C

chmod + t

  1. Set uid, gid,sticky bit的三个权限的详细说明 
  2. 如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户 
  3. 的密码. 
  4.  
  5. setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有 
  6. 和该目录所属的组相同的组.sticky bit: 该位可以理解为防删除位. 一个文件是否可以被>某用户删除, 主要取决于 
  7.  
  8. 该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不 
  9. 能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则 
  10. 可以对文件使用sticky bit位. 设置该位后, 就算用户对目录 
  11.  
  12. chmod u+s temp — 为temp文件加上setuid标志. (setuid 只对文件有效)  
  13. chmod g+s tempdir — 为tempdir目录加上setgid标志 (setgid 只对目录有效)  
  14. chmod o+t temp — 为temp文件加上sticky标志 (sticky只对文件有效)  
  15.   
  16. 设置完这些标志后, 可以用 ls -l 来查看. 如果有这些标志, 则会在原来的执行标志位置上显示. 如  
  17.   
  18. rwsrw-r– 表示有setuid标志  
  19. rwxrwsrw- 表示有setgid标志  
  20. rwxrw-rwt 表示有sticky标志  
  21.   
  22. chmod 4777  //是设sid  
  23. chmod 2777  //是设置gid  
  24. chmod 1777  //是设sticky  
  25.   
  26. 0: 不设置特殊权限  
  27. 1: 只设置sticky  
  28. 2 : 只设置SGID  
  29. 3: 只设置SGID和sticky  
  30. 4 : 只设置SUID  
  31. 5 : 只设置SUID和sticky  
  32. 6 : 只设置SUID和SGID  
  33. 7 : 设置3种权限 

#D

date 命令

  1. $ date -d ‘6 days ago‘ +‘%F %T‘ 
  2. 2011-12-25 12:59:35 
  3. $ date  +‘%F %T‘ 
  4. 2011-12-31 12:59:41 
  5.  
  6. -d, --date=STRING
    display time described by STRING, not ‘now’

 dd

  1. 用dd把iso镜像写到U盘
  2. dd if=xx.iso of=/dev/sdb 
  3. 注意:sdb文件和分区会清空,请先备份文件。

df "inode 与 block"

  1. root@dn-laptop:~# df  
  2. 文件系统           1K-块      已用      可用 已用% 挂载点 
  3. /dev/sda10            14513072   8232492   5543352  60% / 
  4. none                   1987620       344   1987276   1% /dev 
  5. none                   1992152      5252   1986900   1% /dev/shm 
  6. none                   1992152       120   1992032   1% /var/run 
  7. none                   1992152         0   1992152   0% /var/lock 
  8. none                   1992152         0   1992152   0% /lib/init/rw 
  9. /dev/sda1             52436128   7817028  44619100  15% /mnt/sys 
  10. /dev/sda5            101410280  80687628  20722652  80% /mnt/zm 
  11. /dev/sda6            101378148  15257952  86120196  16% /mnt/cy 
  12. /dev/sda7             20472816  10377856  10094960  51% /mnt/isolinux 
  13. /dev/sda11            19704500   8949012   9754528  48% /data 
  14. /dev/sda8                94195     21950     67381  25% /boot 
  15. /dev/sdb1              7804068   2806716   4997352  36% /media/live 
  16.  
  17. root@dn-laptop:~# df -ih 
  18. 文件系统            Inode (I)已用 (I)可用 (I)已用% 挂载点 
  19. /dev/sda10              901K    156K    745K   18% / 
  20. none                    486K     925    485K    1% /dev 
  21. none                    487K       7    487K    1% /dev/shm 
  22. none                    487K      61    487K    1% /var/run 
  23. none                    487K       1    487K    1% /var/lock 
  24. none                    487K       3    487K    1% /lib/init/rw 
  25. /dev/sda1                43M     33K     43M    1% /mnt/sys 
  26. /dev/sda5                20M     670     20M    1% /mnt/zm 
  27. /dev/sda6                83M     25K     83M    1% /mnt/cy 
  28. /dev/sda7                  0       0       0    -  /mnt/isolinux 
  29. /dev/sda11              1.2M      23    1.2M    1% /data 
  30. /dev/sda8                24K     206     24K    1% /boot 
  31. /dev/sdb1                  0       0       0    -  /media/live 
  32.  
  33. root@dn-laptop:~# dumpe2fs -h /dev/sda11  
  34. dumpe2fs 1.41.11 (14-Mar-2010) 
  35. Filesystem volume name:   <none
  36. Last mounted on:          /data 
  37. Filesystem UUID:          661be7c6-c98f-49c7-b319-6a089c8c0ef3 
  38. Filesystem magic number:  0xEF53 
  39. Filesystem revision #:    1 (dynamic) 
  40. Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize 
  41. Filesystem flags:         signed_directory_hash  
  42. Default mount options:    (none) 
  43. Filesystem state:         clean 
  44. Errors behavior:          Continue 
  45. Filesystem OS type:       Linux 
  46. Inode count:              1253376 
  47. Block count:              5004800 
  48. Reserved block count:     250240 
  49. Free blocks:              2688872 
  50. Free inodes:              1253353 
  51. First block:              0 
  52. Block size:               4096 
  53. Fragment size:            4096 
  54. Reserved GDT blocks:      1022 
  55. Blocks per group:         32768 
  56. Fragments per group:      32768 
  57. Inodes per group:         8192 
  58. Inode blocks per group:   512 
  59. Flex block group size:    16 
  60. Filesystem created:       Wed Nov  9 02:42:52 2011 
  61. Last mount time:          Sun Feb  5 12:09:29 2012 
  62. Last write time:          Sun Feb  5 12:09:29 2012 
  63. Mount count:              4 
  64. Maximum mount count:      25 
  65. Last checked:             Sun Jan 15 08:46:34 2012 
  66. Check interval:           15552000 (6 months) 
  67. Next check after:         Fri Jul 13 08:46:34 2012 
  68. Lifetime writes:          13 GB 
  69. Reserved blocks uid:      0 (user root) 
  70. Reserved blocks gid:      0 (group root) 
  71. First inode:              11 
  72. Inode size:           256 
  73. Required extra isize:     28 
  74. Desired extra isize:      28 
  75. Journal inode:            8 
  76. Default directory hash:   half_md4 
  77. Directory Hash Seed:      0f11af5d-2a04-4715-a393-9aa09db6f743 
  78. Journal backup:           inode blocks 
  79. Journal features:         journal_incompat_revoke 
  80. 日志大小:             128M 
  81. Journal length:           32768 
  82. Journal sequence:         0x00000f42 
  83. Journal start:            0 
  84.  
  85. root@dn-laptop:~# ls -i tmp 
  86. 275362 1key_install_haproxy+keepalived.tgz 
  87. 278238 cluster 
  88. 275363 cluster_25.tar.gz 
  89. 275424 convert 
  90. 272480 convert_old 
  91.  15501 Discuz_X1.5.1_SC_UTF8.zip 
  92. 418768 hadoop 
  93. 278250 libevent-2.0.16-stable.tar.gz 
  94. 278235 mem 
  95. 278251 memcache-2.2.6.tgz 
  96. 278249 memcached-1.4.10.tar.gz 
  97. 278295 memcached.tar.gz 
  98. 278415 webbench-1.5.tar.gz 
  99. 278448 yh 
  100.  
  101. root@dn-laptop:~# stat tmp 
  102.   File: "tmp" 
  103.   Size: 4096        Blocks: 8          IO Block: 4096   目录 
  104. Device: 80ah/2058d  Inode: 272479      Links: 7 
  105. Access: (0755/drwxr-xr-x)  Uid: ( 1000/      dn)   Gid: ( 1000/      dn) 
  106. Access: 2012-02-05 14:24:31.595409520 +0800 
  107. Modify: 2012-02-05 14:24:30.924790284 +0800 
  108. Change: 2012-02-05 14:24:30.924790284 +0800 

 

#E

#F

find 命令

  1. 40分钟更改过的文件
  2. find -mmin -40 | grep php | xargs ls -l 
  3. -rw-r--r-- 1 www www 106336 Nov 24 15:29 ./forumdisplay.php 
  4. time 相关参数
  5.  
  6. ­mtime n ­-n +n
  7.  
  8. 用减号(-n)­来限定更改时间在距今n日以内的文件,而用加号(+n)来限定更改时间在距今n日以前的文件.
    注意:用加号+来限定更改时间在距今 (n+1) 日以前的文件.
  9.  
  10. -amin n 
  11. 查找系统中最后N分钟访问的文件 
  12. -atime n 
  13. 查找系统中最后n*24小时访问的文件 
  14. -cmin n 
  15. 查找系统中最后N分钟被改变文件状态的文件 
  16. -ctime n 
  17. 查找系统中最后n*24小时被改变文件状态的文件 
  18. -mmin n 
  19. 查找系统中最后N分钟被改变文件数据的文件 
  20. -mtime n 
  21. 查找系统中最后n*24小时被改变文件数据的文件 

 找到并且打包!

  1. find . -name ‘*expect*‘ | xargs tar czvf /root/expect.tar.gz 
  2. ./Server/expect-5.43.0-5.1.i386.rpm 
  3. ./Server/expect-5.43.0-5.1.x86_64.rpm 
  4. ./Server/expect-devel-5.43.0-5.1.i386.rpm 
  5. ./Server/expect-devel-5.43.0-5.1.x86_64.rpm 
  6. ./Server/expectk-5.43.0-5.1.x86_64.rpm 
  7. ./Server/pexpect-2.3-1.el5.noarch.rpm
  1. #找到5天以前的文件 
  2. date +‘%F %T‘ 
  3. 2013-01-11 10:59:28 
  4.  
  5. find /test/DB/serverx/var/ -name ‘mysql-bin*0*‘ -ctime +5 
  6. /test/DB/serverx/var/mysql-bin.000063 
  7.  
  8. ll /test/DB/serverx/var/mysql-bin.000063  
  9. -rw-rw----. 1 mysql mysql 1073742035 Dec 25 10:04 /test/DB/serverx/var/mysql-bin.000063 
  10.  
  11. #找到5天以内的文件 
  12. find /test/DB/serverx/var/ -name ‘mysql-bin*0*‘ -ctime -5 

fsck

  1. 功能说明:检查文件系统并尝试修复错误。 
  2.  
  3. 语  法:fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...] 
  4.  
  5. 补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。 
  6.  
  7. 参  数: 
  8. -a   自动修复文件系统,不询问任何问题。 
  9. -A   依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。 
  10. -N   不执行指令,仅列出实际执行会进行的动作。 
  11. -P   当搭配"-A"参数使用时,则会同时检查所有的文件系统。 
  12. -r   采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。 
  13. -R   当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。 
  14. -s   依序执行检查作业,而非同时执行。 
  15. -t<文件系统类型>   指定要检查的文件系统类型。 
  16. -T   执行fsck指令时,不显示标题信息。 
  17. -V   显示指令执行过程。 
  18.  

#G

#H

hdparm

  1. 功能:显示与设定硬盘的参数,hdparm可检测,显示与设定IDE或SCSI硬盘的参数。 
  2.  -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。 
  3.   -A<0或1> 启动或关闭读取文件时的快取功能。 
  4.   -c<I/O模式> 设定IDE32位I/O模式。 
  5.   -C 检测IDE硬盘的电源管理模式。 
  6.   -d<0或1> 设定磁盘的DMA模式。 
  7.   -f 将内存缓冲区的数据写入硬盘,并清除缓冲区。 
  8.   -g 显示硬盘的磁轨,磁头,磁区等参数。 
  9.   -h 显示帮助。 
  10.   -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。 
  11.   -I 直接读取硬盘所提供的硬件规格信息。 
  12.   -k<0或1> 重设硬盘时,保留-dmu参数的设定。 
  13.   -K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。 
  14.   -m<磁区数> 设定硬盘多重分区存取的分区数。 
  15.   -n<0或1> 忽略硬盘写入时所发生的错误。 
  16.   -p<PIO模式> 设定硬盘的PIO模式。 
  17.   -P<磁区数> 设定硬盘内部快取的分区数。 
  18.   -q 在执行后续的参数时,不在屏幕上显示任何信息。 
  19.   -r<0或1> 设定硬盘的读写模式。 
  20.   -S<时间> 设定硬盘进入省电模式前的等待时间。 
  21.   -t 评估硬盘的读取效率。 
  22.   -T 评估硬盘快取的读取效率。 
  23.   -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。 
  24.   -v 显示硬盘的相关设定。 
  25.   -W<0或1> 设定硬盘的写入快取。 
  26.   -X<传输模式> 设定硬盘的传输模式。 
  27.   -y 使IDE硬盘进入省电模式。 
  28.   -Y 使IDE硬盘进入睡眠模式。 
  29.   -Z 关闭某些Seagate硬盘的自动省电功能。 

history 命令中显示时间戳

  1. export HISTTIMEFORMAT="%F %T " 
  2. history 
  3.  
  4. 1008  2011-11-03 16:58:03 date 
  5. 1009  2011-11-03 16:58:07 date -s ‘20111104 16:58:01‘ 
  6. 1010  2011-11-04 16:58:03 history  
  7.  
  8. 添加 export HISTTIMEFORMAT="%F %T " 到 
  9. /etc/profile  中即可自动开启 history 时间戳了

#I

iostat 察看磁盘io

  1. $ iostat -d -k -x 2 
  2. Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)     01/09/2012     _x86_64_    (48 CPU) 
  3.  
  4. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
  5. sda               0.00    17.77    0.01   21.33     0.20   156.29    14.67     0.04    1.65   0.08   0.16 
  6.  
  7. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
  8. sda               0.00    59.00    0.00  107.50     0.00   666.00    12.39     0.02    0.17   0.02   0.25 
  9.  
  10. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
  11. sda               0.00     5.50    0.00   35.50     0.00   164.00     9.24     0.00    0.01   0.01   0.05 
  12.  
  13. ^C 
  14. $ iostat -d -k  2 
  15. Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)     01/09/2012     _x86_64_    (48 CPU) 
  16.  
  17. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
  18. sda              21.34         0.20       156.29     445596  349320689 
  19.  
  20. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
  21. sda               0.00         0.00         0.00          0          0 
  22.  
  23. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
  24. sda              16.50         0.00        70.00          0        140 
  25.  
  26. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
  27. sda              81.50         0.00       392.00          0        784 
  28.  
  29. -k 参数
  30.  
  31. 某些使用block为单位的列强制使用Kilobytes为单位
  32.  
  33. -d 参数
  34.  
  35. tps:该设备每秒的传输次数(Indicate the number of transfers  per  second  that  were  issued  to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。 
  36. kB_read/s:每秒从设备(drive expressed)读取的数据量; 
  37. kB_wrtn/s:每秒向设备(driveexpressed)写入的数据量; 
  38. kB_read:读取的总数据量; 
  39. kB_wrtn:写入的总数量数据量;以上这些单位都为Kilobytes 。 
  40.  
  41. -x 参数 
  42. rrqm/s:  每秒进行 merge 的读操作数目。即 delta(rmerge)/s 
  43. wrqm/s:  每秒进行 merge 的写操作数目。即 delta(wmerge)/s 
  44. r/s:     每秒完成的读 I/O 设备次数。即 delta(rio)/s 
  45. w/s:     每秒完成的写 I/O 设备次数。即 delta(wio)/s 
  46. rsec/s:  每秒读扇区数。即 delta(rsect)/s 
  47. wsec/s:  每秒写扇区数。即 delta(wsect)/s 
  48. rkB/s:   每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) 
  49. wkB/s:   每秒写K字节数。是 wsect/s 的一半。(需要计算) 
  50. avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) 
  51. avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 
  52. await:    平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) 
  53. svctm:    平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) 
  54. %util:    一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

 

#J

#K

#L

#M

minicom 

  1. 1.minicom 的执行 
  2.  
  3. 第一次 启动时: 
  4. 即输入 minicom提示 错误。则 需: minicom -s 
  5. 启动 
  6. 出现配置菜单:选serial port setup 
  7. 进入串口配置 
  8. 输入A配置串口驱动为/dev/ttyS0 
  9. 输入E配置速率为115200 8N1 
  10. 输入F将 Hardware Flow Control 设 为 NO 
  11. 回车 退出 
  12. 由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置. 
  13. 在配置菜单 选Save setup as df1保存(一定要记得这一步) 
  14. 选Exit退出 
  15.  
  16. 下次在输入minicon 即可直接进入。 
  17. 命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。 
  18. 说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。 
  19.  
  20. 注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复

#N

nc 命令

  1. -h 帮助信息 
  2. -i secs 延时的间隔 
  3. -l 监听模式,用于入站连接 
  4. -n 指定数字的IP地址,不能用hostname 
  5. -o file 记录16进制的传输 
  6. -p port 本地端口号 
  7. -r 任意指定本地及远程端口 
  8. -s addr 本地源地址 
  9. -u UDP模式 
  10. -v 详细输出——用两个 
  11. -v可得到更详细的内容 
  12. -w secs timeout的时间 
  13. -z 将输入输出关掉——用于扫描时,其中端口号可以指定一个或者用lo-hi式的指定范围。 

//监控端口

  1. nc -nz 192.168.57.91 443 && echo $? 
  2.  
  3. nc - arbitrary TCP and UDP connections and listens 
  4. -n 这个参数只能识别IP地址,如果是域名则不给解析 
  5. -z 这个参数only scan 

//扫描端口

  1. $ nc -w 2 10.0.100.70 -z 22-999 
  2. Connection to 10.0.100.70 22 port [tcp/ssh] succeeded! 
  3. Connection to 10.0.100.70 80 port [tcp/http] succeeded! 
  4. Connection to 10.0.100.70 111 port [tcp/sunrpc] succeeded! 
  5. Connection to 10.0.100.70 822 port [tcp/*] succeeded! 
  6. Connection to 10.0.100.70 910 port [tcp/*] succeeded! 
  7. Connection to 10.0.100.70 941 port [tcp/*] succeeded! 

//主机之间拷贝文件

主机A监听端口

  1. 主机监听 1234端口,重定向数据到 rem.tar.gz
  2. dn@dn-Vostro-230:~$ nc -l 1234 > rem.tar.gz  
  3. dn@dn-Vostro-230:~$ file rem.tar.gz  
  4. rem.tar.gz: gzip compressed data, from Unix, last modified: Fri May 18 11:26:45 2012 

主机B传送文件

  1. root@dn-ThinkPad-E420:~# nc 192.168.4.164 1234 remmina.tar.gz

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

  1. TIME_WAIT 17 
  2. ESTABLISHED 3254 
  3. LAST_ACK 236 
  4. FIN_WAIT_1 648 
  5. FIN_WAIT_2 581 
  6. CLOSING 7 
  7. CLOSE_WAIT 4916 
  8.  
  9. 解析: 
  10. CLOSED //无连接是活动的或正在进行 
  11. LISTEN //服务器在等待进入呼叫 
  12. SYN_RECV //一个连接请求已经到达,等待确认 
  13. SYN_SENT //应用已经开始,打开一个连接 
  14. ESTABLISHED //正常数据传输状态/当前并发连接数 
  15. FIN_WAIT1 //应用说它已经完成 
  16. FIN_WAIT2 //另一边已同意释放 
  17. ITMED_WAIT //等待所有分组死掉 
  18. CLOSING //两边同时尝试关闭 
  19. TIME_WAIT //另一边已初始化一个释放 
  20. LAST_ACK //等待所有分组死掉  

netstat -s | grep timestamp

... packets rejects in established connections because of timestamp

//netstat 其他参数

  -e    显示以太网统计信息。此选项可以与 -s选项组合使用。

  -s   显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

//Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
执行netstat后,其输出结果为
.....

从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
常见参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

#O

#P

parted 命令详细说明

  1. check NUMBER                                检查文件系统 
  2. cp [FROM-DEVICE]FROM-NUMBER TO-NUMBER      复制文件系统到另外一个分区 
  3. help[COMMAND]                             显示全部帮助信息或者指定命令的帮助信息 
  4. mklabel,mktable LABEL-TYPE                  在分区表中创建一个新的磁盘标签 
  5. mkfs NUMBER FS-TYPE                         在分区上创建一个指定类型的文件系统 
  6. mkpart PART-TYPE[FS-TYPE]START END          创建一个分区 
  7. mkparts PART-TYPE[FS-TYPE]START END         创建一个分区,并在分区上创建指定的文件系统 
  8. move NUMBER START END                       移动分区 
  9. name NUMBER NAME                            以指定的名字命名分区号 
  10. print [free|NUMBER|all]                     显示分区表、指定的分区或者所有设备 
  11. quit                                        退出parted程序 
  12. rescue START END                            修复丢失的分区 
  13. resize NUMBER START END                     更改分区的大小 
  14. rm NUMBER                                   删除分区 
  15. select DEVICE                               选择需要更改的设备 
  16. set NUMBER FLAG STATE                       更改分区的标记 
  17. toggle [NUMBER[FLAG]]                       设置或取消分区的标记 
  18. unit UNIT                                   设置默认单位 
  19. version                                     显示parted的版本信息
  20.  
  21. //resize 更改分区大小
  22. (parted) p 
  23.  
  24. Model: VMware Virtual disk (scsi) 
  25. Disk /dev/sda: 107GB 
  26. Sector size (logical/physical): 512B/512B 
  27. Partition Table: msdos 
  28.  
  29. Number  Start   End     Size    Type      File system  标志 
  30.  1      32.3kB  107MB   107MB   主分区    ext3         启动 
  31.  2      107MB   4401MB  4294MB  主分区    linux-swap        
  32.  3      4401MB  21.5GB  17.1GB  主分区    ext3              
  33.  4      21.5GB  107GB   85.9GB  扩展分区               lba  
  34.  
  35. (parted) rm                                                                
  36. 分区编号? 4                                                               
  37. (parted) p                                                                 
  38.  
  39. Model: VMware Virtual disk (scsi) 
  40. Disk /dev/sda: 107GB 
  41. Sector size (logical/physical): 512B/512B 
  42. Partition Table: msdos 
  43.  
  44. Number  Start   End     Size    Type    File system  标志 
  45.  1      32.3kB  107MB   107MB   主分区  ext3         启动 
  46.  2      107MB   4401MB  4294MB  主分区  linux-swap        
  47.  3      4401MB  21.5GB  17.1GB  主分区  ext3              
  48.  
  49. (parted) mkpart 
  50. 分区类型?  primary/主分区/extended/扩展分区? extended                     
  51. 起始点? 21.5GB                                                            
  52. 结束点? 100GB 
  53. (parted) p 
  54.  
  55. Model: VMware Virtual disk (scsi) 
  56. Disk /dev/sda: 107GB 
  57. Sector size (logical/physical): 512B/512B 
  58. Partition Table: msdos 
  59.  
  60. Number  Start   End     Size    Type      File system  标志 
  61.  1      32.3kB  107MB   107MB   主分区    ext3         启动 
  62.  2      107MB   4401MB  4294MB  主分区    linux-swap        
  63.  3      4401MB  21.5GB  17.1GB  主分区    ext3              
  64.  4      21.5GB  100GB   78.5GB  扩展分区               lba  
  65.  
  66. (parted) resize 4 21.5GB 107GB                                             
  67. (parted) p                                                                 
  68.  
  69. Model: VMware Virtual disk (scsi) 
  70. Disk /dev/sda: 107GB 
  71. Sector size (logical/physical): 512B/512B 
  72. Partition Table: msdos 
  73.  
  74. Number  Start   End     Size    Type      File system  标志 
  75.  1      32.3kB  107MB   107MB   主分区    ext3         启动 
  76.  2      107MB   4401MB  4294MB  主分区    linux-swap        
  77.  3      4401MB  21.5GB  17.1GB  主分区    ext3              
  78.  4      21.5GB  107GB   85.9GB  扩展分区               lba 
  1. (parted) p                                                                 
  2. ....
  3.  5      21.5GB  483GB   462GB   logical 
  4. (parted) toggle 5 lvm 
    (parted) p                                                                 
  5. ....
  6. 5      21.5GB  483GB   462GB   logical                   lvm 

pidof

  1. pidof -- find the process ID of a running program. 
  2.  
  3. pidof sshd 
  4. 1051

#Q

#R

resize2fs

  1. NAME 
  2.        resize2fs - ext2/ext3/ext4 file system resizer 
  3.  
  4. SYNOPSIS 
  5.        resize2fs  [  -fFpPM  ]  [ -d debug-flags ] [ -S RAID-stride ] device [ 
  6.        size ] 
  7.  
  8.  
  9. resize2fs计划将调整的ext2,ext3或ext4文件系统。 
  10. 它可用于放大或缩小位于挂载的文件系统设备。 
  11. 如果文件系统被安装,它可以用来扩大挂载文件系统的大小,假设内核支持上线调整。  
  12. (Linux 2.6内核的支持上线调整为文件系统的安装使用ext3和ext4)。

rsync 命令

  1. rsync -av /root /tmp/ #同步整个源目录(包括子目录,隐藏文件) 到 目的目录
  2. rsync -av /root/ /tmp/ #同步源目录下的所有文件(不包扩源目录本身) 到 目的目录
  3. rsync -av /root/* /tmp/ #同步源目录下的所有文件(不包括源目录本身,隐藏文件) 到 目的目录
  4.  
  5. #rsync服务器 本地 
  6. rsync -avz --progress test@xen::test/ /uu/test1/ 
  7.  
  8. #本地 rsync服务器
  9. rsync -avz --progress /data/yia_upload test@xen::test/       
  10.  
  11. #本地 本地 
  12. rsync -av  --progress <src-dir>/ <dst-dir
  13. rsync -av --progress <src-dir> <dst-dir>/
  14.  
  15. --delete 参数删除多文件,注意 root 是系统账户,test 则是rsync配置的虚拟账户
  16. rsync -avz --progress --delete root@xen:/data/test/ /mnt/isolinux/test/ 
  17. --bwlimit 参数限制网络带宽 limit I/O bandwidth; KBytes per second
  18.  
  19. rsync -avzP rsync://192.168.57.71/iso/
  20.  

 

rsync://

  1. Rsync的命令格式可以为以下六种: 
  2.   rsync [OPTION]… SRC DEST 
  3.   rsync [OPTION]… SRC [USER@]HOST:DEST 
  4.   rsync [OPTION]… [USER@]HOST:SRC DEST 
  5.   rsync [OPTION]… [USER@]HOST::SRC DEST 
  6.   rsync [OPTION]… SRC [USER@]HOST::DEST 
  7.   rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]
  1. --exclude=PATTERN       exclude files matching PATTERN 
  2. --exclude=PATTERN 
  3.               This  option  is  a  simplified form of the --filter option that 
  4.               defaults to an exclude rule and does not allow  the  full  rule- 
  5.               parsing syntax of normal filter rules. 
  6.  
  7.               See  the  FILTER  RULES section for detailed information on this 
  8.               option. 
  9. -f, --filter=RULE           add a file-filtering RULE 
  10. -f, --filter=RULE 
  11.               This option allows you to add rules to selectively exclude  cer- 
  12.               tain  files  from  the  list of files to be transferred. This is 
  13.               most useful in combination with a recursive transfer. 
  14.  
  15.               You may use as many --filter options on the command line as  you 
  16.               like to build up the list of files to exclude. 
  17.  
  18.               See  the  FILTER  RULES section for detailed information on this 
  19.               option. 

#S

sar  察看网卡流量

  1. $ sar -V 
  2. sysstat version 7.0.2 
  3. $ sar -n DEV 2 0 
  4. Linux 2.6.18-164.el5 (haproxy_space.yoka.com)     01/09/2012 
  5.  
  6. 11:15:00 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 
  7. 11:15:02 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
  8. 11:15:02 AM      eth0   2414.72   2253.30 474214.72 1541307.11      0.00      0.00      0.00 
  9. 11:15:02 AM      eth1   2789.85   2902.54 1576987.82 535732.49      0.00      0.00      0.00 
  10. 11:15:02 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
  11.  
  12. 11:15:02 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 
  13. 11:15:04 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
  14. 11:15:04 AM      eth0   1967.50   1746.50 407060.50 1156965.00      0.00      0.00      0.00 
  15. 11:15:04 AM      eth1   2343.50   2363.50 1226763.00 458485.50      0.00      0.00      0.00 
  16. 11:15:04 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
  17.  
  18.  
  19. $ sar -V 
  20. sysstat version 9.0.4 
  21. $ sar -n DEV 2 | grep -E ‘IFACE|eth1‘ 
  22. 10:43:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  23. 10:43:02 AM      eth1    140.50    133.00     25.70     64.43      0.00      0.00      0.00 
  24. 10:43:02 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  25. 10:43:04 AM      eth1    145.26    139.47     27.48     65.21      0.00      0.00      0.00 
  26. 10:43:04 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  27. 10:43:06 AM      eth1     59.81     44.50      7.08     27.71      0.00      0.00      0.00 
  28. 10:43:06 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  29. 10:43:08 AM      eth1    101.96     89.71     21.05     31.50      0.00      0.00      0.00 
  30. 10:43:08 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  31. 10:43:10 AM      eth1    138.31    134.33     25.19     57.16      0.00      0.00      0.00 
  32. 10:43:10 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
  33. 10:43:12 AM      eth1    132.49    134.01     24.64     74.04      0.00      0.00      0.00 
  34.  
  35. -n DEV | EDEV | SOCK | FULL 
  36.  
  37. DEV参数: 
  38.  
  39. Network devices 的统计信息被报告 
  40. IFACE:设备名字 
  41. rxpck/s:每秒收到的包(package) 
  42. txpck/s:每秒传输的包 
  43. rxbyt/s:每秒收到的字节 
  44. txbyt/s:每秒传输的字节 
  45. rxcmp/s:每秒收到的压缩包(如cslip..) 
  46. txcmp/s: 
  47. rxmcst/s: 每秒收到的广播包

scp -P 参数

  1. scp -P 90  rsync_tmp root@1.1.1.2:/root/ 
  2. -P port  Specifies the port to connect to on the remote host 
  3. # ssh 默认端口为22,如果更改了使用-P参数即可,这里可以发现一个规律!  
  4. command(命令名称) option(选项) argument(参数)
  5.           scp          -P 90        rsync_tmp root@1.1.1.2:/root/

sleep && usleep

  1. usleep - 睡眠若干微秒   
  2. 总览 (SYNOPSIS) 
  3.  
  4. usleep [number]   
  5. 描述 (DESCRIPTION) 
  6.  
  7. usleep 睡眠 指定数目 的 微秒数. 缺省值 是 1.   
  8.  
  9. 时间的单位换算 
  10. 1秒=1000毫秒(ms) 
  11. 1毫秒=1/1,000秒(s) 
  12. 1秒=1,000,000 微秒(μs)  
  13. 1微秒=1/1,000,000秒(s)  
  14. 1秒=1,000,000,000 纳秒(ns)  
  15. 1纳秒=1/1,000,000,000秒(s)  
  16. 1秒=1,000,000,000,000 皮秒(ps)  
  17. 1皮秒=1/1,000,000,000,000秒(s) 

ssh

  1. 选项 
  2.  
  3. -C (compression) 启用压缩功能。(在ssh的商业版本中,"-C"关闭压缩功能,而"+C"则开启压缩功能。) 
  4.  
  5. -f (not foreground) 在询问口令之后且在执行command之前,将ssh送到后台运行。如果希望在后台执行command但是又必须输入口令的话,这个选项就特别有用。该选项还暗含着-n选项。 
  6.  
  7. -L 将本地系统中的某个端口转发到远程系统。更多信息请参见8.6节。 
  8.  
  9. -l user (login)试图以user用户身份进行登录。 
  10.  
  11. -n (null)将ssh的标准输入重定向,从/dev/null获取输入。如果在后台运行ssh的话(-f选项),就需要这个选项。 
  12.  
  13. -o option (option)按照配置文件所用的格式来指定option(参见8.3.7节)。 
  14.  
  15. -p (port)指定要连接到的远程主机的端口。通过使用配置文件中的host声明(参见8.3.7节),可以为你所连接到的每个系统指定不同的端口。 
  16.  
  17. -R 将远程系统上的某个端口转发到本地客户端。更多信息请参见8.6节。 
  18.  
  19. -t (tty)为远程系统上的ssh进程分配一个伪tty(终端)。如果没有使用这个选项,当你在远程系统上运行某条命令的时候,ssh不会为该进程分配tty(终端)。相反,ssh将会把远端进程的标准输入和标准输出附加到ssh会话上去,这通常就是你所希望的(但并非总是如此)。这个选项将强制ssh在远端系统上分配tty,这样那些需要tty的程序就能够正常运行。 
  20.  
  21. -v (verbose)显示与连接和传送有关的调试信息。如果命令运行不太正常的话,这个选项就会非常有用。 
  22.  
  23. -X (X11)开启不可信X11转发。如果在配置文件中开启X11不可信转发的话,这个选项就没有必要。更多信息请参见8.6节的"X11转发"部分。 
  24.  
  25. -x (X11)关闭X11转发。 
  26.  
  27. -Y (X11trusted)开启可信X11转发。如果在配置文件中开启X11可信转发的话,这个选项就没有必要。更多信息请参见8.6节的"X11转发"部分。 

ssh 执行远程命令

  1. 执行远程命令 如果包含了command参数,ssh就会登录到host,执行command,关闭与host的连接,
  2. 然后将控制返回到本地系统。远程系统不曾显示提示符。
  3.  
  4. $ ssh bbs2 ‘cat /etc/hosts‘ | diff - /etc/hosts
  5.  
  6. 在运行ssh时,这条命令(在远程系统上运行)的标准输出将会传送到本地shell,就像是这条命令在本地系统中运行一样。
  7. 跟所有shell命令一样,如果不希望本地系统解释某些特殊字符,就必须将这些特殊字符用引号引起来。在上一个示例中,
  8. bbs2上cat命令的输出通过上的一个管道发送到diff,diff拿本地文件/etc/hosts与
  9. 标准输入(-)进行比较。下面的命令行具有同样的效果,但是会让diff在远程系统上执行:
  10.  
  11. $ cat /etc/hosts | ssh bbs2 ‘diff - /etc/hosts‘
  1. 远程系统上diff的标准输出被发送到本地shell,然后显示在屏幕上(因为没有进行重定向)。

strace 命令

strace使用参数

-p 跟踪指定的进程 
-f 跟踪由fork子进程系统调用 
-F 尝试跟踪vfork子进程系统调吸入,与-f同时出现时, vfork不被跟踪 
-o filename 默认strace将结果输出到stdout。通过-o可以将输出写入到filename文件中 
-ff 常与-o选项一起使用,不同进程(子进程)产生的系统调用输出到filename.PID文件 
-r 打印每一个系统调用的相对时间 
-t 在输出中的每一行前加上时间信息。 -tt 时间确定到微秒级。还可以使用-ttt打印相对时间 
-v 输出所有系统调用。默认情况下,一些频繁调用的系统调用不会输出 
-s 指定每一行输出字符串的长度,默认是32。文件名一直全部输出 
-c 统计每种系统调用所执行的时间,调用次数,出错次数。 
-e expr 输出过滤器,通过表达式,可以过滤出掉你不想要输出

  1. $ strace -c -p 30809 
  2. Process 30809 attached - interrupt to quit 
  3. Process 30809 detached 
  4. % time     seconds  usecs/call     calls    errors syscall 
  5. ------ ----------- ----------- --------- --------- ---------------- 
  6.  28.27    0.019333           1     25372           close 
  7.   9.57    0.006546           1     12686           writev 
  8.   9.21    0.006297           0     12686           accept 
  9.   8.70    0.005951           0     12686           write 
  10.   7.12    0.004868           0     12686           open 
  11.   6.96    0.004756           0     12825           epoll_wait 
  12.   6.19    0.004231           0     12635           stat 
  13.   4.97    0.003398           0     12686           recvfrom 
  14.   4.52    0.003092           0     12686           fstat 
  15.   4.03    0.002755           0     12605           setsockopt 
  16.   4.01    0.002741           0     12704           epoll_ctl 
  17.   3.28    0.002241           0     12605           sendfile 
  18.   3.17    0.002171           0     12686           ioctl 
  19. ------ ----------- ----------- --------- --------- ---------------- 
  20. 100.00    0.068380                177548           total 

 

#T

tar

  1. Removing leading ‘/‘ from members names 
  2. tar  
  3. -P, --absolute-names 
  4.               don’t strip leading ‘/’s from file names 
  5.  -C, --directory=DIR 
  6.               change to directory DIR 

 例如:tar包压缩时相对路径问题

  1. tar czfP mysql.tar.gz -C /usr/local/mysql/var/ mysql  
  2. tar czfP /data/20130216/2013-02-16-wd.tar.gz -C /var/www/html/ wd 
  3. #注意中间的空格 -C是临时切换工作目录,-P是绝对路径.

 

tr 命令从标准输入删除或替换字符,并将结果写入标准输出。根据由 String1 和 String2 变量指定的字符串以及指定的标志,tr 命令可执行三种操作。

  1. $ cat tt 
  2. c  
  3. $ cat tt | tr ‘\n‘ ‘ ‘ 
  4. a b c  [~]$
  1. echo ‘FLUSH TABLES WITH READ LOCK‘ | tr ‘[A-Z]‘ ‘[a-z]‘ 
  2. flush tables with read lock 

#U

unzip

  1. 功能说明:解压缩zip文件 
  2. 语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z] 
  3. 补充说明:unzip为.zip压缩文件的解压缩程序。 
  4. 参  数: 
  5.   -c   将解压缩的结果显示到屏幕上,并对字符做适当的转换。 
  6.   -f   更新现有的文件。 
  7.   -l   显示压缩文件内所包含的文件。 
  8.   -p   与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 
  9.   -t   检查压缩文件是否正确。 
  10.   -u   与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 
  11.   -v   执行是时显示详细的信息。 
  12.   -z   仅显示压缩文件的备注文字。 
  13.   -a   对文本文件进行必要的字符转换。 
  14.   -b   不要对文本文件进行字符转换。  
  15.   -C   压缩文件中的文件名称区分大小写。 
  16.   -j   不处理压缩文件中原有的目录路径。 
  17.   -L   将压缩文件中的全部文件名改为小写。 
  18.   -M   将输出结果送到more程序处理。 
  19.   -n   解压缩时不要覆盖原有的文件。 
  20.   -o   不必先询问用户,unzip执行后覆盖原有文件。 
  21.   -P<密码>   使用zip的密码选项。 
  22.   -q   执行时不显示任何信息。 
  23.   -s   将文件名中的空白字符转换为底线字符。 
  24.   -V   保留VMS的文件版本信息。 
  25.   -X   解压缩时同时回存文件原来的UID/GID。 
  26.   [.zip文件]   指定.zip压缩文件。 
  27.   [文件]   指定要处理.zip压缩文件中的哪些文件。 
  28.   -d<目录>   指定文件解压缩后所要存储的目录。 
  29.   -x<文件>   指定不要处理.zip压缩文件中的哪些文件。 
  30.   -Z   unzip -Z等于执行zipinfo指令

#V

#W

#wget 命令

//-S | --server-response
//Print the headers sent by HTTP servers and responses sent by FTP servers.

  1.  wget -S http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 
  2. --2012-07-23 13:48:30--  http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 
  3. Resolving blog.test.com (blog.test.com)... 192.168.57.82 
  4. Connecting to blog.test.com (blog.test.com)|192.168.57.82|:80... connected. 
  5. HTTP request sent, awaiting response...  
  6.   HTTP/1.0 200 OK 
  7.   Server: nginx 
  8.   Date: Mon, 23 Jul 2012 02:50:52 GMT 
  9.   Content-Type: image/png 
  10.   Content-Length: 26191 
  11.   Last-Modified: Mon, 23 Jul 2012 02:49:44 GMT 
  12.   Expires: Sun, 19 May 2013 02:50:52 GMT 
  13.   Cache-Control: max-age=25920000 
  14.   Accept-Ranges: bytes 
  15.   Age: 10644 
  16.   X-Cache: HIT from cache02.test.com 
  17.   X-Cache: MISS from cache01.test.com 
  18.   Via: 1.1 cache02.test.com:80 (squid/2.7.STABLE9), 1.0 cache01.test.com:80 (squid/2.7.STABLE9) 
  19. Length: 26191 (26K) [image/png] 
  20. Saving to: `u12-1.png.1‘ 

 --no-check-certificate 以不安全的方式连接

  1. wget https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 
  2. --2011-10-13 11:37:24--  https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 
  3. 正在连接 192.168.7.81:1443... 已连接。 
  4. 错误: 无法验证 192.168.7.81 的由 “/O=VMware Installer” 颁发的证书: 
  5.   无法本地校验颁发者的权限。 
  6. 错误: 证书通用名 “VMware default certificate” 与所要求的主机名 “192.168.7.81” 不符。 
  7. 要以不安全的方式连接至 192.168.7.81,使用‘--no-check-certificate’。 
  8.  
  9. wget --no-check-certificate https://192.168.57.81:1443/converter/VMware-Converter-Client.exe 
  10. --2011-10-13 11:38:01--  https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 
  11. 正在连接 192.168.57.81:1443... 已连接。 
  12. 警告: 无法验证 192.168.57.81 的由 “/O=VMware Installer” 颁发的证书: 
  13.   无法本地校验颁发者的权限。 
  14. 警告: 证书通用名 “VMware default certificate” 与所要求的主机名 “192.168.7.81” 不符。 
  15. 已发出 HTTP 请求,正在等待回应... 200 OK 
  16. 长度: 26534072 (25M) [application/octet-stream] 
  17. 正在保存至: “VMware-Converter-Client.exe” 
  18.  
  19. 100%[======================================>] 26,534,072  11.0M/s   in 2.3s     
  20.  
  21. 2011-10-13 11:38:03 (11.0 MB/s) - 已保存 “VMware-Converter-Client.exe” [26534072/26534072])

#X

#Y

#Z

linux 命令集合

标签:

原文地址:http://www.cnblogs.com/CHEUNGKAMING/p/4383044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!