Linux Shell±à³Ìstep by step Îı¾Îļþ×îºóÁ½ÐÐÏà¼õ
×÷Õß:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
ÉùÃ÷£º±¾ÎÄÓÉfbysssÕûÀí±àд£¬×ªÔØÇë×¢Ã÷³ö´¦
¹Ø¼ü×Ö£ºshell±à³Ì
±³¾°
ͬÊÂÇóÖú¡£
ÐèÇó
Ò»¸öÎı¾Îļþ£¬ÒªµÃµ½×îºóÒ»ÐÐÓëµ¹ÊýµÚÒ»ÐÐÏà¼õµÄ½á¹û¡£
²âÊÔÎı¾
#vi test.txt
ÄÚÈÝÈçÏ£º
10
7
9
1
6
½Å±¾
$vi rowSubstract.sh
ÄÚÈÝÈçÏÂ:
#½Å±¾×¢½â£¬ÓÃÓÚÖ¸Ã÷½Å±¾ÀàÐÍÊÇbash¡£ÕâÑù£¬Äܱ£Ö¤²»ÔÚbashµÄ½Å±¾»·¾³£¬Ö´ÐÐҲûÓÐÎÊÌâ¡£
#²é¿´µ±Ç°½Å±¾»·¾³£ºecho $SHELL¡£»òÕß¼òµ¥Ê¹ÓÃpsÃüÁîÒ²¿ÉÒÔ¡£
#ÔÚlinuxÏ£¬ #!/bin/shºÍ #!/bin/bash¼¸ºõÊÇÒ»ÑùµÄ¡£
#!/bin/sh
#²ÎÊý¸öÊý¼ì²é
#ÆäÖУ¬$0ΪÃüÁî±¾Éí£¬$1-$nΪ²ÎÊý£¬$#Ϊ²ÎÊý¸öÊý
#if ºÍ fi³É¶Ô½øÐÐÅжÏ
#ifºóÃæ¡¢[ÓұߺÍ]×ó±ß¶¼±ØÐëÓпոñ£¬then Ç°ÃæÐèÒªÓзֺÅ;
#Èç¹û²»Âú×ãÌõ¼þ£¬·µ»ØÒ»¸ö״̬Â루±ØÐëÔÚ0-255Ö®¼ä£©£¬Ò»°ãÕýÈ·µÄ·µ»Ø0£¬´íÎóµÄ·µ»ØÆäËûÊý×Ö
#ÅжÏÊý×Ö£¬±ØÐëʹÓÃeq ne gt ltµÈÂß¼ÔËËã·û£¬Èç¹ûÊÇ×Ö·û´®£¬ÔòҪʹÓÃ=»òÕß== ,!= ,>= ,<=À´ÅжÏ
if [ $# ne 1 ] ; then
echo 'useage:$0 [filename]'
exit 1
fi
#²ÎÊýÓÐЧÐÔ¼ì²é,×¢Òâ¸Ð̾ºÅ!ǰºó¶¼ÒªÓпոñ£¬±íʾÂ߼ȡ·´¡£-f ±íʾÊÇ·ñ´æÔÚÕâ¸öÎļþ -dÅжÏĿ¼¡£
if [ ! -f $1 ] ;then
echo 'file ' $1 'not found,please check the filename.'
exit 2;
fi
#µÃµ½Îı¾ÐÐÊý£¬ÆäÖÐ$1Ϊ½Å±¾µÄµÚÒ»¸ö²ÎÊý¡£ÒÀ´ÎÀàÍÆ£¬$nΪµÚn¸ö²ÎÊý ;wc -lÓÃÀ´Í³¼ÆÐÐÊý
#``ÖмäµÄÄÚÈÝ£¬Ï൱ÓÚÈ¥Ö´ÐÐÀïÃæµÄÃüÁµÃ³öÒ»¸ö½á¹û
rowcount=`cat $1|wc -l`
lastrowvalue=`tail -1 $1`#µÃµ½×îºóÒ»ÐеÄÄÚÈÝ
seclastrownum=`expr $rowcount - 1`#µÃµ½µ¹ÊýµÚ¶þÐеÄÐкţ¬ÆäÖУ¬expr Ϊ±í´ïʽÔËË㣬ÔËËã·û×óÓÒ¶¼ÒªÓпոñ£¬±äÁ¿µÈºÅºÍ¸³ÖµÖ®¼ä²»ÒªÓпոñ
seclastrowvalue=`sed -n $seclastrownum'p' $1`#µÃµ½µ¹ÊýµÚ¶þÐеÄÄÚÈÝ¡£ÆäÖУ¬$num'p' µÄÐÎʽÊÇΪÁËÁ¬½Ó±äÁ¿ºÍpÃüÁî
echo `expr $lastrowvalue - $seclastrowvalue#×îºóÒ»ÐмõÈ¥µ¹ÊýµÚ¶þÐÐÊýÖµµÄÔËËã½á¹û
$chmod 755 rowSubstract.sh
$./rowSubstract.sh test.txt
½á¹ûΪ
5
Ïà¹ØÎĵµ£º
×ªÔØ×Ôhttp://www.examda.com/linux/fudao/20070919/112113103.html
ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈà ÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊ ......
¹¦ÄÜ˵Ã÷£º½¨Á¢»òÐ޸ı¸´æÎļþ£¬»òÊÇ´Ó±¸´æÎļþÖгéÈ¡Îļþ¡£
Óï¡¡¡¡·¨£ºar[-dmpqrtx][cfosSuvV][a<³ÉÔ±Îļþ>][b<³ÉÔ±Îļþ>][i<³ÉÔ±Îļþ>][±¸´æÎļþ][³ÉÔ±Îļþ]
²¹³ä˵Ã÷£ºar¿ÉÈÃÄú¼¯ºÏÐí¶àÎļþ£¬³ÉΪµ¥Ò»µÄ±¸´æÎļþ¡£ÔÚ±¸´æÎļþÖУ¬ËùÓгÉÔ±Îļþ½Ô±£ÓÐÔÀ´µÄÊôÐÔÓëȨÏÞ¡£
²Î¡¡¡¡Êý£º
¡¡Ö¸Áî²ÎÊý
¡ ......
תÌù×Ô£ºhttp://alexanderlaw.blog.hexun.com/8968960_d.html
Æß¡¢ target Æ¥Åä
7.1 ipt_targetºÍipt_entry_target½á¹¹ ip_tables.h
ipt_targetºÍipt_match½á¹¹ÀàËÆ£º
struct ipt_target
{
struct list_head list;
& ......
Linux»·¾³½ø³Ì¼äͨÐÅ£¨ËÄ£©
ÐźŵÆ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="1 ......
ÔÎÄÍøÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-rcu/
±¾ÎÄÏêϸµØ½éÉÜÁË Linux 2.6 ÄÚºËÖÐеÄËø»úÖÆ RCU(Read-Copy Update) µÄʵÏÖ»úÖÆ£¬Ê¹ÓÃÒªÇóÓëµäÐÍÓ¦Óá£
Ò»¡¢ ÒýÑÔ
ÖÚËùÖÜÖª£¬ÎªÁ˱£»¤¹²ÏíÊý¾Ý,ÐèҪһЩͬ²½»úÖÆ,Èç×ÔÐýËø(spinlock)£¬¶ÁÐ´Ëø(rwlock)£¬ËüÃÇʹÓÃÆðÀ´·Ç³£¼òµ¥,¶øÇÒÊÇÒ»ÖÖºÜÓÐЧµÄͬ²½»úÖ ......