»ñÈ¡linuxµÄÎļþϵͳÏà¹ØÐÅÏ¢µÄ֪ʶµã
ÔÚ struct mntent ÖеijÉÔ±Óë /etc/fstab ÎļþÖеÄÌõÄ¿ÊÇÖ±½Ó¶ÔÓ¦µÄ¡£ËüµÄÄÚÈÝÈçÏ£º
struct mntent {
char *mnt_fsname; /* ¹ÒÔØµÄÎļþϵͳµÄÃû×Ö */
char *mnt_dir; /* ¹ÒÔØµã */
char *mnt_type; /* ÎļþϵͳÀàÐÍ£ºufs¡¢nfs µÈ */
char *mnt_opts; /* Ñ¡ÏÒÔ¶ººÅΪ·Ö¸ô·û */
int mnt_freq; /* Dump µÄƵÂÊ(ÒÔÌìΪµ¥Î») */
int mnt_passno; /* fsck¼ì²éµÄ´ÎÐò */
};
FILE *setmntent(const char *filename, const char *type);
struct mntent *getmntent(FILE *filep);
int addmntent(FILE *filep, const struct mntent *mnt);
int endmntent(FILE *filep);
char *hasmntopt(const struct mntent *mnt, const char *opt);
setmntent() ÊÇ´ò¿ª°üº¬¹ÒÔØµãÏîÄ¿µÄÎļþ, ÆäÖÐµÄ filename ²ÎÊýÊÇÒª´ò¿ªµÄÎļþÃû, type ²ÎÊý¾ÍÏñ fopen() µÄµÚ¶þ¸ö²ÎÊý, ´ú±íÖ»¶Á¡¢Ö»Ð´, »ò¶Áд½Ô¿ÉµÄ´æÈ¡Ä£Ê½ ¡£·µ»ØFILE*¡£
getmntent() ÔòÊÇÑÐò¶ÁÈ¡Õû¸öµµ°¸£¬´«»ØÖ¸Ïò static struct mntent ½á¹¹µÄÖ¸Õ룬½á¹¹ÖлáÌîÈëÊʵ±µÄÖµ¡£
addmntent() ¿ÉÒÔÔÚÒÑ¿ªÆôµµ°¸µÄÄ©¶Ë¼ÓÉÏ×ÊѶ£¬ËüÔ±¾ÊǸø mount ʹÓõġ£
endmntent() µÄ¹¦ÓÃÊǹرմò¿ªµÄÎļþ¡£Õâ²»ÄÜÖ»ÊǺô½Ð fclose() ¶øÒÑ,ÒòΪ¿ÉÄÜ»¹ÓÐÆäËüÓëFILE * ÓйصÄÄÚ²¿×ÊÁϽṹÐèÒªÇåÀí¡£
hasmntopt() ÊǸö±È½ÏÌØÊâµÄº¯Ê½¡£Ëü»áɨÃèµÚÒ»¸ö²ÎÊýËù´«ÈëµÄstruct mntent£¬ÕÒ³öËüµÄ¹ÒÔØÑ¡ÏîÊÇ·ñ·ûºÏµÚ¶þ¸öÒýÊý¡£¼ÙÈçÕÒµ½Ñ¡Ïî¾Í´«»Ø·ûºÏµÄ×Ó×Ö·û´®µÄλַ£»·ñÔò´«»ØNULL¡£
/etc/fstab¡¢/etc/mtab ºÍ /proc/mounts ÆäÖÐÈκÎÒ»¸ö, ¶¼¿ÉÒÔÔÚ³ÌÐòÖÐʹÓà getmntent() Õâ×麯ÊýÀ´¶ÁÈ¡
eg£º
#include <mntent.h>
struct mntent* mnt;
FILE* fp;
fp = setmntent("/dev/mmc/mmcblk0", "r");
if ( !fp )
{
return FALSE;
}
if(mnt=getmntent(fp) )
{
#if 1
printf("woosoori[%s:%d] mnt->mnt_fsname=%s\n",__FUNCTION__,__LINE__, mnt->mnt_fsname);
printf("woosoori[%s:%d] mnt
Ïà¹ØÎĵµ£º
ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ
ÕªÒª£ºÔÚÏêϸ½éÉÜÒ»ÖÖǶÈëʽWeb·þÎñÆ÷BOAµÄʵÏÖÓëÅäÖ÷½·¨µÄ»ù´¡ÉÏ£¬ÒÔÒ»¸öWebÔÚÏßÔ¶³Ì¼à¿ØGPIO£¨Í¨ÓÃÊäÈë/Êä³ö£©µÄ³ÌÐòΪʵÀý£¬½éÉÜǶÈëʽLinuxϵͳÏÂCPU³ÌÐòÉè¼Æ¼¼Êõ¡£
¹Ø¼ü´Ê£ºÇ¶ÈëʽϵͳLinux BOA CGI GPIO
1 ¸ÅÊö
Ëæ×Å»¥ÁªÍøÓ¦ÓÃµÄÆÕ¼°£¬Ô½À´Ô½¶àµÄÐÅÏ¢»¯²úÆ·ÐèÒª½Ó ......
ÔÚlinux»·¾³Ï±à³ÌÓÐÒ»¸öºÜÈÃÈËÍ·ÌÛµÄÎÊÌâ¾ÍÊÇÐźŶÔϵͳµ÷ÓõĸÉÈÅ£¬ÔÚϵͳµ÷Óùý³ÌÖÐÈç¹ûÊܵ½ÐźŵĸÉÈÅ£¬
²¿·Öϵͳµ÷ÓûὫerrnoÉèÖóÉEINTR£¬ÎÒÃDz»µÃ²»±àдÏÂÃæµÄ´íÎó´¦Àí´úÂëÀ´·ÀÖ¹ÕâÖÖÇé¿öµÄ·¢Éú£º
syscall:
int ret = syscall(...);
if (ret < 0 && EINTER == errno)
goto syscall;
el ......
ÔÚwindowsÉϳ¢ÊÔcentosºóÎÒÖ±½Ó¸ø¸ñʽ»¯µôcentos£¬Æô¶¯ÏµÍ³³öÏÖgrubµÄÆô¶¯»Ã棬ÓÐ2¸ö½â¾ö·½°¸
1£ºÔÚdos»·¾³ÏÂÓÃfdisk /mbr ¼¶¿ÉÒÔÐÞ¸´mbr¼´¿É
2£ºÈç¹ûûdosÅÌÔòÓÃÏÂÃæÃüÁ
1£©rootnoverify (hd0,0) //»Ø³µ£¬¼ÇµÃrootnoverifyºóÃæÓиö¿Õ¸ñ
2£©chainloader (hd0,0)+1 // ¼ÇµÃ»¹ÊÇÓпոñ
3 ......
ѧϰUbuntu LinuxºÜ¾ÃÁË£¬ÓÉÓںܶàÈ˶ÔÓÚUbuntu Linux·ÖÇøÓÐËùÌáÎÊ£¬ËùÒÔÏ£ÍûÒÔÏÂÎÄÕ¶Դó¼ÒÓÐËù°ïÖú¡£Ubuntu Linux ·ÖÇø¸ÅÄ Ê×ÏȽéÉÜÒ»ÏÂlinuxÖеķÖÇø¸ÅÄÕâ¸ö¿ÉÊǰÑÒ»¿ªÊ¼Ñ§Ï°µÄÎÒº¦¿àÁË¡£ÔÚ Linux Öй涨£¬Ã¿Ò»¸öÓ²ÅÌÉ豸×î¶àÄÜÓÐ 4 ¸öÖ÷·ÖÇø£¨ÆäÖаüº¬À©Õ¹·ÖÇø£©¹¹³É£¬ÈκÎÒ»¸öÀ©Õ¹·ÖÇø¶¼ÒªÕ¼ÓÃÒ»¸öÖ÷·ÖÇøºÅÂë£ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ÎÒÃÇ˵¾ä´ó°×»°£¬Ëùν“ÓÎ˵Õß”£¨
lobbist
£¬
lobber
£©¾ÍÊǹŴúµÄ“說¿Í”£¬Ö»ÊÇÈËÃÇÆ½ÈÕ²»ºÃÒâ˼Õâô˵¶øÒÑ¡£µ±½ñ£¬¸ÊÔ¸×öÒ»Ãû
Linux
ÓÎ˵ÕßÊǺܹâÈÙµÄÊÂÇé¡£´Ë»°µ±Õ棿 ......