Ò»¡¢bash shellµÄ·ÖÀࣺ
µÇ¼shell:Óû§µÇ¼linuxÖ÷»úʱȡµÃµÄshell.
·ÇµÇ¼shell£ºÓû§µÇ¼linuxÖ÷»úºó£¨È¡µÃÁ˵Ǽshell£©ÓÉÓÚÐèÒªÆô¶¯Ö´ÐеÄshell,È磺ÓÃsuÇл»Óû§ºóÈ¡µÃµÄshell;ÔڵǼshellÖÐ
Æô¶¯µÄ csh shell;ͼÐÎÓû§½çÃæÏÂÆô¶¯µÄÖն˵ȡ£
¶þ¡¢¶ÔÓڵǼshell
1¡¢Ä¬ÈÏÇé¿öÏ£¬ÔÚshellϸıäµÄ±äÁ¿¡¢umask¡¢alias¡¢Ö»Ôڴ˴εǼÖÐÓÐЧ¡£Ò»µ©logoutºóÔÙlogin,Ôò É趨»Ö¸´³õʼֵ¡£
2¡¢Ò»¸öͨ¹ýµÇ¼¶øµÃµ½µÄshell£¬Ò»°ãÊÇÓû§µÄ³õʼshell.
3¡¢ÔڵǼshellϼ¤»îµÄshell²ÉÓõǼµÄshellµÄ»·¾³É趨
4¡¢µÇ¼shell´ÓÅäÖÃÎļþÖжÁÈ¡Æä»·¾³É趨¡£
5¡¢ÅäÖÃÎļþ
È«¾ÖÅäÖÃÎļþ
/etc/profile:´ËÎļþΪϵͳµÄÿ¸öÓû§ÉèÖ ......
Linux Îļþϵͳ¸ÅÊö
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÕªÒª£º ±¾ÎÄͨ¹ýÎļþϵͳµÄ¶¨Òå˵Æð£¬È»ºóͨ¹ýÒýÎļòµ¥µÄ½éÉÜÁËÒ»ÏÂÎļþϵͳÀàÐÍ£»¶ÔLinux³£ÓõÄext2¡¢ext3¼°reiserfs ¸ù¾Ý±¾ÈËʹÓþÑéÒ²·º·ºµÄ̸ÁË̸£¬µ«²¢²»ÊÇרҵµÄ¡£ÈçºÎÔĶÁ±¾ÎÄ£¬»¹ÊÇÓÃÂí¿Ë˼ÀíÂÛ¸æËßÎÒÃǵķ½·¨£ºÒ»·ÖΪ¶þ£¬±ß¿´±ßÅú°É£»
Ŀ¼Ë÷Òý
Ò»¡¢Ê²Ã´ÊÇÎļþϵͳ £¨Filesystem£©
1£©´ÅÅ̵ķָ
2£©ÎļþϵͳµÄ´´½¨£º
3£©¹ÒÔØ£¨mount£©£º
4£©Îļþϵͳ¿ÉÊӵļ¸ºÎ½á¹¹£º
1¡¢³£¼û¶¨Òå·½·¨£»
2¡¢Àí½âÎļþϵͳµÄ¹Ø½¡´Ê£»
¶þ¡¢ÎļþϵͳµÄÀàÐÍ£»
Èý¡¢Linux ÎļþϵͳµÄÑ¡ÔñºÍ°²È«ÐÔ£»
1£©ext2 Îļþϵͳ£»
2£©ext3 Îļþϵͳ£ºÊÇÓÉext2Îļþϵͳ·¢Õ¹¶øÀ´£»
3£©reiserfs Îļþϵͳ£»
4£©ext3¡¢reiserfs¡¢ext2 Îļþϵͳ¶Ô´óÎļþÖ§³ÖµÄ¶Ô±È£»
1£©ext2¡¢ext3ºÍreiserfs Îļþϵͳ×Ô¶¯ÐÞ¸´ÄÜÁ¦¶Ô±È£»
2£©ext2¡¢ext3ºÍreiserfs ·´É¾³ý¹¦ÄܶԱȣ»
1¡¢Linux²Ù×÷ϵͳ°²×°¹ý³ÌÖеÄÎļþϵͳµÄÑ¡Ôñ£»
2¡¢ext2¡¢ext3¼°reiserfsÎļþϵͳµÄ°²È«ÐÔ£»
ËÄ¡¢Linux Ö§³ÖµÄÎļþϵͳ£»
Îå¡¢ÎļþϵͳµÄÌØÐÔ£»
Áù¡¢ÔÚLinuxÖУ¬ÎļþϵͳµÄ´´½¨ºÍ¹ÒÔØ£»
Æß¡¢¹ØÓÚ±¾ÎÄ£»
°Ë¡¢²Î¿¼Îĵµ£»
¾Å¡¢Ïà¹ØÎĵµ ......
Linux ´´½¨Îļþϵͳ¼°¹ÒÔØÎļþϵͳÁ÷³ÌÏê½â
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£º LinuxSir.Org
ÕªÒª£º±¾ÎĶÔÐÂÔöÓ²ÅÌ£¬ÇиîÓ²ÅÌ£¬´´½¨Ó²ÅÌ·ÖÇø£¬ÎªÓ²ÅÌ·ÖÇø´´½¨Îļþϵͳ£¬ÒÔ¼°¼ÓÔØÎļþϵͳµÄÁ÷³Ì×ö×ܽáÐÔÂÛÊö£»Ö÷ÒªÊÇΪ³õѧÕßŪÇå³þÕâÒ»²Ù×÷¹ý³Ì£»±¾ÎÄ
Éæ¼°fdisk¡¢mkfs¡¢mount ... ... µÈ¹¤¾ß£»¶Ô/etc/fstab ½øÐÐÁ˽â˵£»»¹ÓдÅÅÌɨÃ蹤¾ßfsck µÈ½éÉÜ£»
++++++++++++++++++++++++++++++++++++++++++++++++++++++
ÕýÎÄ
++++++++++++++++++++++++++++++++++++++++++++++++++++++
ÔĶÁ´ËÎÄ£¬±ØÐë¾ß±¸ÖªÊ¶µã£º
¡¶Linux ²é¿´´ÅÅÌ·ÖÇø¡¢Îļþϵͳ¡¢Ê¹ÓÃÇé¿öµÄÃüÁîºÍÏà¹Ø¹¤¾ß½éÉÜ¡·
¡¶ÊµÀý½â˵ fdisk ʹÓ÷½·¨¡·
¡¶ºÏÀí¹æ»®ÄúµÄÓ²ÅÌ·ÖÇø¡·
¡¶Fedora / Redhat Èí¼þ°ü¹ÜÀíÖ¸ÄÏ¡·
Èç¹ûÄúÏë¼ÓÔØÒ»¸ö·ÖÇø£¨Îļþϵͳ£©£¬Ê×ÏÈÄúµÃÈ·ÈÏÎļþϵͳµÄÀàÐÍ£¬È»ºó²ÅÄܹÒÔØÊ¹Ó㬱ÈÈçͨ¹ýmount ¼ÓÔØ£¬»òÕßͨ¹ýÐÞ¸Ä /etc/fstabÀ´¿ª»ú×Ô¶¯¼ÓÔØ£»
Èç
¹ûÄúÏëÌí¼ÓÒ»¸öеķÖÇø£¬»òÕßÔö¼ÓÒ»¸öеÄÓ²ÅÌ£¬ÄúҪͨ¹ý·ÖÇø¹¤¾ßÀ´Ìí¼Ó·ÖÇø£¬È»ºóÒª´´½¨·ÖÇøµÄÎļþϵͳ£¬È»ºó²ÅÊǹÒÔØÎļþϵͳ£»±ÈÈçͨ¹ýmount
¼ÓÔØ£¬»òÕßͨ¹ýÐÞ¸Ä /etc/fstabÀ´¿ª»ú×Ô¶¯¼ÓÔØ£»
±¾ÎÄ×ÜÓÐÒ»²¿·ÝÊÇÄúÏëÒªµÄ£»±ÈÈçÔÚеķÖÇøÉÏ´´½¨Îļþ ......
½ø³Ìµ÷¶ÈÕþ²ß¾ÍÊǵ÷¶ÈϵͳÖÖÄÄÒ»¸ö½ø³ÌÀ´CPUÔËÐС£ÕâÖÖµ÷¶È·Ö2²ã¿¼ÂÇ¡£
µÚÒ»²ã£¬½ø³Ì״̬Õâ¸öÊÇ×îÓÅÏÈ¿¼Âǵģ¬Ò²¾ÍÊÇ˵ÓÅÏȼ¶×î¸ßµÄ¡£ÔÚlinuxÖÐÖ»ÓоÍÐ÷̬µÄ½ø³Ì²ÅÓпÉÄܻᱻµ÷¶ÈÑ¡ÖÐÈ»ºóÕ¼ÓÐCPU£¬ÆäËü״̬µÄ½ø³Ì²»¿ÉÄÜÕ¼Óеĵ½CPU¡£ÏÂÃæÊÇlinuxÖнø³ÌµÄ״̬
TASK_RUNNING:¾ÍÐ÷״̬£¬µÃµ½CPU¾Í¿ÉÒÔÔËÐС£
TASK_INTERRUPTIBLE:dz¶È˯Ãߣ¬×ÊÔ´µ½Î»»òÕßÊܵ½Ðźžͻá±ä³É¾ÍÐ÷̬¡£
TASK_UNINTERRUPTIBLE:Éî¶È˯Ãߣ¬×ÊÔ´µ½Î»¾Í»á½øÈë¾ÍÐ÷̬£¬²»ÏìÓ¦Ðźš£
TASK_ZOMBIE£º½©ËÀ̬£¬½ø³Ìexitºó¡£
TASK_STOPPED£ºÔÝ̬ͣ£¬ÊÕµ½SIG_CONTÐźŽøÈë¾ÍÐ÷̬¡£
µÚ¶þ²ã£¬ÆäÊµÕæÕýÔÚ²Ù×÷ϵͳÖеÄʵÏÖ£¬¾ÍÊÇËùÓоÍÐ÷̬½ø³ÌÁ´½Ó³ÉÒ»¸ö¶ÓÁУ¬½ø³Ìµ÷¶ÈʱºòÖ»»á¿¼ÂÇÕâ¸ö¶ÓÁÐÖеĽø³Ì£¬¶ÔÆäËüµÄ½ø³Ì²»¿¼ÂÇ£¬Õâ¾ÍʵÏÖÁ˵ÚÒ»²ãÖеÄÒªÇó¡£½ÓÏÂÀ´¾ÍÊǾÍÐ÷¶ÓÁÐÄÚ²¿¸÷¸ö½ø³ÌµÄ¾ºÕùÁË¡£
Linux²ÉÓÃ3ÖÖ²»Í¬µÄµ÷¶ÈÕþ²ß£¬SCHED_FIFO£¨ÏÂÃæ¼òд³ÉFIFO£¬ÏÈÀ´ÏÈ·þÎñ£©£¬SCHED_RR£¨¼òд³ÉRR£¬Ê±¼äƬÂÖ
Á÷£©£¬SCHED_OTHER£¨ÏÂÃæ¼òд³ÉOTHER£©¡£ÕâÀï´ó¼Ò¾ÍÄÜ¿´³öÒ»¸öÎÊÌ⣬²ÉÓÃͬµÈµ÷¶ÈÕþ²ßµÄ½ø³ÌÖ®¼ä×ÔÈ»ÓпɱÈÐÔ£¬Linux3ÖÖµ÷¶ÈÕþ²ß²¢
´æ£¬ÄÇô²»Í¬µ÷¶ÈÕþ²ß¼äµÄ½ø³ÌÈçºÎ±È½ÏÄØ£¿¿ÉÒÔ˵ËûÃÇÖ®¼ä¸ù±¾¾ÍûÓпɱÈÐ ......
Èç¹ûÓû§ÊìϤLinuxϵÄsed¡¢awk¡¢grep»òvi£¬ÄÇô¶ÔÕýÔò±í´ïʽÕâÒ»¸ÅÄî¿Ï¶¨²»»áİÉú¡£ÓÉÓÚËü¿ÉÒÔ¼«´óµØ¼ò»¯´¦Àí×Ö·û´®Ê±µÄ¸´ÔÓ¶È£¬Òò´ËÏÖÔÚÒѾÔÚÐí¶àLinuxʵÓù¤¾ßÖеõ½ÁËÓ¦Óá£Ç§Íò²»ÒªÒÔΪÕýÔò±í´ïʽֻÊÇPerl¡¢Python¡¢BashµÈ½Å±¾ÓïÑÔµÄרÀû£¬×÷ΪCÓïÑÔ³ÌÐòÔ±£¬Óû§Í¬Ñù¿ÉÒÔÔÚ×Ô¼ºµÄ³ÌÐòÖÐÔËÓÃÕýÔò±í´ïʽ¡£
±ê×¼µÄCºÍC++¶¼²»Ö§³ÖÕýÔò±í´ïʽ£¬µ«ÓÐһЩº¯Êý¿â¿ÉÒÔ¸¨ÖúC/C++³ÌÐòÔ±Íê³ÉÕâÒ»¹¦ÄÜ£¬ÆäÖÐ×îÖøÃûµÄµ±ÊýPhilip HazelµÄPerl-Compatible Regular Expression¿â£¬Ðí¶àLinux·¢Ðа汾¶¼´øÓÐÕâ¸öº¯Êý¿â¡£
±àÒëÕýÔò±í´ïʽ
ΪÁËÌá¸ßЧÂÊ£¬ÔÚ½«Ò»¸ö×Ö·û´®ÓëÕýÔò±í´ïʽ½øÐбȽÏ֮ǰ£¬Ê×ÏÈÒªÓÃregcomp()º¯Êý¶ÔËü½øÐбàÒ룬½«Æäת»¯Îªregex_t½á¹¹£º
int regcomp(regex_t *preg, const char *regex, int cflags);
²ÎÊýregexÊÇÒ»¸ö×Ö·û´®£¬Ëü´ú±í½«Òª±»±àÒëµÄÕýÔò±í´ïʽ£»²ÎÊýpregÖ¸ÏòÒ»¸öÉùÃ÷Ϊregex_tµÄÊý¾Ý½á¹¹£¬ÓÃÀ´±£´æ±àÒë½á¹û£»²ÎÊýcflags¾ö¶¨ÁËÕýÔò±í´ïʽ¸ÃÈçºÎ±»´¦ÀíµÄϸ½Ú¡£
Èç¹ûº¯Êýregcomp()Ö´Ðгɹ¦£¬²¢ÇÒ±àÒë½á¹û±»ÕýÈ·Ìî³äµ½pregÖк󣬺¯Êý½«·µ»Ø0£¬ÈÎºÎÆäËüµÄ·µ»Ø½á¹û¶¼´ú±íÓÐijÖÖ´íÎó²úÉú¡£
Æ¥ÅäÕýÔò±í´ïʽ
Ò»µ©ÓÃregcomp()º¯Êý³É¹¦µØ±àÒëÁËÕýÔò±í ......
GNU/LinuxÓÐÁ½Ì׿â¿ÉÓÃÓÚÕýÔò±í´ïʽ±à³Ì£ºPOSIX¿âºÍPCRE¿â¡£Ç°Õß²»ÐèÒªµ¥¶À°²×°£¬Ò»°ãÐèÇó»¹ÊÇÄÜÂú×ãµÄ£¬ËÙ¶ÈÉÔÂýЩ¡£ºóÕßÊǾøºÊ¢ÃûµÄPerlÕýÔò±í´ïʽ¿â£¬¹¦ÄÜÇ¿´ó£¬Æ¥ÅäËٶȿ죬²»¹ý¿ÉÄÜÐèÒªµ¥¶À°²×°¡£
ÎÒÃÇÏÈÓÃÒ»¸öÀý×ÓÀ´½éÉÜÈçºÎʹÓÃPOSIX¿â¡£
££i nclude <stdio.h>
££i nclude <sys/types.h>
££i nclude <regex.h>
char *get_regerror (int errcode, regex_t *compiled)
{
size_t length = regerror (errcode, compiled, NULL, 0);
char *buffer = malloc(length);
if (!buffer) return NULL;
(void) regerror (errcode, compiled, buffer, length);
return buffer;
}
int regtest(const char*pattern, const char* string)
{
regex_t reg;
regmatch_t *subexprs = NULL;
int ret;
int i;
if (0 != (ret=regcomp(?, pattern,& ......