linuxÏÂopen()Óëfopen()
fopen£¨´ò¿ªÎļþ£©
Ïà¹Øº¯Êý
open£¬fclose
±íÍ·Îļþ
#include<stdio.h>
¶¨Ò庯Êý
FILE * fopen(const char * path,const char * mode);
º¯Êý˵Ã÷
²ÎÊýpath×Ö·û´®°üº¬Óû´ò¿ªµÄÎļþ·¾¶¼°ÎļþÃû£¬²ÎÊýmode×Ö·û´®Ôò´ú±í×ÅÁ÷ÐÎ̬¡£
modeÓÐÏÂÁм¸ÖÖÐÎ̬×Ö·û´®:
r ´ò¿ªÖ»¶ÁÎļþ£¬¸ÃÎļþ±ØÐë´æÔÚ¡£
r+ ´ò¿ª¿É¶ÁдµÄÎļþ£¬¸ÃÎļþ±ØÐë´æÔÚ¡£
w ´ò¿ªÖ»Ð´Îļþ£¬ÈôÎļþ´æÔÚÔòÎļþ³¤¶ÈÇåΪ0£¬¼´¸ÃÎļþÄÚÈÝ»áÏûʧ¡£ÈôÎļþ²»´æÔÚÔò½¨Á¢¸ÃÎļþ¡£
w+ ´ò¿ª¿É¶ÁдÎļþ£¬ÈôÎļþ´æÔÚÔòÎļþ³¤¶ÈÇåΪÁ㣬¼´¸ÃÎļþÄÚÈÝ»áÏûʧ¡£ÈôÎļþ²»´æÔÚÔò½¨Á¢¸ÃÎļþ¡£
a ÒÔ¸½¼ÓµÄ·½Ê½´ò¿ªÖ»Ð´Îļþ¡£ÈôÎļþ²»´æÔÚ£¬Ôò»á½¨Á¢¸ÃÎļþ£¬Èç¹ûÎļþ´æÔÚ£¬Ð´ÈëµÄÊý¾Ý»á±»¼Óµ½Îļþ⣬¼´ÎļþÔÏȵÄÄÚÈݻᱻ±£Áô¡£
a+ ÒÔ¸½¼Ó·½Ê½´ò¿ª¿É¶ÁдµÄÎļþ¡£ÈôÎļþ²»´æÔÚ£¬Ôò»á½¨Á¢¸ÃÎļþ£¬Èç¹ûÎļþ´æÔÚ£¬Ð´ÈëµÄÊý¾Ý»á±»¼Óµ½Îļþβºó£¬¼´ÎļþÔÏȵÄÄÚÈݻᱻ±£Áô¡£
ÉÏ
ÊöµÄÐÎ̬×Ö·û´®¶¼¿ÉÒÔÔÙ¼ÓÒ»¸öb×Ö·û£¬Èçrb¡¢w+b»òab£«µÈ×éºÏ£¬¼ÓÈëb
×Ö·ûÓÃÀ´¸æËߺ¯Êý¿â´ò¿ªµÄÎļþΪ¶þ½øÖÆÎļþ£¬¶ø·Ç´¿ÎÄ×ÖÎļþ¡£²»¹ýÔÚPOSIXϵͳ£¬°üº¬Linux¶¼»áºöÂÔ¸Ã×Ö·û¡£ÓÉfopen()Ëù½¨Á¢µÄÐÂÎļþ»á¾ß
ÓÐS_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)ȨÏÞ£¬´ËÎļþȨÏÞÒ²»á²Î¿¼umask
Öµ¡£
·µ»ØÖµ
Îļþ˳Àû´ò¿ªºó£¬Ö¸Ïò¸ÃÁ÷µÄÎļþÖ¸Õë¾Í»á±»·µ»Ø¡£Èô¹ûÎļþ´ò¿ªÊ§°ÜÔò·µ»ØNULL£¬²¢°Ñ´íÎó´úÂë´æÔÚerrno ÖС£
¸½¼Ó˵Ã÷
Ò»°ã¶øÑÔ£¬¿ªÎļþºó»á×÷һЩÎļþ¶ÁÈ¡»òдÈëµÄ¶¯×÷£¬Èô¿ªÎļþʧ°Ü£¬½ÓÏÂÀ´µÄ¶Áд¶¯×÷Ò²ÎÞ·¨Ë³Àû½øÐУ¬ËùÒÔÔÚfopen()ºóÇë×÷´íÎóÅжϼ°´¦Àí¡£
·¶Àý
#include<stdio.h>
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}
open£¨´ò¿ªÎļþ£©
Ïà¹Øº¯Êý
read£¬write£¬fcntl£¬close£¬link£¬stat£¬umask£¬unlink£¬fopen
±íÍ·Îļþ
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
¶¨Ò庯Êý
int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
º¯Êý˵Ã÷
²ÎÊýpathname Ö¸ÏòÓû´ò¿ªµÄÎļþ·¾¶×Ö·û´®¡£ÏÂÁÐÊDzÎÊý
Ïà¹ØÎĵµ£º
LinuxϵͳµÄSNMP·þÎñÉèÖÃ
1) °²×°SNMP
ÂÔ£¬Çë²ÎÔÄLINUXϵͳSNMP°²×°ËµÃ÷£¬Ò»°ãÇé¿öÏÂLinuxÖеľùÒѾ×Ô¶¯°²×°ÁËSNMP·þÎñ¡£ÒÔÏÂÃüÁî¿ÉÒÔ¼ì²âSNMP·þÎñÊÇ·ñ°²×°ÒÔ¼°°²×°µÄÎļþ°ü¡£
[root@idc ~]# rpm -qa |grep snmp
net-snmp-libs-5.1.2-11.EL4.7
net-snmp-5.1.2-11.EL4.7
2) ÅäÖÃSNMP
°´ÕÕÈçÏ·½Ê½ÐÞ¸Ä/etc ......
SBC2440Ñз¢°åϵÄLINUXµÄ°²×°
±¾ÎļþÊǶԓSBC2440ϵͳ°²×°ºÍ¸üÐÂÖ¸ÄÏ.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”µÄ²¹³ä˵Ã÷£¨ºìÉ«×ÖÌ岿·Ö£©¡£
Ê×ÏȽøÈëVIVIģʽ£º·½·¨ÊÇÏÈ´ò¿ªWINDOWSϵÄÖÕ¼«ÖÕ¶Ë£¬ÉèÖúø÷ÖÖ²ÎÊý£¨¾ßÌåÉèÖüû“SBC2440Ö®³õÌåÑé.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”£¬Ê¹COM1´¦ÔÚ× ......
˵Ã÷
±Ê¼ÇÊÊÓÃÓÚLinuxµÄ2.6.10ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔLinux
Device
Driver3ÌṩµÄscull³ÌÐò(scullĿ¼ÖеÄmain.cºÍscull.h)Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬module_init( )ºÍmodule_exit(
)ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ»ÆðÌÖÂÛ£¬µ«ÊDZ¾±Ê¼ÇÈ´²»»áÕâÑù£¬¶øÊ ......
Õâ¸ö¶«¶«£¬ÂùºÃÍæµÄ¡£Æäʵ¾ÍÊǶÁÈ¡ÁË/proc/net/dev Îļþ¡£
struct netdev_stats {
unsigned long long rx_packets_m; /* total packets received */
unsigned long long tx_packets_m; &nbs ......
“/”¸ùĿ¼
°üº¬»ù±¾µÄ²Ù×÷ϵͳºÍά»¤¹¤¾ß¡£Õâ¸öĿ¼µÄÎļþ¿ÉÒÔÆô¶¯ÏµÍ³£¬²¢ÇÒÐèÒªµÄ»°£¬¿ÉÒÔÍê³É½ô¼±Î¬»¤ºÍÐÞ¸´µÄ¹¦ÄÜ¡£
“/usr”Ŀ¼
°üº¬ËùÓеÄÃüÁî¡¢³ÌÐò¿â¡¢ÎĵµºÍÆäËüÎļþ¡£ÕâЩÎļþÔÚÕý³£²Ù×÷Öв»»á±»¸Ä±äµÄ¡£
Õâ¸öĿ¼Ҳ°üº¬ÄãµÄLinux·¢Ðа汾µÄÖ÷ÒªµÄÓ¦ÓóÌÐò£¬Æ©È磬Netscape¡£
&ldquo ......