»ñÈ¡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
Ïà¹ØÎĵµ£º
ÔÚwindowsÉϳ¢ÊÔcentosºóÎÒÖ±½Ó¸ø¸ñʽ»¯µôcentos£¬Æô¶¯ÏµÍ³³öÏÖgrubµÄÆô¶¯»Ã棬ÓÐ2¸ö½â¾ö·½°¸
1£ºÔÚdos»·¾³ÏÂÓÃfdisk /mbr ¼¶¿ÉÒÔÐÞ¸´mbr¼´¿É
2£ºÈç¹ûûdosÅÌÔòÓÃÏÂÃæÃüÁ
1£©rootnoverify (hd0,0) //»Ø³µ£¬¼ÇµÃrootnoverifyºóÃæÓиö¿Õ¸ñ
2£©chainloader (hd0,0)+1 // ¼ÇµÃ»¹ÊÇÓпոñ
3 ......
/*
socket selectÄ£ÐÍ£¬·þÎñ¶Ë
¾ø´ó¶àÊý×¢ÊÍ×Ô¼ºÐ´µÄ£¬²Î¿¼man
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/un.h>
#include &l ......
¶ÀÌØµÄ¿ª·¢Ä£Ê½Ôì¾ÍÁ˽ñÌì°Ù¼ÒÕùÃùµÄLinux£¬¸÷¸ö·¢ÐаæµÄÃû×Ö¶¼´ú±íÄÄЩº¬ÒåÄØ£¿ÏÂÃæÊÇһЩ³£Óõİ汾£¬¸ÐÐËȤµÄÅóÓÑÒ»ÆðÀ´¿´£º 1-UbuntuÕâ»òÐíÊǽñÌì×î³£¼ûµÄÒ»¸öLinux·¢ÐаæÁË£¬UbuntuÊÇÒ»¸öÄϷǵÄÃñ×å¹ÛÄ×ÅÑÛÓÚÈËÃÇÖ®¼äµÄÖҳϺÍÁªÏµ¡£¸Ã´ÊÀ´×ÔÓÚ×æÂ³ÓïºÍ¿ÆÈøÓï¡£´óÒâÊÇ“È˵À´ýÈË”(¶ÔËûÈËÈÊ´È)¡£ÁíÒ»ÖÖ·Ò ......
Èç¹ûÄã¼Èû×öϵͳÆô¶¯ÈíÅÌ£¬Í¬Ê±¶àϵͳµÄÒýµ¼LILO ºÍGRUB ÓÖ±»É¾³ý£¬ÄÇôֻÄÜʹÓÃLinux ϵͳ°²×°ÅÌÀ´»Ö¸´rootµÄÃÜÂ룬²½ÖèÈçÏ¡£ Ò». liloÒýµ¼ÔÚ³öÏÖ lilo: Ìáʾʱ¼üÈë linux single Boot: linux single »Ø³µ¿ÉÖ±½Ó½øÈëlinuxµ¥Óû§Ä£Ê½ vi /etc/passwd ɾ³ýrootÏîÖеÄÃÜÂë (ÕâÀïÒ²¿ÉÒÔÖ±½ÓʹÓÃpasswdÃüÁîÖØÐÂÉèÖÃrootµÄÃÜÂë ......
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔµÄÓ ......