LinuxϵÄÎļþ²Ù×÷£ºÏµÍ³µ÷Óû¹Êǿ⺯Êýµ÷Óã¿
Linux
϶ÔÎļþ²Ù×÷ÓÐÁ½ÖÖ·½Ê½£ºÏµÍ³µ÷Óã¨
system call
£©ºÍ¿âº¯Êýµ÷Óã¨
Library
functions
£©¡£¿ÉÒԲο¼¡¶
Linux
³ÌÐòÉè¼Æ¡·£¨Ó¢ÎÄÔ°æÎª¡¶
Beginning Linux Programming
¡·£¬×÷ÕßÊÇ
Neil Matthew
ºÍ
Richard Stones
£©µÚÈýÕÂ
: Working with files
¡£
1
¡£ÏµÍ³µ÷ÓÃ
ϵͳµ÷ÓÃÌṩµÄº¯ÊýÈç
open, close, read, write, ioctl
µÈ£¬Ðè°üº¬Í·Îļþ
unistd.h
¡£ÒÔ
write
ΪÀý£ºÆäº¯ÊýÔÐÍΪ
size_t write(int fd, const void *buf, size_t nbytes)
£¬Æä²Ù×÷¶ÔÏóΪÎļþÃèÊö·û»òÎļþ
¾ä±ú
fd(file descriptor)
£¬ÒªÏëдһ¸öÎļþ£¬±ØÐëÏÈÒÔ¿ÉдȨ
ÏÞÓÃ
open
ϵͳµ÷Óôò¿ªÒ»¸öÎļþ£¬»ñµÃËù´ò¿ªÎļþµÄ
fd
£¬ÀýÈç
fd=open(\"/dev/video\",
O_RDWR)
¡£
fd
ÊÇÒ»¸öÕûÐÍÖµ£¬Ã¿Ð´ò¿ªÒ»¸öÎļþ£¬
Ëù»ñµÃµÄ
fd
Ϊµ±Ç°×î´ó
fd
¼Ó
1
¡£
Linux
ϵͳĬÈÏ·ÖÅäÁË
3
¸öÎļþÃèÊö·ûÖµ£º
0
£
standard input
£¬
1
£
standard output
£¬
2
£
standard error
¡£
ϵͳµ÷ÓÃͨ³£ÓÃÓڵײãÎļþ·ÃÎÊ£¨
low-level file access
£©£¬ÀýÈçÔÚÇý¶¯³ÌÐòÖжÔÉ豸ÎļþµÄÖ±½Ó·ÃÎÊ¡£
ϵͳµ÷ÓÃÊDzÙ×÷ϵͳÏà¹ØµÄ£¬Òò´ËÒ»
°ãûÓпç²Ù×÷ϵͳµÄ¿ÉÒÆÖ²ÐÔ¡£
ϵͳµ÷Ó÷¢ÉúÔÚÄں˿ռ䣬Òò´ËÈç¹ûÔÚÓû§¿Õ¼äµÄÒ»°ãÓ¦ÓóÌÐòÖÐʹÓÃϵͳµ÷ÓÃÀ´½øÐÐÎļþ²Ù×÷£¬»áÓÐÓû§¿Õ¼äµ½Äں˿ռä
Çл»µÄ¿ªÏú¡£ÊÂʵÉÏ£¬¼´Ê¹ÔÚÓû§¿Õ¼äʹÓÿ⺯ÊýÀ´¶ÔÎļþ½øÐвÙ×÷£¬ÒòΪÎļþ×ÜÊÇ´æÔÚÓÚ´æ´¢½éÖÊÉÏ£¬Òò´Ë²»¹ÜÊǶÁд²Ù×÷£¬¶¼ÊǶÔÓ²¼þ£¨´æ´¢Æ÷£©µÄ²Ù×÷£¬¶¼±Ø
È»»áÒýÆðϵͳµ÷Óá£Ò²¾ÍÊÇ˵£¬¿âº¯Êý¶ÔÎļþµÄ²Ù×÷ʵ¼ÊÉÏÊÇͨ¹ýϵͳµ÷ÓÃÀ´ÊµÏֵġ£ÀýÈç
C
¿âº¯Êý
fwrite()
¾ÍÊÇͨ¹ý
write()
ϵͳµ÷ÓÃÀ´ÊµÏֵġ£
ÕâÑùµÄ»°£¬Ê¹Óÿ⺯ÊýÒ²ÓÐϵͳµ÷ÓÃ
µÄ¿ªÏú£¬ÎªÊ²Ã´²»Ö±½ÓʹÓÃϵͳµ÷ÓÃÄØ£¿ÕâÊÇÒòΪ£¬¶ÁдÎļþͨ³£ÊÇ´óÁ¿µÄÊý¾Ý£¨ÕâÖÖ´óÁ¿ÊÇÏà¶ÔÓڵײãÇý¶¯µÄϵͳµ÷ÓÃËùʵÏÖµÄÊý¾Ý²Ù×÷µ¥Î»¶øÑÔ£©£¬Õâʱ£¬Ê¹ÓÃ
¿âº¯Êý¾Í¿ÉÒÔ´ó´ó¼õÉÙϵͳµ÷ÓõĴÎÊý¡£ÕâÒ»½á¹ûÓÖÔµÓÚ»º³åÇø¼¼Êõ¡£ÔÚÓû§¿Õ¼äºÍÄں˿ռ䣬¶ÔÎļþ²Ù×÷¶¼Ê¹ÓÃÁË»º³åÇø£¬ÀýÈçÓÃ
fwrite
дÎļþ£¬¶¼ÊÇÏȽ«ÄÚÈÝдµ½Óû§¿Õ¼ä»º³åÇø£¬µ±Óû§¿Õ¼ä»º³åÇøÂú»òÕßд²Ù×÷½áÊøÊ±£¬²Å½«Óû§»º³åÇøµÄÄÚ
ÈÝдµ½Äں˻º³åÇø£¬Í¬ÑùµÄµÀÀí£¬µ±Äں˻º³åÇøÂú»òд½áÊøÊ±²Å½«Äں˻º³åÇøÄÚÈÝдµ½Îļþ¶ÔÓ¦µÄÓ²¼þý½é¡£
2
¡£¿âº¯Êýµ÷ÓÃ
±ê×¼
C
¿âº¯ÊýÌṩµÄÎļþ²Ù×÷º¯ÊýÈç
fopen, fread, fwrite, fclose,
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
ijһÌì,Ò»¸ö¿Í»§´òµç»°À´ÐèÒª¼¼Êõ°ïÖú,²¢±§Ô¹Æ½³£15Ãë¾Í¿ÉÒÔ´ò¿ªµÄÍøÒ³ÏÖÔÚÐèÒª20·ÖÖӲſÉÒÔ´ò¿ª.
¾ßÌåϵͳÅäÖÃÈçÏÂ:
RedHat Enterprise Linux 3 update 7
Dell 1850 Dual Core Xenon Processors, 2 GB RAM, 75GB 15K Drives
Custom LAMP software stack(Òë×¢:Llinux+apache+mysql+php »·¾³)
ÐÔÄÜ·ÖÎöÖ®²½Öè
1. Ê×ÏÈÊ ......
ÔÚx86 2.4ÄÚºËÏ usleep¡¢selectµÈÑÓʱº¯ÊýÎÞ·¨ÊµÏÖµÍÓÚ10msÑÓʱ
¶øÔÚÇý¶¯²ãÔÚioctrlÖÐͨ¹ýudelay¡¢mdelayµÈµÈʵÏÖÑÓʱҲÎÞ·¨¶à½ø³ÌͬʱÑÓʱ
ËùÒÔʵÏÖÈçÏÂÑÓʱº¯Êý Äܹ»ÊµÏÖµÍÓÚ10usÉõÖÁ1us µÄÑÓʱ
unsigned int uDelay(unsigned int delayTime)
{
static struct timeval _tstart, _tend;
static struct timezone ......