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

Linux×Ö·ûÉ豸Çý¶¯³ÌÐò¿ª·¢

LinuxϵÄÉ豸Çý¶¯³ÌÐò±»×é֯Ϊһ×éÍê³É²»Í¬ÈÎÎñµÄº¯ÊýµÄ¼¯ºÏ£¬Í¨¹ýÕâЩº¯ÊýʹµÃWindowsµÄÉ豸²Ù×÷ÓÌÈçÎļþÒ»°ã¡£ÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷£¬Èçopen ()¡¢close ()¡¢read ()¡¢write () µÈ¡£
LinuxÖ÷Òª½«É豸·ÖΪ¶þÀࣺ×Ö·ûÉ豸ºÍ¿éÉ豸¡£×Ö·ûÉ豸ÊÇÖ¸É豸·¢ËͺͽÓÊÕÊý¾ÝÒÔ×Ö·ûµÄÐÎʽ½øÐУ»¶ø¿éÉ豸ÔòÒÔÕû¸öÊý¾Ý»º³åÇøµÄÐÎʽ½øÐС£×Ö·ûÉ豸µÄÇý¶¯Ïà¶Ô±È½Ï¼òµ¥¡£
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¼ÙÉèÒ»¸ö·Ç³£¼òµ¥µÄÐéÄâ×Ö·ûÉ豸£ºÕâ¸öÉ豸ÖÐÖ»ÓÐÒ»¸ö4¸ö×Ö½ÚµÄÈ«¾Ö±äÁ¿int global_var£¬¶øÕâ¸öÉ豸µÄÃû×Ö½Ð×ö"gobalvar"¡£¶Ô"gobalvar"É豸µÄ¶ÁдµÈ²Ù×÷¼´ÊÇ¶ÔÆäÖÐÈ«¾Ö±äÁ¿global_varµÄ²Ù×÷¡£
¡¡¡¡Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬Òò´ËÎÒÃÇÐèÒª¸øÆäÌí¼ÓÄ£¿é³õʼ»¯º¯Êý£¬¸Ãº¯ÊýÓÃÀ´Íê³É¶ÔËù¿ØÉ豸µÄ³õʼ»¯¹¤×÷£¬²¢µ÷ÓÃregister_chrdev() º¯Êý×¢²á×Ö·ûÉ豸£º
static int __init gobalvar_init(void)
{
¡¡if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops))
¡¡{
¡¡¡¡//…×¢²áʧ°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…×¢²á³É¹¦
¡¡}
}
¡¡¡¡ÆäÖУ¬register_chrdevº¯ÊýÖеIJÎÊýMAJOR_NUMΪÖ÷É豸ºÅ,"gobalvar"ΪÉ豸Ãû£¬gobalvar_fopsΪ°üº¬»ù±¾º¯ÊýÈë¿ÚµãµÄ½á¹¹Ì壬ÀàÐÍΪfile_operations¡£µ±gobalvarÄ£¿é±»¼ÓÔØÊ±£¬gobalvar_init±»Ö´ÐУ¬Ëü½«µ÷ÓÃÄں˺¯Êýregister_chrdev£¬°ÑÇý¶¯³ÌÐòµÄ»ù±¾Èë¿ÚµãÖ¸Õë´æ·ÅÔÚÄں˵Ä×Ö·ûÉ豸µØÖ·±íÖУ¬ÔÚÓû§½ø³Ì¶Ô¸ÃÉ豸ִÐÐϵͳµ÷ÓÃʱÌṩÈë¿ÚµØÖ·¡£
¡¡¡¡ÓëÄ£¿é³õʼ»¯º¯Êý¶ÔÓ¦µÄ¾ÍÊÇÄ£¿éÐ¶ÔØº¯Êý£¬ÐèÒªµ÷ÓÃregister_chrdev()µÄ"·´º¯Êý" unregister_chrdev()£º
static void __exit gobalvar_exit(void)
{
¡¡if (unregister_chrdev(MAJOR_NUM, " gobalvar "))
¡¡{
¡¡¡¡//…Ð¶ÔØÊ§°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…Ð¶ÔØ³É¹¦
¡¡}
}
¡¡¡¡Ëæ×ÅÄں˲»¶ÏÔö¼ÓÐµĹ¦ÄÜ£¬file_operations½á¹¹ÌåÒÑÖð½¥±äµÃÔ½À´Ô½´ó£¬µ«ÊÇ´ó¶àÊýµÄÇý¶¯³ÌÐòÖ»ÊÇÀûÓÃÁËÆäÖеÄÒ»²¿·Ö¡£¶ÔÓÚ×Ö·ûÉ豸À´Ëµ£¬ÒªÌṩµÄÖ÷ÒªÈë¿ÚÓУºopen ()¡¢release ()¡¢read ()¡¢write ()¡¢ioctl ()¡¢llseek()¡¢poll()µÈ¡£
¡¡¡¡open()º¯Êý¡¡¶ÔÉè±¸ÌØÊâÎļþ½øÐÐopen()ϵͳµ÷ÓÃʱ£¬½«µ÷ÓÃÇý¶¯³ÌÐòµÄopen () º¯Êý£º
int (*open)(struct inode * ,struct file *);
¡¡¡¡ÆäÖвÎÊýinodeΪÉè±¸ÌØÊâÎļþµÄinode (Ë÷Òý½áµã) ½á¹¹µÄÖ¸Õ룬²ÎÊýfileÊÇÖ¸ÏòÕâÒ»É豸µÄÎļþ½á¹¹µÄÖ¸Õë¡£open()µ


Ïà¹ØÎĵµ£º

linuxÏÂntpʵÏÖ

#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define NTP_SERVER "clock.via.net"
#define ......

Linux ûÓж¨ÒåµÄ·ûºÅ µ÷ÊÔ·½·¨ nmÃüÁî


nmÃüÁî
[
ÔÚGNU CÓïÑÔ¿âÌṩµÄÄÚÈÝÖУ¬ÓнӿڿÉÒÔÓÃÀ´×öÕâ¼þÊ¡£ÓÃÏÂÃæµÄÃüÁî²é¿´£º
nm -D /lib/libc.so.6 | grep log
]
nmÃüÁÊDZȽϼòµ¥¶øÇÒÇ¿´óµÄ¡£ËüÓÃÀ´ÁгöÒ»¸öÄ¿±êÎļþÖеĸ÷ÖÖ·ûºÅ¡£·ûºÅµÄÖÖÀàºÜ¶à£¬ÒÔÏÂÊÇһЩ³£¼ûµÄ·ûºÅÀàÐÍ
nmÊä³ö×Ö·û
º¬Òå
R
Read only symbol. ±ÈÈçÔÚ´úÂëÖÐÓÐÒ»¸öconst MAXDATA ......

Linuxµç×ÓÊéÏÂÔØ

µÚÒ»²¿·Ö£ºLinux»ù´¡Ó¦ÓÃ
1¡¢¡¶Linux´ÓÈëÃŵ½¾«Í¨¡·
http://www.gouhuo.com/study/linuxbook.zip
2¡¢ Linux ϵͳ°²È«ÓëÓÅ»¯ÖÐÎİæ
Õâ±¾ÊéµÄÓ¢Îİæ“Get Acquainted with Linux Security and Optimization System”£¨¼ò³ÆLinuxSOS£©ÊÇLinuxÎĵµ¼Æ»®£¨Linux Document Project£©ÖбȽÏеÄÒ»±¾Ö¸ÄÏ¡£Õâ±¾Êé²»ÊÇL ......

linux»ñȡϵͳʱ¼ä

1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ­³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û¡£Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý
time_t time(time_t *tloc);                    //ʱ¼ä¾«¶ÈΪÃë
char *ctime(const time_ ......

linuxϵÄnetstatÃüÁî

Displaying the Routing Table£º
netstat -nr
Displaying Interface Statistics:
netstat -i
Show the address resolution (ARP) tables:
netstat -p
Displaying Connections:
netstat -ta (linux)
netstat -a -f af:inet (opensolaris)
http://www.faqs.org/docs/linux_network/x-087-2-iface.netstat.html
http ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ