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
Ïà¹ØÎĵµ£º
ËÄ¡¢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
{
......
תÌù×Ô£º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;
& ......
ÔÎÄÍøÖ·£ºhttp://www.ibm.com/developerworks/cn/linux/l-rcu/
±¾ÎÄÏêϸµØ½éÉÜÁË Linux 2.6 ÄÚºËÖÐеÄËø»úÖÆ RCU(Read-Copy Update) µÄʵÏÖ»úÖÆ£¬Ê¹ÓÃÒªÇóÓëµäÐÍÓ¦Óá£
Ò»¡¢ ÒýÑÔ
ÖÚËùÖÜÖª£¬ÎªÁ˱£»¤¹²ÏíÊý¾Ý,ÐèҪһЩͬ²½»úÖÆ,Èç×ÔÐýËø(spinlock)£¬¶ÁÐ´Ëø(rwlock)£¬ËüÃÇʹÓÃÆðÀ´·Ç³£¼òµ¥,¶øÇÒÊÇÒ»ÖÖºÜÓÐЧµÄͬ²½»úÖ ......
Ê×Ò³
½²Êö£ºÎÒÓë51CTO²»µÃ²»ËµµÄ¹ÊÊÂ
²©¿Í»¥¶¯×¨Ìâ Ö® 2009£¬Í´²¢¿ìÀÖ×ŵÄITÈË
²©Ö÷µÄ¸ü¶àÎÄÕÂ>>
linux diff ÃüÁîÏê½â
2009-02-13 14:01:37
¡¡±êÇ©£ºlinux
diff
ÃüÁî
¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ
]
¹¦ÄÜ˵Ã÷£º±È½ÏÎļþµÄ²îÒì¡£
Óï
¡¡¡¡·¨£ºdi ......
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=" ......