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

LinuxÄں˵Äioctlº¯Êýѧϰ


ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬ ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒÇ°Ò»Õó×Ó±»ioctl¸ø¸ã»ìÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
Ò»¡¢ ʲôÊÇioctl¡£
ioctlÊÇÉ豸Çý¶¯³ÌÐòÖжÔÉ豸µÄI/OͨµÀ½øÐйÜÀíµÄº¯Êý¡£Ëùν¶ÔI/OͨµÀ½øÐйÜÀí£¬¾ÍÊǶÔÉ豸µÄһЩÌØÐÔ½øÐпØÖÆ£¬ÀýÈç´®¿ÚµÄ´«Ê䲨ÌØÂÊ¡¢Âí´ïµÄתËٵȵȡ£ËüµÄµ÷ÓøöÊýÈçÏ£º
int ioctl(int fd, ind cmd, …)£»
ÆäÖÐfd¾ÍÊÇÓû§³ÌÐò´ò¿ªÉ豸ʱʹÓÃopenº¯Êý·µ»ØµÄÎļþ±êʾ·û£¬cmd¾ÍÊÇÓû§³ÌÐò¶ÔÉ豸µÄ¿ØÖÆÃüÁÖÁÓÚºóÃæµÄÊ¡ÂԺţ¬ÄÇÊÇһЩ²¹³ä²ÎÊý£¬Ò»°ã×î¶àÒ»¸ö£¬ÓлòûÓÐÊǺÍcmdµÄÒâÒåÏà¹ØµÄ¡£
ioctlº¯ÊýÊÇÎļþ½á¹¹ÖеÄÒ»¸öÊôÐÔ·ÖÁ¿£¬¾ÍÊÇ˵Èç¹ûÄãµÄÇý¶¯³ÌÐòÌṩÁ˶ÔioctlµÄÖ§³Ö£¬Óû§¾Í¿ÉÒÔÔÚÓû§³ÌÐòÖÐʹÓÃioctlº¯Êý¿ØÖÆÉ豸µÄI/OͨµÀ¡£
¶þ¡¢ ioctlµÄ±ØÒªÐÔ
Èç¹û²»ÓÃioctlµÄ»°£¬Ò²¿ÉÒÔʵÏÖ¶ÔÉ豸I/OͨµÀµÄ¿ØÖÆ£¬µ«ÄǾÍÊÇÂùÅ¡ÁË¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÔÚÇý¶¯³ÌÐòÖÐʵÏÖwriteµÄʱºò¼ì²éÒ»ÏÂÊÇ·ñÓÐÌØÊâÔ¼¶¨µÄÊý¾ÝÁ÷ͨ¹ý£¬Èç¹ûÓеĻ°£¬ÄÇôºóÃæ¾Í¸ú×Å¿ØÖÆÃüÁһ°ãÔÚsocket±à³ÌÖг£³£ÕâÑù×ö£©¡£µ«ÊÇÈç¹ûÕâÑù×öµÄ»°£¬»áµ¼Ö´úÂë·Ö¹¤²»Ã÷£¬³ÌÐò½á¹¹»ìÂÒ£¬³ÌÐòÔ±×Ô¼ºÒ²»áÍ·»èÑÛ»¨µÄ¡£
ËùÒÔ£¬ÎÒÃǾÍʹÓÃioctlÀ´ÊµÏÖ¿ØÖƵŦÄÜ¡£Òª¼Çס£¬Óû§³ÌÐòËù×÷µÄÖ»ÊÇͨ¹ýÃüÁîÂë¸æËßÇý¶¯³ÌÐòËüÏë×öʲô£¬ÖÁÓÚÔõô½âÊÍÕâЩÃüÁîºÍÔõôʵÏÖÕâЩÃüÁÕⶼÊÇÇý¶¯³ÌÐòÒª×öµÄÊÂÇé¡£
Èý¡¢ ioctlÈçºÎʵÏÖ
ÕâÊÇÒ»¸öºÜÂé·³µÄÎÊÌ⣬ÎÒÊÇÄÜÊ¡ÔòÊ¡¡£ÒªËµÇå³þËü£¬Ã»ÓÐËÄÎåǧ×ÖÊDz»Ðеģ¬ËùÒÔÎÒÕâÀïÊDz»¿ÉÄÜ°ÑËü˵µÃ·Ç³£Çå³þÁË£¬²»¹ýÈç¹ûÓжÁÕ߶ÔÓû§³ÌÐòÔõôºÍÇý¶¯³ÌÐòÁªÏµÆðÀ´¸ÐÐËȤµÄ»°£¬¿ÉÒÔ¿´ÎÒÇ°Ò»Õó×ÓдµÄ¡¶writeµÄ°ÂÃØ¡·¡£¶ÁÕßÖ»Òª°Ñwrite»»³Éioctl£¬¾ÍÖªµÀÓû§³ÌÐòµÄioctlÊÇÔõôºÍÇý¶¯³ÌÐòÖеÄioctlʵÏÖÁªÏµÔÚÒ»ÆðµÄÁË¡£
ÎÒÕâÀï˵һ¸ö´ó¸Å˼·£¬ÒòΪÎÒ¾õµÃ¡¶LinuxÉ豸Çý¶¯³ÌÐò¡·Õâ±¾ÊéÒѾ­ËµµÄ·Ç³£Çå³þÁË£¬µ«Êǵû¯Ò»Ð©Ê±¼äÀ´¿´¡£
ÔÚÇý¶¯³ÌÐòÖÐʵÏÖµÄioctlº¯ÊýÌåÄÚ£¬Êµ¼ÊÉÏÊÇÓÐÒ»¸öswitch{case}½á¹¹£¬Ã¿Ò»¸öcase¶ÔÓ¦Ò»¸öÃüÁîÂ룬×ö³öһЩÏàÓ¦µÄ²Ù×÷¡£ÔõôʵÏÖÕâЩ²Ù×÷£¬ÕâÊÇÿһ¸ö³ÌÐòÔ±×Ô¼ºµÄÊÂÇ飬ÒòΪÉ豸¶¼ÊÇÌض¨µÄ£¬ÕâÀïҲû·¨Ëµ¡£¹Ø¼üÔÚÓÚÔõôÑù×éÖ¯ÃüÁîÂ룬ÒòΪÔÚioctlÖÐÃüÁîÂëÊÇΨһÁªÏµÓû§³ÌÐòÃüÁîºÍÇý¶¯³ÌÐòÖ§³ÖµÄ;¾¶¡£
ÃüÁîÂëµÄ×éÖ¯ÊÇÓÐһЩ½²¾¿µÄ£¬ÒòΪÎÒÃÇÒ»¶¨Òª×öµ½ÃüÁîºÍÉ豸ÊÇÒ»Ò»¶ÔÓ¦µÄ£¬ÕâÑù²Å²»»á½


Ïà¹ØÎĵµ£º

Linux¸ß¼¶È¨ÏÞ¹ÜÀí£ºACLÓ÷¨¼ò½é

ת×Ô£º http://ipie.blogbus.com/logs/36730036.html
 
Linux¸ß¼¶È¨ÏÞ¹ÜÀí£ºACLÓ÷¨¼ò½é
2009-03-18 23:11:22 by deepblue
Ç°¶Îʱ¼ä£¬ÔÚLinuxÉÏÉèÖÃÒ»¸öĿ¼µÄ·ÃÎÊȨÏÞʱ£¬·¢ÏÖͨ¹ý¼òµ¥µÄchmod²Ù×÷²»ÄÜÂú×ã×Ô¼ºµÄÐèÇó£¬
ÎÊÌ⣺Èç¹ûÓÃrootÕʺŴ´½¨ÁËÒ»¸öĿ¼DIR£¬ÓÐA,B,C,DËÄ×éÓû§£¬ÎÒÏë¸øA×éÓû§¶ÁдִÐеÄȨÏÞ£ ......

Ïê½âUnix/Linux ShellµÄÊäÈëÊä³ö

      ShellµÄI/OÓï·¨ÄÑÒÔÀí½â£¬¸üÄÑÒÔÕýȷʹÓá£ShellµÄÊäÈëÊä³öÓï·¨ÓÐÁ½¸öÄѵ㣺Öض¨ÏòºÍÎļþÃèÊö·û¡£ÎÒÒÔÇ°¶ÔShell I/OµÄÀí½âÒ²ÓдíÎó¡£×î½üÖØÐÂÕûÀí˼·£¬¾ö¶¨Ð´Ò»ÆªÎÄÕÂÀ´×ܽáI/OÖض¨Ïò¡£
      ÏȽéÉܼ¸¸ö»ù±¾¸ÅÄî:
1£©Îļþ(File)£ºÔÚUnix/LinuxÖУ¬ÎļþÀàÐÍÓÐÆ ......

linux ÏÂc ³ÌÐò ¶Î´íÎó ·ÖÎö

fopen("/var/spool/cron/tmp","w+");
/////////////////////////////////////////
££i nclude <sys/types.h>
££i nclude <sys/stat.h>
££i nclude <fcntl.h>
££i nclude <unistd.h>
££i nclude <stdio.h>
££i nclude <string.h>
££i nclude <stdlib.h>
int main(){
in ......

¹È¸èAndroid±»LinuxÄں˳ýÃû

      2  Ô 3  ÈÕ£¬ Linux  Äں˿ª·¢Õß Greg Kroah-Hartman  ½« Android  µÄÇý¶¯³ÌÐò´Ó Linux Äں˓״̬Ê÷”£¨“ staging tree”  £©ÉϳýÈ¥£¬´Ó´Ë£¬ Android  Óë Linux  ¿ª·¢Ö÷Á÷½« ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ