Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

Linux KernelÖÐlist½â¶Á


±êÇ©£º
it
·ÖÀࣺ
linux_kernel
×÷ÕߣºSam £¨Õç·å£© sam_code@hotmail.com
Sam֮ǰ¿´2.4
kernelʱ£¬³£¿´µ½List.Ò²×Ðϸ¿´ÁËһϣ¬µ«ÏÖÔÚ³¤ÆÚûÓп´kernel,ûÓÐд³ÌÐò£¬ÒѾ­Íü¼ÇÁ˺ܶࡣ½ñÌìÓÖ¿´Ò»¿´²¢¼Ç¼ÏÂÀ´¡£
Linux
KernelÖУ¬³£³£ÐèҪʹÓÃË«ÏòÁ´±í¡£ÔÚ~/include/linux/list.hÖУ¬¾Í¶¨ÒåÁËË«ÏòÁ´±íºÍ³£ÓõÄfunction.
Á´±íÍ·ÈçÏ£º
struct list_head {
 struct list_head *next, *prev;
};
1.´´½¨Ë«ÏòÁ´±í£¨doubly linked
list£©£º
INIT_LIST_HEAD(
struct list_head
*list
)
´úÂëÈçÏ£º
static inline void INIT_LIST_HEAD(struct list_head *list)
{
 list->next = list;
 list->prev = list;
}
½«ListµÄÍ·ºÍβ¶¼Ö¸Ïò×ÔÉí¡£
2. Ìí¼ÓÄÚÈݵ½Ë«ÏòÁ´±í£º
2.1: ƽ³£µÄÌí¼Ó£º
2.1.1:½«ÐÂÏîÄ¿Ìí¼Óµ½listµÄÍ·²¿£¨headÖ®ºóµÚÒ»¸öλÖã©¡£×¢Ò⣬´Ë´¦headÊÇÖ¸´ËË«ÏòÁ´±íÍ·¡£
void list_add(struct list_head *new, struct list_head *head)
½«²ÎÊýÒ»£¨new£©Ìí¼Óµ½headÖ®ºó¡£Ëüµ÷ÓÃ
__list_add(new, head,
head->next);Ò²¾ÍÊÇ˵£¬°ÑnewÌí¼Óµ½headºÍhead->nextÖ®¼ä¡£
static inline void __list_add(struct
list_head * ......

Linux³§É̵Ŀ¬Ä££¨ÏÈÐÐÕߣ©






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
        Ëùν“¿¬Ä£”£¨
Model
£©¾ÍÊǰñÑùµÄÒâ˼¡£ÄÇô£¬Ë­ÊÇ
Linux
³§ÉÌ£¨¹«ÈÏ£©µÄ°ñÑùÄØ£¿ÄãÏëÖªµÀÂð£¿
 
        Ãû½Ð
Mandriva
S.A.
£¨ÄÏÃÀ£©µÄ
Linux
³§ÉÌ£¬Ê×ÄÔ»ú¹ØÉèÔÚ·¨¹ú°ÍÀ裬ÊÇÒ»¸öÀÏÅÆ
Linux
·¢Ðа湩ӦÉÌ£¨
1998
Äê
-
ÖÁ½ñ£©¡£ÔÚ
Linux
·¢ÐаæÈ«ÇòÅÅÃû°ñÉÏ£¬ÅÅÃûµÚÎ壬ÁÐÔÚ
Ubuntu
¡¢
Fedora
¡¢
Mint
ºÍ
OpenSUSE
Ö®ºó¡£
Mandriva
S.A.
ÊÇÒÔ¹«Ë¾Ãû³ÆÃüÃûÆäÖ÷´ò²úÆ·µÄÈ«ÇòÁìÏÈ
Linux
³§ÉÌ£¬Óû§ÊýÒÑ´ï
300
ÍòÒÔÉÏ¡£
 
     Mandriva
µÄ¾­ÓªË¼Â·£¬Ê®·Ö¼òµ¥£¬ÔÚÆä¹Ù·½ÍøÕ¾£¨
www.mandriva.com
£©µÄÊ×Ò³£¬¾ÍÊÇÍ»³öÒ»¾ä»°£º“
A
Better Operating
System”
¡£ÕâÊÇʲôÒâË¼ÄØ£¿ÔÚÕâ¾ä»°µÄÏÂÃæ×ö³öÁË×¢ÊÍ£¬ÕûÕûÆëÆëÅÅÁгö
11
¸öÒªµã£º
1
¡¢¼òµ¥£»
2
¡¢°²È«£»
3
¡¢Îȶ¨£»
4
¡¢¿ìËÙ£»
5
¡¢×ÔÓÉÈí¼þ
6
¡¢ÉçÇøÏà°é£»
7
¡¢ÃÀÀö£»
8
¡¢ÎÞ²¡¶¾£»
9
¡¢² ......

ÔÚlinuxÏÂÉú³É¿ÉÖ´ÐÐÎļþºÍ¿âÎļþ


l        
ÔÚ
Linux
ϱàдÆÕͨ¿ÉÖ´ÐÐÎļþµÄÃüÁ
gcc –o
Ä¿±êÎļþÃû

Ô´ÎļþÃû£¨ÁÐ±í£©
Èç¹û¹¤³Ì°üº¬¶à¸ö
.c
ºÍ
.h
ÄÇôÔÚÔ´ÎļþÃûÁбíÖÐÖ»ÁгöËùÓеÄ
.c
Îļþ
Àý£º¹¤³ÌÎļþ¼ÐÀïÓÐ
des.c 
hash.c 
main.c 
des.h 
hash .h
Òª½«ËûÃDZàÒë³É
EncApp
¿ÉÖ´ÐÐÎļþ£¬ÔòʹÓÃÏÂÃæµÄÃüÁî
   
gcc 
–o 
EncApp 
des.c 
hash.c 
main.c
l        
ÔÚ
Linux
ϱàдµ÷Óö¯Ì¬¿â»ò¾²Ì¬¿âµÄ¿ÉÖ´ÐÐÎļþµÄÃüÁ
gcc –o
Ä¿±êÎļþÃû

Ô´ÎļþÃû£¨ÁÐ±í£©¿âÎļþÃû£¨ÁÐ±í£©
Èç¹û¹¤³Ì°üº¬¶à¸ö
.c
ºÍ
.h
ÄÇôÔÚÔ´ÎļþÃûÁбíÖÐÖ»ÁгöËùÓеÄ
.c
ÎļþºÍ¿âÎļþ
Àý£º¹¤³ÌÎļþ¼ÐÀïÓÐ
main.c 
enc.so
Òª½«ËûÃDZàÒë³É
EncApp
¿ÉÖ´ÐÐÎļþ£¬ÔòʹÓÃÏÂÃæµÄÃüÁî
gcc 
–o 
EncAp 
main.c 
enc.so
×¢Ò⣺
.so
Îļþ±ØÐëÊÂÏȸ´ÖƵ½
/usr/lib
Ŀ¼ÏÂ

l        
Éú³É¾²Ì¬¿âÐèÒªµÄà ......

¡¾Ô­´´¡¿ÃþÅÀ¹ö´òÖ®LinuxϵÄOCCI±à³Ì


µÚһƪ¼¼Êõ²©¿Í£¬ÖÕÓÚÓÐȨ˵¡¾×ªÔØÇë×¢Ã÷³ö´¦http://user.qzone.qq.com/329331481¡¿
 
LinuxϵÄOCCI±à³Ì£¬Ò²ÐíÄú¼ò¼òµ¥µ¥¾ÍÊÇʵÏÖÁË£¬µ«¶ÔÓÚÒ»¸ö´Óδ½Ó´¥¹ýOracleÊý¾Ý¿â£¬Ã»ÓÐLinuxϱà³Ì¾­Ñ飬һÇдÓ0ѧÆðµÄ²ËÄñÐÂÊÖÀ´Ëµ£¬µÄÈ·¿ÉνÃþÅÀ¹ö´ò£¬µ±È»£¬Ò²Ñ§µ½Á˲»ÉÙ¶«Î÷¡£
ÔÚÕâ¸ö¹ý³ÌÖУ¬Óöµ½ÁËÌ«¶àµÄÎÊÌ⣬ÔÚÍøÉÏËѵÄʱºò¸Ð¾õÕâ·½ÃæµÄ×ÊÁÏ»¹²»ÊǺܶ࣬»òÕ߱ȽÏÁãÉ¢£¬ËùÒÔ×÷´Ë×ܽᡣ
 
u    ¿ª·¢»·¾³
 
Red Hat Enterprise Linux AS 4.0
gcc 3.4.3
Oracle 10g Express Edition
 
u    ¿ª·¢²½Öè
 
n       °²×°Oracle
´Ë²¿·Ö±¾ÈËûÓвÎÓ룬ֱ½ÓÄñðÈË×°ºÃµÄÐéÄâ»úÀ´Óõģ¬²Î¼ûÍøÉÏÆäËûÎÄÕ¡£
 
n       °²×°gcc 3.4.3
Èç¹ûRedHat×Ô´øµÄgcc²»ÊÇ3.4.3°æ±¾£¬ÔòÐèÒª¸üе½3.4.3°æ±¾ÒÔ¼æÈÝOracleÌṩµÄOCCI¿â¡£gcc 3.4.3¿Éµã»÷ÏÂÃæµÄÁ¬½ÓÏÂÔØ£º
http://download.chinaunix.net/down.php?id=6573&ResourceID=69&site=1
 
ÓÉÓÚÊDZàÒë°²×°£¬ËùÒÔÔÚ°²×°Ö®Ç°£¬±ØÐ뱣֤ԭϵͳÖÐÒÑ´æÔÚij¸ö°æ±¾µÄgcc¡£
ÊäÈëÈçÏÂÃüÁ
# c ......

Linuxϲ鿴ApacheµÄÇëÇóÊý

ÔÚLinuxϲ鿴ApacheµÄ¸ºÔØÇé¿ö£¬ÒÔǰҲ˵¹ý£¬×î¼òµ¥ÓÐÓÐЧµÄ·½Ê½¾ÍÊDz鿴Apache Server Status
£¨ÈçºÎ¿ªÆôApache Server Status
µãÕâÀ£¬ÔÚûÓÐ
¿ªÆôApache Server StatusµÄÇé¿öÏ£¬»ò°²×°µÄÊÇÆäËûµÄWeb Server£¬±ÈÈçNginxµÄʱºò£¬ÏÂÃæµÄÃüÁî¾ÍÌåÏÖ³ö×÷ÓÃÁË¡£
ps -ef|grep httpd|wc -l
ÃüÁî
#ps
-ef|grep httpd|wc -l
1388
ͳ¼Æhttpd½ø³ÌÊý£¬Á¬¸öÇëÇó»áÆô¶¯Ò»¸ö½ø³Ì£¬Ê¹ÓÃÓÚApache·þÎñÆ÷¡£
±íʾApacheÄܹ»´¦Àí1388¸ö²¢·¢ÇëÇó£¬Õâ¸öÖµApache¿É¸ù¾Ý¸ºÔØÇé¿ö×Ô¶¯µ÷Õû£¬ÎÒÕâ×é·þÎñÆ÷ÖÐÿ̨µÄ·åÖµÔø´ïµ½¹ý2002¡£
netstat -nat|grep -i “80″|wc -l
ÃüÁî
#netstat
-nat|grep -i “80″|wc -l
4341
netstat -an»á´òӡϵͳµ±Ç°ÍøÂçÁ´½Ó״̬£¬¶øgrep -i “80″ÊÇÓÃÀ´ÌáÈ¡Óë80¶Ë¿ÚÓйصÄÁ¬½ÓµÄ, wc -l½øÐÐÁ¬½ÓÊýͳ¼Æ¡£
×îÖÕ·µ»ØµÄÊý×Ö¾ÍÊǵ±Ç°ËùÓÐ80¶Ë¿ÚµÄÇëÇó×ÜÊý¡£
netstat -na|grep ESTABLISHED|wc -l
ÃüÁî
#netstat
-na|grep ESTABLISHED|wc -l
376
netstat -an»á´òӡϵͳµ±Ç°ÍøÂçÁ´½Ó״̬£¬¶øgrep ESTABLISHED ÌáÈ¡³öÒѽ¨Á¢Á¬½ÓµÄÐÅÏ¢¡£ È»ºówc -lͳ¼Æ¡£
×îÖÕ·µ»ØµÄÊý×Ö¾ÍÊǵ±Ç°ËùÓÐ80¶Ë¿ÚµÄÒѽ¨Á¢Á¬½ÓµÄ×ÜÊý¡£
net ......

Linuxѧϰ£¨Ò»£©


ÔÚLinuxÖУ¬²»ÓüüÈëÓ¦ÓóÌÐòµÄÍêÕû·¾¶¶øÆô¶¯Ó¦ÓóÌÐòµÄ·½·¨£º
Ô­Òò£º
   Ö®ËùÒÔҪʹÓÃÍêÕû·¾¶ÃûÀ´Æô¶¯³ÌÐòÊÇÓÉÓÚ£¬¿ÉÖ´ÐÐÎļþûÓб»·ÅÖÃÔÚÄãµÄÓû§ shell »·¾³ËùÖªµÄĿ¼ÖУ¨Èç /usr/local/bin £©¡£
 ·½·¨£º±à¼­PATH±äÁ¿
    Èç¹ûÄãÐèҪƵ·±µØÆô¶¯Î»ÓÚ shell ËÑË÷µÄ·¾¶Ö®ÍâµÄ³ÌÐò£¬Äã¾ÍµÃ±à¼­ÄãµÄÓû§ shell ÅäÖÃÎļþÀ´Ìí¼Ó°üº¬ÄãÏëÔËÐеÄÎļþµÄĿ¼¡£Äã¿ÉÒÔͨ¹ýÔÚÄãµÄ PATH »·¾³±äÁ¿ÖÐÌí¼Ó¸ÃĿ¼À´´ïµ½Õâ¸öÄ¿µÄ¡£
СÐÄ:ÕâÀïµÄ˵Ã÷ ½ö½ö ÊÇÓÃÓÚÆÕͨÓû§Õʺŵġ£Çë±ÜÃâÐ޸ĸùÓû§µÄ .bash_profile Ö®ÀàµÄÎļþ£¬ÒòΪËü»áÔì³ÉDZÔڵݲȫΣÏÕ¡£
²½Ö裺
1.ÔÚ shell ÌáʾÏÂÆô¶¯Ò»¸öÎı¾±à¼­Æ÷£¬Èç gedit »ò vi ¡£Äã¿ÉÒÔ¼üÈëÏÂÃæµÄÃüÁîÀ´´ò¿ª½Ð×ö .bash_profile µÄÎļþ£º
gedit .bash_profile  
Ä㽫»á¿´µ½Ò»Ìõ PATH ÉùÃ÷£¬ÓëÏÂÃæµÄÊä³öÏàËÆ¡£
PATH=$PATH:$HOME/bin:/usr/local/bin:  
2.ÔÚÉùÃ÷µÄ½áβ´¦£¬Ìí¼Ó $HOME/seti £¬ÈçÏÂËùʾ£º
PATH=$PATH:$HOME/bin:/usr/local/bin/:$HOME/seti: 
±£´æÎļþ²¢Í˳öÎı¾±à¼­Æ÷¡£
3.Õâʱ£¬Äã±ã¿ÉÒÔ¼üÈëÏÂÃæµÄÃüÁîÀ´Ê¹ .bash_profile ÖеĸıäÁ¢¼´ÉúЧ£º
sou ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [317] [318] [319] [320] 321 [322] [323] [324] [325] [326]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ