Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÄÚºËÖÐ ±éÀúÁ´±í


×î½üÔÚ¿´Ò»¸ö¿ªÔ´µÄ´úÂ룬һ¶Î´úÂë¿´Á˺ܾö¼Ã»Óп´¶®£¬GoogleÁËһϣ¬¾¡È»ÊÇlinuxÖÐÁ´±íµÄ±éÀú¡£
±éÀúÁ´±í£º
±éÀúÁ´±ílist_for_eachÊÇÒ»¸öºê£¬Õ¹¿ªÁ˾ÍÊÇÒ»¸öforÑ­»·
#define list_for_each(pos, head) \
        for (pos = (head)->next; prefetch(pos->next), pos != (head); \
                pos = pos->next)
ÆäÖÐprefech(pos->next)ÊÇ´¦ÀíÆ÷Ԥȡpos->next£¬Í¨¹ý´¦ÀíÆ÷µÄԤȡ¹¦ÄÜ£¬¶ÔforÑ­»·½øÐÐÁËÓÅ»¯¡£
···ÃÎÊÊý¾Ý²Ù×÷£º
#define list_entry(ptr, type, member) \
        container_of(ptr, type, member)
#define container_of(ptr, type, member) ({                      \
        const typeof(((type *)0)->member) * __mptr = (ptr);     \
        (type *)((char *)__mptr - offsetof(type, member)); } )
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
container_ofÊÇÒ»¸öÓе㸴Ôӵĺê,ʹÓÃÁËCÀ©Õ¹¹Ø¼ü×Ötypeof£¬»¹Óв»ºÃÀí½âµÄÇó½á¹¹Ìå³ÉÔ±
±äÁ¿Æ«ÒÆ.....
·((type *)0)Êǽ«0Ç¿ÖÆ×ª»¯Îªtype *£¬Ò²¾ÍÊÇÖ¸ÏòtypeÀàÐ͵ÄÖ¸Õë
·((type *)0)->memberÊÇ·ÃÎÊtype½á¹¹ÖеÄmember³ÉÔ±
·const typeof( ((type *)0)->member ) *__mptr ¶¨ÒåÒ»¸öÓë((type *)0)->memberͬÖÖÀàÐ͵Ä
Ö¸Õë±äÁ¿£¨const±äÁ¿£©
·const typeof( ((type *)0)->member ) *__mptr=(ptr)¶Ô³£Á¿Ö¸Õë±äÁ¿__mptr¸³Öµ
__mptr=ptr
·((size_t) &((TYPE *)0)->MEMBERµÃµ½memberÔÚtype½á¹¹ÌåÖÐµÄÆ«ÒÆÁ¿£¬
offsetof(type,member)µÄÕ¹¿ªÐ§¹û
·(char *)__mptr - offsetof(type,member) ½«__mptrÇ¿ÖÆ×ª»¯ÎªcharÀàÐÍÖ¸Õ룬Ҳ¾ÍÊÇ__mptr
µÄµØÖ·£¬È»ºó¼õÈ¥memberÔڽṹÌåÖÐµÄÆ«ÒÆÁ¿£¬µÄµ½µÄ×ÔÈ»¾ÍÊǽṹÌåÆðʼµØÖ·£¨Æ«ÒÆÁ¿ÇóµÄºÜÇÉÃ
ÓÖºÜÇÉÃîµÄ»ñµÃ½á¹¹ÌåÆðʼµØÖ·£©¡£
·(type *)( (char *)__mptr - offsetof(type,member) )×îºóÔÙÇ¿ÖÆ×ª»¯Îª(type *)ÀàÐÍ


Ïà¹ØÎĵµ£º

Linux³ÌÐò²ÎÊý

Linux³ÌÐò²ÎÊý°üÀ¨Á½²¿·Ö£º ÃüÁîÐвÎÊýºÍ»·¾³±äÁ¿
ÃüÁîÐвÎÊý´«µÝ¸ømianº¯Êý  int mian (int argc,char *argv[])
»·¾³±äÁ¿  extern char *environ[]
»ñµÃ»·¾³±äÁ¿µÄº¯Êý£º const char* getenv(const char* name)
ÉèÖû·¾³±äÁ¿µÄº¯Êý£º
        £¨1£©int putent (const c ......

linux °æ±¾Ñ¡Ôñ

Ò»Ö±ÒÔÀ´£¬¿ÉÄܺܶàÈëÃÅLinuxµÄÅóÓÑÀ´Ëµ£¬¶¼Òª¿¼ÂǵÄÎÊÌ⣬¾ÍÊǾ¿¾¹Ñ¡Ôñʲô·¢Ðа汾£¬ÔÚÕâÀ½áºÏ¸öÈ˵ÄһЩ¾­Ñ飬¸ø´ó¼ÒһЩ½¨Ò飬Ê×ÏÈ£¬ËµÃ÷Ò»
Ï£¬Linux¶¼ÊÇÒ»ÑùµÄÔ­Àí£¬ÓúÃÒ»¸ö°æ±¾£¬Ò»Àïͨ°ÙÀïÃ÷£¬Ã»ÓÐ˵Äĸö×îºÃ£¬Äĸö²»ºÃµÄ£¬¸ù¾Ý×Ô¼ºµÄ¾ßÌåÐèÇóȥѡÔñ²ÅÊÇÖØÒªµÄ¡£
¡¡¡¡1¡¢¼ÒÓÃ×ÀÃæÏµÍ³£¬Ê×ÍÆubuntuϵÁУ¬¶ÔÓ²¼ ......

linux LVM»ù±¾²Ù×÷

1.Ôö¼ÓÓ²¼þ
Ôö¼ÓµÄideÓ²ÅÌǰ׺Ϊhd£¬scsiÓ²ÅÌǰ׺Ϊsd£»µÚÒ»¿éÓ²ÅÌΪhda»òsda£¬µÚ¶þ¿éÓ²ÅÌΪhdb»òsdb,ÒÔ´ËÀàÍÆ¡£
2.ÓÃpvcreate´´½¨physical volumn
pvcreate /dev/sdb1 /dev/sdb2
´Ë´¦ËùÓõķÖÇøÊǵڶþ²½ÖвÙ×÷µÄÀàÐÍΪ8eµÄ·ÖÇø£¬pvcreateµÄ²ÎÊý¿ÉÒÔΪ1¸ö»ò¶à¸ö£»´´½¨Íê³Éºó¿ÉÒÔÓÃpvdisplay -vÀ´²é¿´´´½¨µÄÇé¿ö£¬ÓÃpvre ......

cygwin Ààlinux¿ª·¢»·¾³µÄÅäÖÃ


»¨Á˰ëÌìÅäÖúÃÁËcygwinµÄ½çÃæ£¬ ÏÂÃæ×öÒ»¼Í¼£¬ÒÔ±¸Ï´βéÔÄ
1. ¹ØÓÚtermµÄÎÊÌ⣬ Èç¹ûÏÓ°²×°µÄterm²»¹»pp£¬¿ÉÒÔʹÓÃputty£¬ÄǾÍÐèÒª°²×°openssh°ü£¬ÒÔ±ã¿ÉÒÔʹÓÃputty£¬
opensshµÄ°²×°¹ý³Ì²ÎÔÄhttp://pigtail.net/LRP/printsrv/cygwin-sshd.html ÀïÃæ½éÉܵĺÜÏêϸ¡£ÏÂÃæÌô¼¸¸ö¹Ø¼üµã¼Ç¼ÈçÏ£º
(2b) Download ......

linuxϲ鿴Óû§×éµÄÐÅÏ¢


groups ²é¿´µ±Ç°µÇ¼Óû§µÄ×éÄÚ³ÉÔ±
groups gliethttp ²é¿´gliethttpÓû§ËùÔÚµÄ×é,ÒÔ¼°×éÄÚ³ÉÔ±
whoami ²é¿´µ±Ç°µÇ¼Óû§Ãû
/etc/groupÎļþ°üº¬ËùÓÐ×é
/etc/shadowºÍ/etc/passwdϵͳ´æÔÚµÄËùÓÐÓû§Ãû
Ìí¼ÓÓû§abcµ½rootȺ×飺
gpasswd -a abc root ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ