Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

Linux netfilterÔ´Âë·ÖÎö(4)


ËÄ¡¢nf_hook_ops ¹³×ÓµÄ×¢²á
ÔÚfilter±íµÄ³õʼ»¯º¯Êýstatic int __init init(void)ÖгýÁËÓÐÒ»¸önf_register_hookº¯Êý×¢²áÒ»¸ötablesÍ⣬»¹ÓÉnf_register_hookº¯Êý×¢²áÁË3¸öhook
 
4.1        nf_hook_opsÊý¾Ý½á¹¹ netfilter.h
struct nf_hook_ops
{
      ......

Linux netfilterÔ´Âë·ÖÎö(7)

תÌù×Ô£º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 2.6ÄÚºËÖÐеÄËø»úÖÆ RCU


Ô­ÎÄÍøÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-rcu/
±¾ÎÄÏêϸµØ½éÉÜÁË Linux 2.6 ÄÚºËÖÐеÄËø»úÖÆ RCU(Read-Copy Update) µÄʵÏÖ»úÖÆ£¬Ê¹ÓÃÒªÇóÓëµäÐÍÓ¦Óá£
Ò»¡¢ ÒýÑÔ
ÖÚËùÖÜÖª£¬ÎªÁ˱£»¤¹²ÏíÊý¾Ý,ÐèҪһЩͬ²½»úÖÆ,Èç×ÔÐýËø(spinlock)£¬¶ÁÐ´Ëø(rwlock)£¬ËüÃÇʹÓÃÆðÀ´·Ç³£¼òµ¥,¶øÇÒÊÇÒ»ÖÖºÜÓÐЧµÄͬ²½»úÖ ......

linux diff ÃüÁîÏê½â


Ê×Ò³


½²Êö£ºÎÒÓë51CTO²»µÃ²»ËµµÄ¹ÊÊÂ
    ²©¿Í»¥¶¯×¨Ìâ Ö® 2009£¬Í´²¢¿ìÀÖ×ŵÄITÈË
²©Ö÷µÄ¸ü¶àÎÄÕÂ>>

linux diff ÃüÁîÏê½â

2009-02-13 14:01:37
¡¡±êÇ©£ºlinux
diff
ÃüÁî
¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ
]


¹¦ÄÜ˵Ã÷£º±È½ÏÎļþµÄ²îÒì¡£
Óï
¡¡¡¡·¨£ºdi ......

Linux »·¾³½ø³Ì¼äͨÐÅ£¨Áù£©


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=" ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ