linux shell ½Å±¾ÈëÃÅ
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
Ҫʹ½Å±¾¿ÉÖ´ÐУº
±àÒë chmod +x filename ÕâÑù²ÅÄÜÓÃ./filename À´ÔËÐÐ
1.1.2 ×¢ÊÍ
ÔÚ½øÐÐshell±à³Ìʱ£¬ÒÔ#¿ªÍ·µÄ¾ä×Ó±íʾעÊÍ£¬Ö±µ½ÕâÒ»ÐеĽáÊø¡£ÎÒÃÇÕæ³ÏµØ½¨ÒéÄúÔÚ³ÌÐòÖÐʹÓÃ×¢ÊÍ¡£
Èç¹ûÄúʹÓÃÁË×¢ÊÍ£¬ÄÇô¼´Ê¹Ï൱³¤µÄʱ¼äÄÚûÓÐʹÓøýű¾£¬ÄúÒ²ÄÜÔں̵ܶÄʱ¼äÄÚÃ÷°×¸Ã½Å±¾µÄ×÷ÓÃ
¼°¹¤×÷ÔÀí¡£
1.1.3 ±äÁ¿
ÔÚÆäËû±à³ÌÓïÑÔÖÐÄú±ØÐëʹÓñäÁ¿¡£ÔÚshell±à³ÌÖУ¬ËùÓеıäÁ¿¶¼ÓÉ×Ö·û´®×é³É£¬²¢ÇÒÄú²»ÐèÒª¶Ô±äÁ¿
½øÐÐÉùÃ÷¡£Òª¸³Öµ¸øÒ»¸ö±äÁ¿£¬Äú¿ÉÒÔÕâÑùд£º
#!/bin/sh
#¶Ô±äÁ¿¸³Öµ£º
a="hello world"
# ÏÖÔÚ´òÓ¡±äÁ¿aµÄÄÚÈÝ£º
echo "A is:"
echo $a
ÓÐʱºò±äÁ¿ÃûºÜÈÝÒ×ÓëÆäËûÎÄ×Ö»ìÏý£¬±ÈÈ磺
num=2
echo "this is the $numnd"
Õâ²¢²»»á´òÓ¡³ö"this is the 2nd"£¬¶ø½ö½ö´òÓ¡"this is the "£¬ÒòΪshell»áÈ¥ËÑË÷±äÁ¿numndµÄÖµ£¬
µ«ÊÇÕâ¸ö±äÁ¿Ê±Ã»ÓÐÖµµÄ¡£¿ÉÒÔʹÓû¨À¨ºÅÀ´¸æËßshellÎÒÃÇÒª´òÓ¡µÄÊÇnum±äÁ¿£º
num=2
echo "this is the ${num}nd"
Õ⽫´òÓ¡£º this is the 2nd
1.1.4 »·¾³±äÁ¿
ÓÉexport¹Ø¼ü×Ö´¦Àí¹ýµÄ±äÁ¿½Ð×ö»·¾³±äÁ¿¡£ÎÒÃDz»¶Ô»·¾³±äÁ¿½øÐÐÌÖÂÛ£¬ÒòΪͨ³£Çé¿öϽö½öÔڵǼ
½Å±¾ÖÐʹÓû·¾³±äÁ¿¡£
1.1.5 ShellÃüÁîºÍÁ÷³Ì¿ØÖÆ
ÔÚshell½Å±¾ÖпÉÒÔʹÓÃÈýÀàÃüÁ
1)Unix ÃüÁî:
ËäÈ»ÔÚshell½Å±¾ÖпÉÒÔʹÓÃÈÎÒâµÄunixÃüÁµ«ÊÇ»¹ÊÇÓÉһЩÏà¶Ô¸ü³£ÓõÄÃüÁî¡£ÕâЩÃüÁîͨ³£ÊÇÓÃÀ´
½øÐÐÎļþºÍÎÄ×Ö²Ù×÷µÄ¡£
³£ÓÃÃüÁîÓï·¨¼°¹¦ÄÜ
echo "some text": ½«ÎÄ×ÖÄÚÈÝ´òÓ¡ÔÚÆÁÄ»ÉÏ
ls: ÎļþÁбí
wc –l filewc -w filewc -c file: ¼ÆËãÎļþÐÐÊý¼ÆËãÎļþÖеĵ¥´ÊÊý¼ÆËãÎļþÖеÄ×Ö·ûÊý
cp sourcefile destfile: Îļþ¿½±´
mv oldname newname : ÖØÃüÃûÎļþ»òÒÆ¶¯Îļþ
rm file: ɾ³ýÎļþ
grep 'pattern' file: ÔÚÎļþÄÚËÑË÷×Ö·û´®±ÈÈ磺grep 'searchstring' file.txt
cut -b colnum file: Ö¸¶¨ÓûÏÔʾµÄÎļþÄÚÈÝ·¶Î§£¬²¢½«ËüÃÇÊä³öµ½±ê×¼Êä³öÉ豸±ÈÈ磺Êä³ö
ÿÐеÚ5¸öµ½µÚ9¸ö×Ö·ûcut -b5-9 file.txtǧÍò²»ÒªºÍcatÃüÁî»ìÏý£¬
ÕâÊÇÁ½¸öÍêÈ«²»Í¬µÄÃüÁî
cat file.txt: Êä³öÎļþÄÚÈݵ½±ê×¼Êä³öÉ豸£¨ÆÁ
Ïà¹ØÎĵµ£º
#!/bin/sh ÊÇ˵Ã÷¸Ã½Å±¾µ÷ÓõÄshellµÄÀàÐÍ
#chkconfig: 2345 80 05 ÆäÖÐ2345ÊÇÖ¸Ã÷·þÎñµÄÔËÐеȼ¶£¬80±íÃ÷ÊÇϵͳÆô¶¯Ê±ÒªÆô¶¯µÚ80ºÅ·þÎñ£¨·þÎñºÅ¿ÉÒÔÖØ¸´£©¡£05±íÃ÷ÊÇϵͳ¹Ø±ÕҪֹͣµÄ·þÎñºÅ¡£
#descrīption: service ÕâÀïµÄserviceÄã¿ÉÒÔËæ±ãÌí£¬µ«±ØÐëÓÐ
case $1 in ÕâÀïµÄcaseÊǸöÑ¡ÔñÓ ......
½«ÁªÍø·½Ê½ÉèÖÃΪNAT
µÚÒ»²½£º
cdµ½/etc/sysconfig/network-scriptsϵµÄifcfg-eth0
µÚ¶þ²½£º
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
#BOOTPROTO=static
BOOTPROTO=none
BROADCAST=192.168.174.255
HWADDR=00:0C:29:F2:BB:A9
IPADDR=192.168.174.11
......
Ä¿µÄ£º
±¾ÎÄÊÇ¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¶ÔÓ¦µÄLinux°æ±¾£¬µ÷ÊÔÆ÷ʹÓÃgdb¡£Ö÷Òª½éÉÜʵÀý²¿·Ö¡£ÆäËûÇë¼û¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¡£
ʵÀý£º
Ä£Äânewʧ°ÜµÄ³ÌÐò£º
#include <stdexcept>
class ABC
{
public:
virtual ~ABC(){}
&nb ......
¿´Ô´´úÂë¡£
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module()
{
printk("Hello, I'm kernel\n");
return 0;
}
void cleanup_module()
{
printk("I'm kernel, bye\n");
} ......