linuxÈçºÎ¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
1.¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
Òª¸ù¾Ý¶¯Ì¬¿âÖÐҩʹÓõĺ¯Êý£¬ÔÚÍâÃæ¶¨ÒåͬÑùÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ£¬¹©ÒÔºóʹÓÃ
typedef unsigned long(*POpenDev)(IN unsigned long int);
2. ¶¨Ò庯ÊýÖ¸Õë
POpenDev OpenDev;
3.¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);
if(NULL != sohandle)
{
fprintf(stderr, "%s\n", dlerror());
}
4.»ñÈ¡º¯ÊýµØÖ·
OPenDev = (POpenDev)dlsym(sohandle, "Opendev");
Opendev Ϊ¶¯Ì¬¿âÄڵĺ¯ÊýÃû£¬ OPenDevΪ»òµÃµÄOpendevµÄº¯ÊýµØÖ·£¬ÒÔºó¿ÉÒÔͨ¹ýOPenDevʹÓÃOpendevº¯Êý¡£
Ïà¹ØÎĵµ£º
opendir£¨´ò¿ªÄ¿Â¼£©
Ïà¹Øº¯Êý
open£¬readdir£¬closedir£¬rewinddir£¬seekdir£¬telldir£¬scandir
±íÍ·Îļþ
#include<sys/types.h>
#include<dirent.h>
¶¨Ò庯Êý
DIR * opendir(const char * name);
º¯Êý˵Ã÷
opendir()ÓÃÀ´´ò¿ª²ÎÊýnameÖ¸¶¨µÄĿ¼£¬²¢·µ»ØDIR*ÐÎ̬µÄĿ¼Á÷£¬ºÍopen()ÀàËÆ£¬½ÓÏ ......
±¸·ÝMBR·ÖÇø
0. ±¸·ÝÓ²Å̵ķÖÇøÐÅÏ¢£º
#fdisk /dev/sda -l > /tem/sda.txt
¡¡
¡¡¡¡1.ʹÓÃfdisk -l È·¶¨MBRλÖÃ
¡¡
¡¡¡¡2.±¸·ÝMBR
¡¡
¡¡¡¡dd if=/dev/sda1 of=/root/mbr bs=512 count=1
¡¡
¡¡¡¡3.»Ö¸´MBR
¡¡
¡¡¡¡dd if=/root/mbr of=/dev/sda1 bs=512 count=1
¡¡
¡¡ ......
1.fork
´´½¨Ò»¸öнø³Ì
2.clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
3.execve
ÔËÐпÉÖ´ÐÐÎļþ
4.exit   ......
Linux kernel ¹ØÓÚkeyboard²¿·Ö
keyboard.c ÓÃÓÚ´¦ÀíºÍ¼üÅÌÏà¹ØµÄinput_handler¡£ÆäÖаüÀ¨ºóÐøµÄ¼üÂëת»»ºÍÊä³ö
atkbd.c ³£ÓõļüÅ̲¼¾Ö£¬ÓÃÓÚ»ñµÃɨÃèÂ룬²¢½«Æä·¢Ë͵½input_handler Á´±íÖÐ
struct input_handler kbd_handler; ¼´Îªinput_handler Á´±íÖеÄÒ»¸öhandler
Òªhook¼üÅÌ»òÕ߯äËûinput²ãϵÄÉ豸ÐÅÏ¢£¬¾ ......
1> ʹÓÃCDPATHÉèÖà cd ÃüÁîµÄ¹¤×÷Ŀ¼
[ramesh@dev-db ~]# pwd
/home/ramesh
[ramesh@dev-db ~]# cd mail
-bash: cd: mail: No such file or directory
[×¢Ò⣺ÔÚµ±Ç°Ä¿Â¼ÏÂѰÕÒMAILĿ¼]
[ramesh@dev-db ~]# export CDPATH=/etc
[ramesh@dev-db ~]# cd mail /etc/mail  ......