LinuxÄں˳£ÓÃÊý¾Ý½á¹¹ºÍ²Ù×÷
1. ǰÑÔ
±¾ÎĽéÉÜlinuxÄÚºËÖÐһЩ³£ÓõÄÊý¾Ý½á¹¹ºÍ²Ù×÷¡£
2. Ë«ÏòÁ´±í(list)
linuxÄÚºËÖеÄË«ÏòÁ´±íͨ¹ý½á¹¹ struct list_headÀ´½«¸÷¸ö½ÚµãÁ¬½ÓÆðÀ´£¬´Ë½á¹¹»á×÷ΪÁ´±íÔªËØ½á¹¹ÖеÄÒ»¸ö²ÎÊý£º
struct list_head {
struct list_head *next, *prev;
};
Á´±íÍ·µÄ³õʼ»¯£¬×¢Ò⣬½á¹¹ÖеÄÖ¸ÕëΪNULL²¢²»Êdzõʼ»¯£¬¶øÊÇÖ¸Ïò×ÔÉí²ÅÊdzõʼ»¯£¬Èç¹ûÖ»Êǰ´ÆÕͨÇé¿öϵÄÖÃΪNULL£¬¶ø²»ÊÇÖ¸Ïò×ÔÉí£¬ÏµÍ³»á±ÀÀ££¬ÕâÊÇÒ»¸öÈÝÒ×·¸µÄ´íÎó£º
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
×î³£ÓõÄÁ´±í²Ù×÷£º
²åÈëµ½Á´±íÍ·:
void list_add(struct list_head *new, struct list_head *head);
²åÈëµ½Á´±íβ:
void list_add_tail(struct list_head *new, struct list_head *head);
ɾ³ýÁ´±í½Úµã:
void list_del(struct list_head *entry);
½«½ÚµãÒÆ¶¯µ½ÁíÒ»Á´±í:
void list_move(struct list_head *list, struct list_head *head);
½«½ÚµãÒÆ¶¯µ½Á´±íβ:
void list_move_tail(struct list_head *list,struct list_head *head);
ÅжÏÁ´±íÊÇ·ñΪ¿Õ£¬·µ»Ø1Ϊ¿Õ£¬0·Ç¿Õ
int list_empty(struct list_head *head);
°ÑÁ½¸öÁ´±íÆ´½ÓÆðÀ´£º
void list_splice(struct list_head *list, struct list_head *head)£»
È¡µÃ½ÚµãÖ¸Õ룺
#define list_entry(ptr, type, member) \
((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
±éÀúÁ´±íÖÐÿ¸ö½Úµã£º
#define list_for_each(pos, head) \
for (pos = (head)->next, prefetch(pos->next); pos != (head); \
pos = pos->next, prefetch(pos->next))
ÄæÏòÑ»·Á´±íÖÐÿ¸ö½Úµã£º
#define list_for_each_prev(pos, head) \
for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \
pos = pos->prev, prefetch(pos->prev))
¾ÙÀý£º
LISH_HEAD(mylist);
&n
Ïà¹ØÎĵµ£º
Linux´´Ê¼ÈËLinus
2009Äê12ÔÂ28ÈÕÊÇLinux´´Ê¼ÈËLinusµÄ40ËêÉúÈÕ¡£
19Äêǰ£¬ÔÚÊ¥µ®½ÚºóºÕ¶ûÐÁ»ùÉ̵꿪ҵµÄµÚÒ»Ì죬Linus³åÏòµçÄÔÉ̵꣬ÓÃÊ¥µ®½ÚºÍÉúÈÕÀñ½ð¹ºÂòÁËËûµÄµÚһ̨PC£ºÒ»Ì¨DX33 80386¼ÆËã»ú£¬4 Megs RAM£¬40 MegabyteÓ²ÅÌ£¬Ã»ÓÐÐͬ´¦ÀíÆ÷¡£LinusÖ®ËùÒÔÑ¡Ôñ80386£¬¶ø²»ÊÇAmiga»òÆ»¹ûÂó½ðËþµçÄÔ£¬×îÖ÷ÒªÔÒòÊÇËûÏ ......
1. ÏÈ´ÓÍøÉÏÏÂÔØjdk(jdk-1_5_0_02-linux-i586.rpm) £¬ÍƼöSUNµÄ¹Ù·½ÍøÕ¾www.sun.com£¬ÏÂÔØºó·ÅÔÚ/homeĿ¼ÖУ¬µ±È»ÆäËüµØ·½Ò²ÐС£
½øÈ밲װĿ¼
#cd /home
#cp jdk-1_5_0_02-linux-i586.rpm /usr/local
#cd /usr/local
¸øËùÓÐÓû§Ìí¼Ó¿ÉÖ´ÐеÄȨÏÞ
#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
#./jdk-1_5_0_02-lin ......
²é¿´linuxÎļþĿ¼µÄ´óСºÍÎļþ¼Ð°üº¬µÄÎļþÊý
ͳ¼Æ×ÜÊý´óС
du -sh xmldb/
du -sm * | sort -n //ͳ¼Æµ±Ç°Ä¿Â¼´óС ²¢°²´óС ÅÅÐò
du -sk * | sort -n
du -sk * | grep guojf //¿´Ò»¸öÈ˵ĴóС
du -m | cut -d "/" -f 2 //¿´µÚ¶þ¸ö/ ×Ö·ûǰµÄÎÄ×Ö
²é¿´´ËÎļþ¼ÐÓжàÉÙÎļþ /*/*/* ÓжàÉÙÎļþ
du xmldb/
du xmldb/ ......
sftp ÊÇÒ»¸ö½»»¥Ê½Îļþ´«Êä³Ìʽ¡£ËüÀàËÆÓÚ ftp, µ«Ëü½øÐмÓÃÜ´«Ê䣬±ÈFTPÓиü¸ßµÄ°²È«ÐÔ¡£Ï±߾ͼòµ¥½éÉÜÒ»ÏÂÈçºÎÔ¶³ÌÁ¬½ÓÖ÷»ú£¬½øÐÐÎļþµÄÉÏ´«ºÍÏÂÔØ£¬ÒÔ¼°Ò»Ð©Ïà¹Ø²Ù×÷¡£
ÔÚubuntuϵݲװapt-get install sftp ,µ±È»µÃÈ·±£ÄúÓÐ×ã¹»µÄȨÏÞ°²×°¸Ã³ÌÐò
linuxÏÂÈçºÎʹÓÃsftpÃüÁî¡£
¾ÙÀý£¬ÈçÔ¶³ÌÖ÷»úµÄ IP ÊÇ 202.206.64. ......