Linux ÄÚºË/sys Îļþϵͳ½éÉÜ(Ò»)
sysfs ÊÇ Linux ÄÚºËÖÐÉè¼Æ½ÏеÄÒ»ÖÖÐéÄâµÄ»ùÓÚÄÚ´æµÄÎļþϵͳ£¬ËüµÄ×÷ÓÃÓë proc ÓÐЩÀàËÆ£¬µ«³ýÁËÓë proc ÏàͬµÄ¾ßÓв鿴ºÍÉ趨Äں˲ÎÊý¹¦ÄÜÖ®Í⣬»¹ÓÐΪ Linux ͳһÉ豸ģÐÍ×÷Ϊ¹ÜÀíÖ®Óá£Ïà±ÈÓÚ proc Îļþϵͳ£¬Ê¹Óà sysfs µ¼³öÄÚºËÊý¾ÝµÄ·½Ê½¸üΪͳһ£¬²¢ÇÒ×éÖ¯µÄ·½Ê½¸üºÃ£¬ËüµÄÉè¼Æ´Ó proc ÖÐÎüÈ¡Á˺ܶà½Ìѵ¡£±¾ÎÄ¾Í sysfs µÄ¹ÒÔØµã /sys Ŀ¼½á¹¹¡¢ÆäÓë Linux ͳһÉ豸ģÐ͵ĹØÏµ¡¢³£¼ûÊôÐÔÎļþµÄÓ÷¨µÈ·½Ãæ¶Ô sysfs ×÷ÈëÃŽéÉÜ£¬²¢ÇÒ¾ÍÄں˱à³Ì·½Ã棬ÒÔ¾ßÌåµÄÀý×ÓÀ´Õ¹Ê¾ÈçºÎÌí¼Ó sysfs Ö§³Ö¡£
sysfs µÄÀúÊ·£¬ÆäÓë proc µÄ¹ØÏµ£¿
sysfs ±¾Éí²¢²»ÊÇÒ»ÏîºÜеļ¼Êõ£¬µ«±ÊÕß·¢ÏÖ£¬ËäÈ» sysfs ´Ó2003Äêµ®ÉúÖÁ½ñÒÑÓÐ5Ä꣬µ«ÈËÃÇ¶Ô sysfs ÒÀȻȱ·¦Á˽⣻һ¸öºÜÖØÒªµÄÔÒò¿ÉÄÜÊÇȱ·¦Îĵµ£¬ Linux Äں˷½Ãæ×îÖØÒªµÄÀíÂÛÊé¼®“Linux É豸Çý¶¯µÚ3°æ”ºÍ“Àí½â Linux Äں˵Ú2°æ”¶¼µ®ÉúÓÚ2003Äêǰºó£¬²¢ÇÒ´ÓÄÇÒÔºóÉÐδÓÐÔÙ°æ¹ý£¬ÆäËüÒ»Ð©ÖØÒªÎÄÕÂÔò¶à¶Ô sysfs Óë proc ÏàÌá²¢ÂÛÇÒ¾ÙÀý³£³£Ö»ÓÐ proc£¬Õâµ¼ÖÂÁË sysfs µÄºÜ¶àÖØÒª¸ÅÄîÖÁ½ñÈÔÏÊΪÈËÖª£¬Òò´ËÓбØÒª¶Ô sysfs ×÷¸ü¶à½éÉÜ£¬ÕâÊÇд×÷±¾ÎĵijõÖÔ¡£
sysfs Óë /sys
sysfs Îļþϵͳ×ÜÊDZ»¹ÒÔØÔÚ /sys ¹ÒÔØµãÉÏ¡£ËäÈ»ÔÚ½ÏÔçÆÚµÄ2.6ÄÚºËϵͳÉϲ¢Ã»Óй涨 sysfs µÄ±ê×¼¹ÒÔØÎ»Ö㬿ÉÒÔ°Ñ sysfs ¹ÒÔØÔÚÈκÎλÖ㬵«½Ï½üµÄ2.6ÄÚºËÐÞÕýÁËÕâÒ»¹æÔò£¬ÒªÇó sysfs ×ÜÊǹÒÔØÔÚ /sys Ŀ¼ÉÏ£»Õë¶ÔÒÔǰµÄ sysfs ¹ÒÔØÎ»Öò»¹Ì¶¨»òûÓбê×¼±»¹ÒÔØ£¬ÓÐЩ³ÌÐò´Ó /proc/mounts ÖнâÎö³ö sysfs ÊÇ·ñ±»¹ÒÔØÒÔ¼°¾ßÌåµÄ¹ÒÔØµã£¬Õâ¸ö²½ÖèÏÖÔÚÒѾ²»ÐèÒªÁË¡£Çë²Î¿¼¸½Â¼¸ø³öµÄ sysfs-rules.txt ÎļþÁ´½Ó¡£
sysfs Óë proc
sysfs Óë proc Ïà±ÈÓкܶàÓŵ㣬×îÖØÒªµÄιýÓÚÉè¼ÆÉϵÄÇåÎú¡£Ò»¸ö proc ÐéÄâÎļþ¿ÉÄÜÓÐÄÚ²¿¸ñʽ£¬Èç /proc/scsi/scsi £¬ËüÊǿɶÁ¿ÉдµÄ£¬(ÆäÎļþȨÏÞ±»´íÎ󵨱ê¼ÇΪÁË 0444 £¡£¬ÕâÊÇÄں˵ÄÒ»¸öBUG)£¬²¢ÇÒ¶Áд¸ñʽ²»Ò»Ñù£¬´ú±í²»Í¬µÄ²Ù×÷£¬Ó¦ÓóÌÐòÖжÁµ½ÁËÕâ¸öÎļþµÄÄÚÈÝÒ»°ã»¹ÐèÒª½øÐÐ×Ö·û´®½âÎö£¬¶øÔÚдÈëʱÐèÒªÏÈÓÃ×Ö·û´®¸ñʽ»¯°´Ö¸¶¨µÄ¸ñʽдÈë×Ö·û´®½øÐвÙ×÷£»Ïà±È¶øÑÔ£¬ sysfs µÄÉè¼ÆÔÔòÊÇÒ»¸öÊôÐÔÎļþÖ»×öÒ»¼þÊÂÇ飬 sysfs ÊôÐÔÎļþÒ»°ãÖ»ÓÐÒ»¸öÖµ£¬Ö±½Ó¶ÁÈ¡»òдÈë¡£Õû¸ö /proc/scsi Ŀ¼ÔÚ2.6ÄÚºËÖÐÒѱ»±ê¼ÇΪ¹ýʱ(LEGACY)£¬ËüµÄ¹¦ÄÜÒѾ±»ÏàÓ¦µÄ /sys ÊôÐÔÎļþË
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
LinuxÎļþȨÏÞ»ù±¾¸ÅÊö:
1.»ù±¾È¨ÏÞ:¿É¶Á(r) ¿Éд(w) ¿É±à¼(x)
2.ÌØÊâȨÏÞ:SUID SGID SBIT
3.Òþ²ØÈ¨ÏÞ:ͨ¹ý[lsattr]²é¿´,[chattr]ÉèÖÃ;ÓÉÓÚÎļþµÄÒþ²ØÈ¨ÏÞÖÖÀà½Ï¶à(13ÖÖ),Ôڴ˲»×÷¾ßÌå˵Ã÷;¿ÉÒÔͨ¹ý[man ......
±¾ÎÄ×ªÔØÓÚ£º http://hi.baidu.com/peruke/blog/item/b8de06ec6a04583b27979132.html
tzset
#incude <time.h
>
void tzset(void);
ÉèÖÃʱ¼ä»·¾³±äÁ¿¡£
˵Ã÷
tzset()º¯ÊýʹÓû·¾³±äÁ¿TZµÄµ±Ç°ÉèÖðÑÖµ¸³¸øÈý¸öÈ«¾Ö±äÁ¿:daylight,timezoneºÍtzname¡£
ÕâЩ±äÁ¿ÓÉftimeºÍlocaltimeº¯ÊýʹÓÃУÕý¸ñÁÖÍþÖÎ(UTC ......
±¾ÎÄ×ªÔØÓÚ£º http://hi.baidu.com/peruke/blog/item/7f1f34580a0eb6d89c82043b.html
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³ ......
asctime£¨½«Ê±¼äºÍÈÕÆÚÒÔ×Ö·û´®¸ñʽ±íʾ£©
Ïà¹Øº¯Êý
time£¬ctime£¬gmtime£¬localtime
±íÍ·Îļþ
#include<time.h>
¶¨Ò庯Êý
char * asctime(const struct tm * timeptr);
º¯Êý˵Ã÷
asctime()½«²ÎÊýtimeptrËùÖ¸µÄtm½á¹¹ÖеÄÐÅϢת»»³ÉÕæÊµÊÀ½çËùʹÓõÄʱ¼äÈÕ ......