随笔分类 -  Linux

摘要:在各个环境下使用正则表达式会有细微的区别,几乎不好察觉,很容易得到错误的结果:因此对比下shell、php、vim下各个grep的方法PS shell下使用的是egrep,珍爱生命,远离GREP.有很多的通用特性不能使用,会很郁闷的。--- cite fromhttp://www.chinaunix.net/jh/24/446683.html *egrep: 为grep的扩充版本,改良了许多传统grep不能或不便的操作.比方说: -grep之下不支持?与+这两种modifier,但egrep则可. -grep不支持a|b或(abc|xyz)这类"或一"比对,但egrep则可 阅读全文
posted @ 2011-11-10 14:23 Hector 阅读(421) 评论(0) 推荐(0)
摘要:系统# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc 阅读全文
posted @ 2011-06-09 12:42 Hector 阅读(168) 评论(0) 推荐(0)
摘要:对于长期运行的系统,产生的日志是大量的,即使每2秒一条,一天也有4W多条。假如我们只需要在想观察的时候动态地看到当前记录或计数,那么可以将日志的信息写到一个共享内存区,然后写一个LogReader,去访问这个共享内存区即可。要使用共享内存,应该有如下步骤:1.开辟一块共享内存 shmget()2.允许本进程使用共某块共享内存 shmat()3.写入/读出需要删除这块内存的时候,步骤为4.禁止本进程使用这块共享内存 shmdt()5.删除这块共享内存 shmctl()或者命令行下ipcrm过程会用到以下的这些函数: int shmget( key_t shmkey , int shmsiz , 阅读全文
posted @ 2011-03-17 11:38 Hector 阅读(3225) 评论(0) 推荐(0)
摘要:老师说:今天听说: 两个包分别包含:ab ac但是序列号重叠一个xp 系统重组两个包得到 aaclinux 系统重组两个包得到 abc 你实验一下是否如此? 另外win7是什么结果------------------分割线------------------这破玩意搞了我整整一天……由于需要定义序号,所以不能用系统提供的send和recv函数发送两个关键的包了,只能自己构造。无头苍蝇般找相关的工具,找了好一会才下了libnet并安装,把sample里面的tcp1.c稍微改造了一下,添加了seq选项和ack选项,就可以使用自己指定的参数发包了。但是需要模拟乱序报文的重组,还需要真正地把这个链 阅读全文
posted @ 2011-01-13 14:08 Hector 阅读(1329) 评论(0) 推荐(0)