Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1373595
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: LINUX

2011-06-06 11:09:20

  1. 原帖地址为:http://yunhaozou.org/perl-shell/162.html
  2.  
  3. 1.显示消耗内存/CPU最多的10个进程
  4. ps aux | sort -nk +4 | tail
  5. ps aux | sort -nk +3 | tail
  6. ——————————————————————————————————————————
  7. 2.查看Apache的并发请求数及其TCP连接状态
  8. netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}
  9. ——————————————————————————————————————————
  10. 3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数)
  11. sed -e ‘s/| /\n/g’ ~/.bash_history |cut -d ‘ ‘ -f 1 | sort | uniq -c | sort -nr | head
  12. ——————————————————————————————————————————
  13. 4.日志中第10个字段表示连接时间,求平均连接时间
  14. cat access_log |grep “connect cbp” |awk ‘BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf(“sum=%d,count=%d,avg=%f\n”,sum,count,
  15. sum/count)}
  16. ——————————————————————————————————————————
  17. 5.lsof命令
  18. lsof abc.txt 显示开启文件abc.txt的进程
  19. lsof -i :22 知道22端口现在运行什么程序
  20. lsof -c abc 显示abc进程现在打开的文件
  21. lsof -p 12 看进程号为12的进程打开了哪些文件
  22. ——————————————————————————————————————————
  23. 6.杀掉一个程序的所有进程
  24. pkill -9 httpd
  25. killall -9 httpd
  26. 注意尽量不用-9,数据库服务器上更不能轻易用kill,否则造成重要数据丢失后果将不堪设想。
  27. ——————————————————————————————————————————
  28. 7.rsync命令(要求只同步某天的压缩文件,而且远程目录保持与本地目录一致)
  29. /usr/bin/rsync -azvR –password-file=/etc/rsync.secrets `find . -name “*$yesterday.gz” -type f ` storage@192.168.2.23::logbackup/13.21/
  30. ——————————————————————————————————————————
  31. 8.把目录下*.sh文件改名为*.SH
  32. find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv \0 \1.SH/|sh
  33. find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv & \1.SH/|sh (跟上面那个效果一样)
  34. ——————————————————————————————————————————
  35. 9.ssh执行远程的程序,并在本地显示
  36. ssh -n -l zouyunhao 192.168.2.14 “ls -al /home/zouyunhao”
  37. ——————————————————————————————————————————
  38. 10. 直接用命令行修改密码
  39. echo “zouyunhaoPassword” |passwd –stdin zouyunhao
  40. ——————————————————————————————————————————
  41. ssh-keygen
  42. ssh-copy-id -i ~/.ssh/id_rsa.pub user@remoteServer
  43. ——————————————————————————————————————————
  44. 12.以http方式共享当前文件夹的文件
  45. $ python -m SimpleHTTPServer
  46. 在浏览器访问http://IP:8000/即可下载当前目录的文件。(挻有意思的!)
  47. ——————————————————————————————————————————
  48. 13.shell段注释
  49. :<<’echo hello,world!’
  50. ——————————————————————————————————————————
  51. 14.查看服务器序列号
  52. dmidecode |grep “Serial Number” (查看机器其他硬件信息也可用这个命令)
  53. ——————————————————————————————————————————
  54. 15.查看网卡是否有网线物理连接
  55. /sbin/mii-tool
  56. ——————————————————————————————————————————
  57. 16.查看linux系统或者mysql错误码表示的意思,如查看13错误码表示的意思:
  58. perror 13
  59. ——————————————————————————————————————————
  60. 17.关于cpu个数
  61. 查看逻辑cpu个数:cat /proc/cpuinfo | grep “processor” | wc -l
  62. 查看物理cpu个数:cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l
  63. 查看每个物理cpu的核数cores:cat /proc/cpuinfo | grep “cpu cores”
  64. 如果所有物理cpu的cores个数加起来小于逻辑cpu的个数,则该cpu使用了超线程技术。查看每个物理cpu中逻辑cpu的个数:cat /proc/cpuinfo | grep “siblings”
  65.  
  66. ——————————————————————————————————————————
  67. 18.从格式不规范的日志中截取字符串
  68. perl -ne ’print “$1\n” if /servletPath=(\S+)/g’ test.log
  69. ——————————————————————————————————————————
  70. 19. 把所有的文件名含有空格的,把空格去掉
  71. find ./ -type f | while read line;do echo $line|grep -q " " && \mv "$line" $(echo $line|sed 's/ //g');done
  72. ------------------------------------------
  73. 20.把所有的文件夹的文件名含有空格的,把空格去掉
  74. find ./ -type d -name '*'|while read file; do echo $file|grep -q " " && mv "$file" $(echo $file|tr -d ' '); done
  75.  
  76.      当文件名的末尾以空格结束时,就不能用命令行来实现,需要使用脚本:
  77.  
  78. #!/bin/bash
  79. IFS=$'\n'
  80. find ./ -type f | while read line;do echo $line|grep -q " " && \mv "$line" $(echo $line|sed 's/ //g');done
  81.  
  82. -------------------------------------------
  83.  
  84. 21.生成随机字符串:
  85.  
  86. # tr -dc _A-Z-a-z#$%^*-0-9 </dev/urandom |head -c8
  87. chgSh^eJ
  88. 或者
  89. # mkpasswd -l 8 -d 1 -c 3 -C 2 -s 2
  90. G_ze3Hto
  91.  
  92. -------------------------------------------
  93.  
  94. 22.linux统计PCI插槽数量:
  95.  
  96. [root@vcdog ~]# dmidecode |grep -1 PCI
  97.                 ISA is supported
  98.                 PCI is supported
  99.                 PC Card (PCMCIA) is supported
  100. --
  101. System Slot Information
  102.         Designation: PCI Slot J11
  103.         Type: 32-bit PCI
  104.         Current Usage: In Use
  105. --
  106. System Slot Information
  107.         Designation: PCI Slot J12
  108.         Type: 32-bit PCI
  109.         Current Usage: In Use
  110. --
  111. System Slot Information
  112.         Designation: PCI Slot J13
  113.         Type: 32-bit PCI
  114.         Current Usage: In Use
  115. --
  116. System Slot Information
  117.         Designation: PCI Slot J14
  118.         Type: 32-bit PCI
  119.         Current Usage: Available
  120.  
  121. ----------------------------------------
  122.  
  123.  
  124. 23. nmap探测远程主机的开放端口及操作系统:
  125. # nmap -A -T4 192.168.1.28 //此处可以为主机名,域名,或主机IP地址
  126. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2010-12-28 09:46 CST
  127. Interesting ports on bogon (192.168.1.29):
  128. Not shown: 1677 closed ports
  129. PORT STATE SERVICE VERSION
  130. 135/tcp open msrpc Microsoft Windows RPC
  131. 139/tcp open netbios-ssn
  132. 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
  133. MAC Address: 70:5A:B6:09:45:FA (Unknown)
  134. Device type: general purpose
  135. Running: Microsoft Windows NT/2K/XP
  136. OS details: Microsoft Widows XP SP2
  137. Service Info: OS: Windows
  138.  
  139. ------------------------------------
  140. 24. linux下的文件去掉^M硬回车的方法:
  141.     
  142.   (1)# cat test.txt |tr -d '^M' >test.new
  143.   (2).# sed -i 's/^M//g' test.txt
  144.   (3)# dos2unix test.txt
  145.   (4)在vi中用:%s/^M//g
  146. 注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”。
阅读(655) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~