LinuxÏÂÈí¼þ¡¢PHPºÍPerlµÄÄ£¿éµÈ¶¼ÊµÏÖÁË×Ô¶¯°²×°£¬ÕæµÄºÜ·½±ã£¬±¾Îļòµ¥½éÉÜһϡ£
linuxÏ¿ÉÒÔʹÓÃyum¹¤¾ß£¬RedhatÏÂ×Ô¶¯´øÓУº
yum list php* //¿ÉÒԲ鿴phpµÄÏà¹ØÄ£¿é
yum install php //°²×°phpÕâ¸öÄ£¿é
phpÄ£¿éµÄ×Ô¶¯°²×°(ÀûÓÃpecl.php.netºÍpear.php.netÔÚÏß°²×°)£º
ÀûÓÃpearºÍpecl¹¤¾ß£¬Ê×ÏÈÐèÒª°²×°php-pearÄ£¿é£¬È»ºó
pecl install pecl-http //°²×°pecl-phpÄ£¿é
pecl list-all //²é¿´ÏßÉ϶¼ÓÐÄÄЩģ¿é£¬ÒÔ±ãÓÚ°²×°
perlÄ£¿éµÄ×Ô¶¯°²×°(ÀûÓÃwww.cpan.org/ ÔÚÏß°²×°)£º
perl¡¡-MCPAN¡¡-e¡¡shell¡¡¡¡
cpan>h £¨»ñµÃ°ïÖú£©¡¡
cpan>m £¨ÁгöCPANÉÏËùÓÐÄ£¿éµÄÁÐ±í£©¡¡
cpan>install¡¡module_name¡¡£¨×Ô¶¯Íê³É´ÓÏÂÔØµ½°²×°µÄÈ«¹ý³Ì¡££©¡¡
cpan>q¡¡£¨°²×°Í꣬ºóÍ˳ö£©
¾ÙÀýÄ£¿é£º
(1)Net::FTP
(2) Net::Telnet
(3) LWP::Simple, get()
(4) Expect
(5) XML::Simple, XMLin()
(6) Data::Dumper, Dumper()
(7) IO::Socket
(8) Date::Manip, DateCalc(), UnixDate()
(9) Date::Manip, Date_Cmp()
(10) File::Find, find()
(11) ExtUtils::Installed, new(), modules(), version()
(12) DBI ......
LinuxÏÂÈí¼þ¡¢PHPºÍPerlµÄÄ£¿éµÈ¶¼ÊµÏÖÁË×Ô¶¯°²×°£¬ÕæµÄºÜ·½±ã£¬±¾Îļòµ¥½éÉÜһϡ£
linuxÏ¿ÉÒÔʹÓÃyum¹¤¾ß£¬RedhatÏÂ×Ô¶¯´øÓУº
yum list php* //¿ÉÒԲ鿴phpµÄÏà¹ØÄ£¿é
yum install php //°²×°phpÕâ¸öÄ£¿é
phpÄ£¿éµÄ×Ô¶¯°²×°(ÀûÓÃpecl.php.netºÍpear.php.netÔÚÏß°²×°)£º
ÀûÓÃpearºÍpecl¹¤¾ß£¬Ê×ÏÈÐèÒª°²×°php-pearÄ£¿é£¬È»ºó
pecl install pecl-http //°²×°pecl-phpÄ£¿é
pecl list-all //²é¿´ÏßÉ϶¼ÓÐÄÄЩģ¿é£¬ÒÔ±ãÓÚ°²×°
perlÄ£¿éµÄ×Ô¶¯°²×°(ÀûÓÃwww.cpan.org/ ÔÚÏß°²×°)£º
perl¡¡-MCPAN¡¡-e¡¡shell¡¡¡¡
cpan>h £¨»ñµÃ°ïÖú£©¡¡
cpan>m £¨ÁгöCPANÉÏËùÓÐÄ£¿éµÄÁÐ±í£©¡¡
cpan>install¡¡module_name¡¡£¨×Ô¶¯Íê³É´ÓÏÂÔØµ½°²×°µÄÈ«¹ý³Ì¡££©¡¡
cpan>q¡¡£¨°²×°Í꣬ºóÍ˳ö£©
¾ÙÀýÄ£¿é£º
(1)Net::FTP
(2) Net::Telnet
(3) LWP::Simple, get()
(4) Expect
(5) XML::Simple, XMLin()
(6) Data::Dumper, Dumper()
(7) IO::Socket
(8) Date::Manip, DateCalc(), UnixDate()
(9) Date::Manip, Date_Cmp()
(10) File::Find, find()
(11) ExtUtils::Installed, new(), modules(), version()
(12) DBI ......
ÔÎÄ http://www.9usb.net/200902/linux-grep.html
1.×÷ÓÃ
linuxϵͳÖÐgrepÃüÁîÊÇÒ»ÖÖÇ¿´óµÄÎı¾ËÑË÷¹¤¾ß£¬ËüÄÜʹÓÃÕýÔò±í´ïʽËÑË÷Îı¾£¬²¢°ÑÆ¥ÅäµÄÐдòÓ¡³öÀ´¡£grepÈ«³ÆÊÇGlobal Regular Expression Print£¬±íʾȫ¾ÖÕýÔò±í´ïʽ°æ±¾£¬ËüµÄʹÓÃȨÏÞÊÇËùÓÐÓû§¡£
2.¸ñʽ
grep [options]
3.Ö÷Òª²ÎÊý
[options]Ö÷Òª²ÎÊý£º
£c£ºÖ»Êä³öÆ¥ÅäÐеļÆÊý¡£
£I£º²»Çø·Ö´óСд(Ö»ÊÊÓÃÓÚµ¥×Ö·û)¡£
£h£º²éѯ¶àÎļþʱ²»ÏÔʾÎļþÃû¡£
£l£º²éѯ¶àÎļþʱֻÊä³ö°üº¬Æ¥Åä×Ö·ûµÄÎļþÃû¡£
£n£ºÏÔʾƥÅäÐм°Ðкš£
£s£º²»ÏÔʾ²»´æÔÚ»òÎÞÆ¥ÅäÎı¾µÄ´íÎóÐÅÏ¢¡£
£v£ºÏÔʾ²»°üº¬Æ¥ÅäÎı¾µÄËùÓÐÐС£
patternÕýÔò±í´ïʽÖ÷Òª²ÎÊý£º
\£ººöÂÔÕýÔò±í´ïʽÖÐÌØÊâ×Ö·ûµÄÔÓк¬Òå¡£
^£ºÆ¥ÅäÕýÔò±í´ïʽµÄ¿ªÊ¼ÐС£
$: Æ¥ÅäÕýÔò±í´ïʽµÄ½áÊøÐС£
\<£º´ÓÆ¥ÅäÕýÔò±í´ïʽµÄÐпªÊ¼¡£
\>£ºµ½Æ¥ÅäÕýÔò±í´ïʽµÄÐнáÊø¡£
[ ]£ºµ¥¸ö×Ö·û£¬Èç[A]¼´A·ûºÏÒªÇó ¡£
[ - ]£º·¶Î§£¬Èç[A-Z]£¬¼´A¡¢B¡¢CÒ»Ö±µ½Z¶¼·ûºÏÒªÇó ¡£
¡££ºËùÓеĵ¥¸ö×Ö·û¡£
* £ºÓÐ×Ö·û£¬³¤¶È¿ÉÒÔΪ0¡£
4.grepÃüÁîʹÓüòµ¥ÊµÀý
$ grep ‘test’ d*
ÏÔʾËùÓÐÒÔd¿ªÍ·µÄÎļþÖаüº¬testµÄÐС£
$ grep ‘test&rsq ......
tcÊǸöÅäÖÃLinuxÄÚºËÁ÷Á¿¿ØÖƵŤ¾ß Ãû×Ö tc - ÏÔʾ£¯Î¬»¤Á÷Á¿¿ØÖÆÅäÖà ժҪ tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ] tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ] tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id tc [-s | -d ] qdisc show [ dev DEV ] tc [-s | -d ] class show dev DEV tc filter show dev DEV ¼ò½é TcÓÃÓÚLinuxÄں˵ÄÁ÷Á¿¿ØÖÆ¡£Á÷Á¿¿ØÖưüÀ¨ÒÔϼ¸ÖÖ·½Ê½£º SHAPING(ÏÞÖÆ) µ±Á÷Á¿±»ÏÞÖÆ£¬ËûµÄ´«ÊäËÙÂʾͱ»¿ØÖÆÔÚij¸öÖµÒÔÏ¡£ÏÞÖÆÖµÄܹ»´ó´óСÓÚÓÐЧ´ø¿í£¬ÕâÑùÄܹ»Æ½»¬Í»·¢Êý¾ÝÁ÷Á¿£¬Ê¹ÍøÂç¸üΪÎȶ¨¡£shaping£¨ÏÞÖÆ£©Ö»ÊÊÓÃÓÚÏòÍâµÄÁ÷Á¿¡£ SCHEDULING(µ÷¶È) bitsCN.Com ͨ¹ýµ÷¶ÈÊý¾Ý°üµÄ´«Ê䣬Äܹ»ÔÚ´ø¿í·¶Î§ÄÚ£¬°´ÕÕÓÅÏȼ¶·ÖÅä´ø¿í¡£SCHEDULING(µ÷¶È)Ò²Ö»ÊÊÓÚÏòÍâµÄÁ÷Á¿¡£ POLICING(²ßÂÔ) SHAPINGÓÃÓÚ´¦ÀíÏòÍâ ......
st='abcd'
1.×Ö·û´®³¤¶È
expr length $st »òÕß ${#st}
2.È¡×Ö·û´®µÄsubstring
expr substr "$var" startpos length »òÕß ${var:m} ${var:m:len}
${var:m}ÖеÄmµÄȡֵ´Ó0µ½${#var}-1£¬Æä·µ»ØµÄÊÇ´ÓµÚm¸ö×Ö·ûµ½×îºóµÄ²¿·Ö£»ÀýÈçecho ${st:1}µÄ½á¹ûÊÇ'bcd'
expr substr "$var" startpos length ÖеÄstartposȡֵ·¶Î§ÊÇ1µ½${#var}£»
3.²éÕÒ×Ó´®µÄλÖÃ
expr index "$str" "$substr" ·µ»ØÖµÎª0£¬±íʾûÓÐÕÒµ½£»
4.Æ¥Åä×Ö´®µÄ³¤¶È
expr match "$str" '$substr' eg:expr match $st 'abc' ·µ»ØÖµÎª3
expr "$str" : '$substr'
×¢Ò⣺$substring ¿ÉÒÔÊÇÒ»¸öÕýÔò±í´ïʽ
5.×Ö·û´®µÄÌæ»»
${var/old/new}ÓÃnewÌæ»»${var}ÖеÚÒ»´Î³öÏÖµÄold;eg: s='abc123abc' echo ${s/abc/23}·µ»ØÖµÎª'23123abc'
${var//old/new}ÓÃnewÌæ»»${var}ÖеÚÒ»´Î³öÏÖµÄold;eg: s='abc123abc' echo ${s/abc/23}·µ»ØÖµÎª'2312323'
${var/#old/new} Èç¹û$substring Æ¥Åä$varµÄ¿ªÍ·²¿·Ö,ÄÇô¾ÍÓÃ$newÀ´Ìæ»»$old£»
${var/%old/new} Èç¹û$substring Æ¥Åä$varµÄ½áβ²¿·Ö,ÄÇô¾ÍÓÃ$newÀ´Ìæ»»$old£»
6.×Ó´®Çå³ý
${string#substring} ´Ó$string µÄ×ó±ß½ØµôµÚÒ» ......
~/test
|
|
|------main.c
|------lib
| |
| |------StringLen.h
| |------Strlen.c
| |------Strnlen.c
----------------StringLen.h:
#ifndef _STRINGLEN_H__
#define _STRINGLEN_H__
int Strlen(char *pStr);
int StrNlen(char *pStr, unsigned long ulMaxLen);
#endif
-------------------------------------------------
---------------Strlen.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen.h"
int Strlen(char *pStr)
{
unsigned long ulLength;
assert(NULL != pStr);
ulLength = 0;
while(*pStr++)
{
  ......
1.±àÒë°²×°libevent
2.±àÒë°²×°Memcached
ÔÚÎÒдÕâÆªÎÄÕµÄʱºò£¬libeventÒѾÓÐ1.4.8Îȶ¨°æ
£¬Memcached ServerÒѾÓÐ1.3.0°æ±¾
¡£±¾ÎľÍÒÔÕâÁ½¸ö°æ±¾ÎªÀý£¬ÎÒµÄgccÊÇgcc version 3.3.4 (Debian 1:3.3.4-7)¡£
Ê×ÏȰ²×°libevent
wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
tar zxvf libevent-1.4.8-stable.tar.gz
cd libevent-1.4.8-stable
./configure –prefix=/usr Ö¸¶¨°²×°ÔÚ/usrÏ¡£Ò»¿ªÊ¼ÎÒûÓÐÖ¸¶¨°²×°Ä¿Â¼µ¼ÖÂlibevent°²×°ÔÚ/usr/local/lib£¬µ¼ÖÂMemcached°²×°ºóÕÒ²»µ½libevent¿â£¬¼´Ê¹ÊÖ¹¤Ö¸¶¨Â·¾¶Ò²²»ÐÐ
make && make install
make clean
È»ºó°²×°Memcached Server
wget http://www.danga.com/memcached/dist/memcached-1.3.0.tar.gz
tar zxvf memcached-1.3.0.tar.gz
cd memcached-1.3.0/
./configure --with-libevent=/usr ÕâÀïÐèÒªÖ¸¶¨libeventµÄ·¾¶
make && make install
make clean
Ò»Õ£ÑÛ¹¦·ò¾Í¶¼±àÒë°²×°Íê³ÉÁË¡£
²âÊÔÏÂMemcached°²×°³É¹¦Ã»£º
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
û´íÎóÌáʾµÄ»°£¬Ö¤Ã÷°²×°³É¹¦²¢Ç ......