ÔõÑù±àдLinux shell script(Ò»)
½üÀ´ÕýÔÚѧϰLinux shell script£¬Ö÷ÒªÊÇѧϰLinux Shell Scripting Tutorial (LSST) v1.05r3µÄ¼¸¸öÕ½ڣ¬µ«ÒòΪÊÇÓ¢ÎĵÄËùÒÔÕâÀï°ÑËü·ÒëÏ£¬Ò²ÊÇ×Ô¼º¼ÓÉîÓ¡Ï󡣺ÃÁËÖ±½Ó½øÈëÖ÷Ìâ¡£
1.How to write shell script £¿
a.Ê×ÏÈÓÃÈκεıàÒëÆ÷£¨vi,vim,kwrite,....£©±àдһ¸öshell script£»
b.È»ºó°´ÕÕÏÂÃæµÄ·½·¨¸øÄã±àÒëµÄshell scriptÌí¼Ó¿ÉÖ´ÐÐÊôÐÔ£»
chmod Ìí¼Ó(ɾ³ý)ÊôÐÔ ÎļþÃû³Æ
ÀýÈ磺
chmod +x your_script_name »òÕß
chmod 755 your_script_name
Àý×ÓÖеڶþÖз½·¨ÖÐ755±íʾ¶ÔÈý¸ö²»Í¬Àà±ðµÄʹÓÃÕßÉèÖÃÊôÐÔ£¬ÕâÀïÊ×ÏÈ´ó¼ÒÒªÖªµÀLinuxÖеijýÁË¿ÉÒÔÓÃr,w,x±íʾ¿É¶Á£¬¿Éд£¬¿ÉÖ´ÐеÄÊôÐÔÍ⣬»¹¿ÉÒÔÓÃÒ»¸öÊý×Ö´ú±íÒ»ÖÖÊôÐÔ£¬·Ö±ðÊÇr-4,w-2,x-1£¬Ò²¾ÍÊÇ4¾Í±íʾ¿É¶Á£¬2±íʾ¿Éд£¬1±íʾ¿ÉÖ´ÐУ»ÄÇôÈçºÎÉèÖÃÕâЩÊôÐÔÄØ£¿Èç¹ûÎÒÃÇÓ󣹿µÄ·½·¨ÊÇͨ¹ý“+¡¢-”·ûºÅÀ´ÉèÖõģ¬Ò²¾ÍÊÇ"+r"±íʾ¸øÄ³¸öÎļþ¼ÓÉϿɶÁÊôÐÔ£¬"-r"±íʾ¸øÄ³¸öÎļþÈ¥³ý¿É¶ÁÊôÐÔ£»
ÔÚÓÃÊý×Ö±íʾÖÐÊÇÕâÑùÉ趨ÊôÐԵģ¬ÓÃÊý×ÖÉ趨ÊôÐÔ¸ü¼ÓµÄ·½±ã¿ì½Ý£¬Ò»´Î¿ÉÒÔÉ趨Èý¸öÀà±ðʹÓÃÕßµÄÊôÐÔ“ÎļþÓµÓÐÕß”¡¢“ÎļþÓµÓÐÕßËùÔÚµÄ×é³ÉÔ±”¡¢“ÆäËüʹÓÃÕß”£¬ÉÏÃæµÄÀý×ÓÖУ¬7ÊǸøÎļþÓµÓÐÕßÉ趨µÄÊôÐÔ£¬ÄÇ"7"ÊÇʲôÒâË¼ÄØ£¿Æäʵ¾ÍÊǸ÷¸öÊôÐÔÊý×ÖÏà¼ÓµÄ½á¹û£¬Ò²¾ÍÊÇÈç¹ûÄãÒªÉ趨´ËÀàʹÓÃÕßÓÿɶÁ4,¿Éд2,¿ÉÖ´ÐÐ1,ÊôÐÔ£¬ÄÇô¾ÍÊÇ4+2+1 = 7£»´ÏÃ÷µÄÄã¿ÉÄÜÒѾ֪µÀÁËÎļþÓµÓÐÕßËùÔÚµØ×é³ÉÔ±µÄÊôÐÔÊÇ ¿É¶Á ¿ÉÖ´ÐÐ ¼´£º4+1 = 5 £¬ÆäËüʹÓÃÕßµÄÊôÐÔÒ²ÊÇ ¿É¶Á ¿ÉÖ´ÐÐ ¼´£º4+1 = 5. ºÃÁËÊôÐÔÉ趨¾Í²»³¶ÁË£¬¹Ø¼üÊÇÒª¼ÇסchmodÃüÁî¡£
c.±àÒëºÃÁ˽ű¾ÒÔºó¾ÍÊÇÖ´ÐÐÁË
ÕâÀïÌṩÁ½ÖÖ·½·¨Ö´ÐÐÄãµÄ½Å±¾£º
bash your_script_name #ÕâÀïµÄ“#”ºÅÖÐLinux shell scriptÖÐÊDZíʾÆäºóµÄÄÚÈÝΪעÊÍ£»bash ÊÇÎÒÃÇϵͳÖеÄshellÀàÐÍÕâÀï¾Í²»³¶Ô¶ÁË
./your_script_name #½¨Òé´ó¼Ò¾ÍÖ±½ÓÓÓ./”½ÓÄãµÄ½Å±¾Ãû³ÆÖ´ÐУ¬ÎªÊ²Ã´²»ÄÜÏñWindowsÒ»ÑùÖ±½ÓÊäÎļþÃûÖ´ÐÐÄØ£¿Õâ¸öÎÊÌâÇë×Ô¼ºÕÒ´ð°¸
ºÃÁË£¬ÎÒÃÇÏÖÔÚ°ÑÉÏÃæµÄÁ¬¹á×öÒ»±é£»
Ê×ÏȽ¨Á¢Ò»¸ö½Å±¾£¬ÎÒÔÚÕâÀïʹÓÃvi±àÒëÆ÷¡£
$ vi first
ÄÚÈÝÈçÏ£º
#
# My first shell script
#
clear
echo "Knowledge is Power"
±£´æÍ˳ö£»
È»ºóÌí¼Ó¿ÉÖ´ÐÐÊôÐÔ£»
$ chmod 755 first
×îºóÖ´ÐÐ
$ ./fi
Ïà¹ØÎĵµ£º
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
×÷Õߣºbioforge alkerr@yifan.net
ÔÃû£º <<Hacking the Linux Kernel Network Stack>>
·Ò룬Ð޸ģº duanjigang <duanjigang1983@126.com>
·Òë²Î¿¼£ºraodan (raod_at_30san.com) 2003-08-22
µÚÒ»Õ ¼ò½é
±¾ÎĽ«ÃèÊöÈçºÎÀûÓÃLinuxÍøÂç¶ÑÕ»µÄÇÏÃÅ£¨²»Ò»¶¨¶¼ÊÇ©¶´£©À´´ïµ½Ò»Ð©Ä¿µÄ£¬»ò ......
LINUX³£ÓÃÃüÁ»ù´¡£©
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö"-"±íʾÊÇÎļþ ......
gcc mousekey.c -lX11 -IX11
´ò¿ªmousekeysÔËÐÐ./a.out
¹Ø±ÕmousekeysÔËÐÐ./a.out 1,ÕâÀïÔÚa.outºóÃæËæ±ã¼ÓÒ»¸ö²ÎÊý¾Í¿ÉÒÔÁË£¬ÒòΪÅжÏÌõ¼þΪ if(argc < 2)
/*********source code***************/
#include <stdio.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X ......
LinuxÌṩ×î³£ÓõÄÍøÂçͨÐÅÓ¦ÓóÌÐò¿ª·¢½Ó¿Ú--BerkerleyÌ×½Ó×Ö(Socket)£®Ëü¼ÈÊÊÓÃÓÚͬһÖ÷»úÉϽø³Ì¼äͨÐÅ(IPC)£¬ÓÖÊÊÓÃÓÚ²»Í¬Ö÷»úÉϵĽø³Ì¼äͨÐÅ¡£Ì×½Ó×ÖµÄÉèÖÃͨ¹ýsocketµ÷ÓÃÍê³É£º
int socket(int family,int type,int protocol);
ÆäÖÐfamilyָͨÐÅÓò»òÐÒé×壬Linuxϵͳ֧³ÖµÄÍøÂçÐÒé×åÓÐPF_UNIX£¬PF_IPX£¬PF_P ......