|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
£^\M\hHwgťL shell bash oǦWrMDzO_D̨sOFFOS ^q¦`ѤWaRҦqOѵwMncMwNOjaNo۬ݱoMҦpRLNNCPUNONwСNC}FwMҿתqOsbM]ӨtΪJMXH£dBⳣ}wCаݡRpGSLMzO˨ϥ£dqSOMzzLLiïâJMH£\qݨ쪺XMuo\MOn骺\ҡCӪtdMoǵwi淾qnMNOҿת֤(kernel)Mkernel LJMM CPU iBzM̫N浲GX캷WCMMFLM~MҦw鳣o kernel 䴩~ϥ£TC Mkernel SpDڭLJFOOSNOڭ̳o̤Ъ shell ҭtdƱFC]qҳBzƾڡMOGi쪺XMMڭ̤HߺDϥΪyܤ@ˡC×áMJ pwd ROMڭ̪DoO print working directory N(D`²ïâHy)M@ kernel ӻMäD pwd OMkernel u|ݾXMoɭԡMshell N|ڭ̱N pwd ½Ķ kernel zѪ{XCҥHMڭ̦bϥ£dqɭԡMWNOM shell DMӤOM kernel qMOwC ²ӬݡMڭ̴No˨Ӭݫݥ̪YRqrӸѪRܡMshell NOߡMkernel NO֡Cn@ӪG@ˡMzĤ@ݨ쪺NOߡMߥ}~ݪ̭֡Cshell NOϥΪ̩M kernel ɭMNϥΪ̤URO½Ķ kernel BzMYpUϡR ![]() ڭ̦b shell J@өROMshell |շjөROMù䤤@ǯSrŰXBzMpGJ CR r( Enter ) ɭԡMNխվROMø kernel CӤ@몺ROâZ(syntax)jPpUR
UROۤvﶵ(options, q`£T - Ÿa)MiJ]iHJMpGSB~wMROq`ۤvw]ﶵQӰѼ(argument)hU{nDөwMǫYMǤ]w]ѼơCҦp "ls -l" oөROMﶵO -l (long list)Mӹw]ѼƫhOeؿCbRO椤AﶵMѼƳQ٬Ѷ(parameter)C ڭ̸g`ͨ쪺 LinuxMO kernel oMӦb kernel ~MhOUئU˪{MuMX_Ӥ~@ӧ㪺 Linux oMCLצpMLinux kernel u@(ަ\hPM Linus Tovalds td@)M kernel ~ shell o\hءMҦp bourne ShellNC ShellNKorn ShellNZsh ShellNMڭ̳̱`IJ쪺Ws BASH (Bourne Again SHell)M GNU ҥ[j@ burne shell M ]Ojh Linux Mw] shell CP shell Uۦ䤣PuIMziHۦo譱ƨӬݡMڳo̴N@@ФFC BASH ouq shellMҥH|QUj Linux Mĥάw] shellMFO open source {~Mjj\ӬOlޤjaإn]@CBASH \ܦhMbСMUuC|䤤@ֳӤwR
ٰOoW@̭MڴgLRڭ̵nJtΪɭԡMNo@ shellMӥB]ڤ@Ӧ{MMAJROݩo shell l{CpGzDz߰ӤߡMo{ڭ̪ shell b /etc/passwd oɸ̭]wM]NOb]w̫@Mw]O /bin/bash C ƹWMڭo@ shell Mڭ̤~uMt£bqMҦpJzRONz{NCz]iHbo@ shell MAiJt~@ shell (]NOҰʤ@Ӥl{)MM٥iHAiJ`@h shell (AiJl{l{)MzJ exit ~h^W@ shell ̭(h^W@Ū{)Cpzwg\ŪLW@һLl{MӤzѡCLMz欰]OLMӥBM\h]wƥowqCҥHMzo shell ɭԡMPɤ]o@ҳ]wM£e٬ܼ( Environment variables)C ҿת ܼ( variable )MNOίSwW(£g)Os@w]wȡMMѵ{NӨϥ£TCҦpMm=chen QW=kenny MmMWNOܼƦW١M chen M kenny NOܼƩҫOsȡC shell ҩwqMzܼơMڭ̺٬ܼơM]oܼƥiH shell ҲͪҦl{ϥ£TCܼƦW٤@볣£VjgrܡMҦpMڭ̱`ΪܼƦoǡR
pzQݬݳoܼƭȬOMunbܼƦW٫e[W@ӡ$ŸMM echo ROӬdݴNiHFR
Ĥ@өRONONeؿ|ܥXӡMMz pwd ROGO@˪QĤGөRONeo shell PID ܥXӡM]NO 1206CpGzoɭԿJ kill -9 1206 ܡM|Ne shell ÉÖMzNnsn~ot~@ shellMӥ PID ]OsQĤTROOW@өRO^ARpGROQMèS~Mq`O 0QpGROJ~M^AhOD 0 Mȵ{]p̦өw(ڭ̦b᭱ shell script ɭԷ|)C̫@өROM@UpUGR
z|o{RĤ@RO\MҥH^AO 0 QӲĤGөROÝÍѡM^AO 1 Cp{]p̬P~]wP^AšMziHھڪ^ȱXDOؿ~ް_C ڭHɳiH£V@ = () өwq@ӷsܼƩ£Yܤ@ӭ즳ܼơCҦpR
pzn@өwqnܼơMMziHϥ unset ROR
LMܼƪSʤ@MOVXC]NOR@ shell SwܼơMubo shell ̭ϥ£TCpGznɵP@ shell ̭䥦{NscriptNROϥ£TM£W̪l{ϥ£TMz export RONoܼƶiXCLצpMpGzb@Ӥl{wqF@ܼơMoܼƪȡMuvToӤl{H£Wۤvl{Mӥû|v{£V{ͪ䥦l{C ×áMzb@ӵ{wq@ӷsܼơM£Yܤ@ӭ즳ܼƭȡMb{ɭԡMҳ]wܼƧQQpGzQNܼƭȤɵӵ{Ҳͪl{Mz export RO~OdoܼƭȡMDl{t~swqCLצpMe{ҩwqܼƭȡMOLkǦ^{䪺CpUR
ܼƪt@ӯSʡMOܼƭȬOiH~C]NOMziHN@ܼƭȨӳ]wt~@ܼƦW١C×áR
t~MbwqܼƪɭԱz٭n`N@dzWhR
ⶵM£^\ڭ̦AǨҤl|@UR
ڳo̸@U̫᭱ҤlnFR'the $TOPIC is '"$TOPIC"\.C£^N 'the $TOPIC is ' oqrAnM䤤 3 ӪťM@ $ ŸQMOd $TOPIC ܼƭȡQ̫ \ pIC bޥ " " M ' ' ŸɭԡMWM ' ' ҥ]AeM|ܦ@rMSrųhS\Mܦ@rŦӤwM䤤Aϥ ' ŸMӦb " " MhS ' ' YMYǯSršMҦp $ MMOdۥS\Cz@@UMݬ echo ' "$HOME" ' M echo " '$HOME' " tOC pGMzQ@ܼƭȶiLoMҦpRMY_FILE=' ~/tmp/test.sh' MӱzQNܼƭȴ test.sh (]NONe|h)MziHN $MY_FILE ${MY_FILE##*/}CoO@ܼƭȦrLoR## O£ZӤܼƫeݳMM */ O諸 (]NOr / )MMN̪RCziHѦҦpUdҡR FNAME="/home/kenny/tmp/test.1.sh" ɭԡR
zFܼƶiLo~Mz]ܼưXNMܨܼƭȡR
@}l£^\zѤWӪ满NMuܲV~~ unh@ǽmߡMzNDϥ£VFC×áR
аOoܼƪߩʡMzng shell script ɭԴN|NܼƷdVäFCpzQݬݷe shell ܼƦǡMziHJ set ROQpGuQˬd export XӪܼơMiHJ export env (e̬O shell w]Xܼ)C o̡Mz£^\|ݡRshell ܼƦb̩wqOSiHվܡS MĤ@ӰDڤjFѡMڲqO shell ]p̹w]wqnMڭ̤@no shell NFCLMĤGӰDMګoiH֩w_zRziHHɽվzܼơCziHbiJ shell £XbRO̭swqM]iHzL@ shell ]wɨӳ]wC ڭ̬ݬݡMzbinɭԡMt£b|ˬdɮקaR
ziHzLקW쪺ɮסMӽվziJ shell ᪺ܼƭȡC@ϥΪ̥iHקaؿ( ~/ )ɮסMHiӤHƪ]wQӧ@ rootMziHק /etc/UɮסM]wja@ΪܼƭȡCܩ bash ܼƭȦp]wSܼơSUܼƪ\pSziH man bash ѦҤUơC
nFM۫Hzwgz shell @wFѤFCMMڭ̬ݬ shell W@ǩRO\aMoǧޥO@@Өt£eznC䤤@NORROɦV (command redirection) M ROu (command pipe) C b`JѳoӧޥeMڭ̤FѤ@U shell ROR
椤OOڭ̦b shell @өROз I/O (XPJ)Cڭ̰@өROɭԡMŪJJ (STDIN)MMiBzM̫NGiX (STDOUT)QpGBzL{J~MRO]|ܿ~ (STDERR)Cڭ̥iHܮeo{R@몺зǿJMOqڭ̪LŪQӼзǿXMзǿ~Mqڭ̪ȹܡC PɡMbt£VWMڭ̳q`£cXӥNUP I/ORSTDIN O 0NSTDOUT O 1NSTDERR O 2C zFѦU I/O NMҥNXMڭ̬ݤpUROGR
Фp߬ݲĤGөRORbRO᭱hF@ 1 MӺ(SťաT)O@ӤjŸ (>)MMOt~@ɮצW١COMWoSܩRO浲GM]NOR STDOUT FT쩳oͤƱFOS M۫Hz|o֧ѰOF STDOUT NO 1 aTSFM]ڭ̳o̱N 1 £V@ > Ÿɨ@ɮפFCGLORڭ̱NзǿXqܨɮפMҥHڭ̦bȹNݤ STDOUTMӭ STDOUT GhOsbjŸk䪺ɤFCHMzݬݳoɮתeNDFR
ڭ̥£V@ > NRO STDOUT ɦV@ɮתɭԡMpGɮפsbMh|إߤ@ӷsɡQpGɮפwgsbMMoɮתeN STDOUT GCɭԡMz£^\QOd즳ɮתeMӱNGW[bɮץݦӤwCziHh[@ >M]NOϥ >> NOFCziHۤvݮ@~~Mq`Mڭ̭nN@ǩRO£j~OUӡM£^oӤkC
LMiH >| ӱjgJC WeҤlMڭ̫wF I/O 1 (STDOUT) i歫ɦVMo]Ow]ȡMpGzSwNMNOi STDOUT ɦVMҥH 1> M > O@˪Q1>> M >> ]O@˪CpGzϥ£VFƦrMƦrM > @wťզsbC nFMUAөROR
M۫H£YڦhFaS(pGɮפsbM>> M > |إ߷sC) ƹWMbڭ̪`zMɦVάOD`MCڥu|UoӨҤlNnFR ڭ̶i֤߽sĶɭ(ڭ̤U@A)M|֪ܥXdWUHQ䤤jO STDOUTM]ǬO STDERRCDzuF`M_hzGXǬO`HMǬO~HCznsĶѡMէ~ɭԡMpGwgN STDERR ɥXӡMND`KFR
o̡Mڤ@@TӥR(1) NзǿXe@ӥs null ]ƤWMpGzOʰnMڦbeÑr륦¬}RҦFih᳣|ÇڭӤHߺDMڷ|ıosĶ֤߮ɶ]XӪHMpGzP쪺ܡMOUMҥHڱN STDOUT ɨ null hMbQ (2) MMڱN STDERR ɨ /tmp/kernel.err oɥhMROMڴNiH쨺̬ݬݨsDCǰDiणOܭnMǫhiݭnsAs֤ߡMݱzgաC(3) ̫MڱNROe background (~~ ۫Hz٨SѰOaT)C]MsĶ֤߳ɶMҥHڱNeIhMo˧ڥiH~䥦ƱC eҤlMڭ̬O}N STDOUT M STDERR ɨ줣PɮץhMMڭ̯_̳ɨP@ɩOSMOiHMФUTR
ڳo̧iDzRĤ@ïâROTM]o˷|yoӿXPɦbm@ɮסMgJǫCӲ 2 M 3 ïâGO@˪MݱzwέӮâZFCLMnpߪOR& Ÿ᭱ťM_h|NROeIMӤON STDOUT M STDERR XC nFMeڭ̳b STDOUT M STDERR ɦVMMڭ̬O_୫ STDIN OS MiH~~~ ǩROMڭ̰椧M|b̵L STDIN JMJ EOF (Ctrl+D) Ҥ~|uROC×áMbP@Өt£VWMpGhϥΪ̦PɵnJܡMziH write ROVSϥΪ̰eXuTCӵuTeNOLVJrMoɭԩRO|iJJҦMzCJ@ë Enter MTN|bt~@ݡMz Ctrl+D ~}õROC
o˳q`ݭn@ǮɶJMpbgFMdݬYǸƪɭԡMNܲVáCoɭԡMz£^\iHNuTegb@ɮ̭MҦp greeting.msgMMo˿JNiHFR
NoˡMo̧ڭ̥£VpŸ (<) ӭ STDIN C²aS^_^ LMڭ̥ cat ROإ²ïâɮתɭԡMoOϥ > ŸR
drMpipe oӭ^OޡNDNuNCMMROSosOS²ïâM@өROuMNON@өRO STDOUT @t@өRO STDIN C Mo˪Ҥlڭ̫ewgIhFMҦpW@ tr ROɭԡR
WoөROMƹWөRORcat M tr MboөROMڭ̥£V@ | Ÿ@oөROuM]NON cat RO STDOUT @ tr RO STDIN QMMtr RO STDOUT > ɨt~@ɮץhC WuO@ӫD`²ïâҤlӤwMƹWMڭ̥iH£XhӺushӵ{M̲oڭ̽TQnGC×áRڷQDثeh֤Hnbt£VWR
ڭ̤Ū@UoөROR(1) w RO|ܥXen̪귽ϥ£\pMåBC@ӵn̦@Q(2) A tail RO 3 }lrQ(3) M wc -l pXơCoˡMNiHDenHƤFC \hBͥثeĥ£g ADSL WMCsu IP @ˡMunzL²ïâROuMzNiHNe IP XӤFR
o̡Mڭ̤@@ 5 pipe N 4 өROs_ӡMNXe IP }FCO_ܦn£[OS bP@өRO̭X{hөRO£TMF | ~M£^\z|ݨ " ` ` " ŸM]NOM ~ P@䪺Ÿ(Ϋ Shift )CO@ϥΪM䤤iH]A@ROM£[ROuCĪGMROuSOOS ڭ̨ϥ pipe N@өRO STDOUT ǵU@өRO STDINMϥ `` ɭԡMҲͪ STDOUT STDERR ȧ@RO椤@ӰѼƦӤwCMpݬݤUROnFR
qGڭ̥iHݥXMڭ̥ `` N date oөROA_(itѼ)M浲GiH@ TODAY ܼƭȡCڭ̬Ʀ٥iHN@ROu£XbROWR
NRĤ@ïâ CR Q \ FMҥHoөRO桥ݰ_ӡCڤҥH˳oMOiDzo `` ŸiHAΪdC
Fo `` M | ~M٦t~@ӲŸ ; ӤjROCLMoӤ²RNOĤ@ROMAĤGөROMpR
~~ pGzzw˵{HߡM£VW@RONFT ڭ̹ shell ܼƩMROâW@w{ѤMMڭ̴NiHռgۤv shell script o~~ oiOD`nӤSNPƱOT^_^ b linux ̭ shell script iuOLBbRڭ̶}ïâ run level WO@ script Qn᪺ҳ]wM]O script QƦܤu@Ƶ{MO@]O script CzHK /etc/rc.d/init.d ̭ӵ{^ӬݬݡMo{̳@Ӧ@PBRĤ@@wOpUo˪R
Mo̪ #! ᭱nwqNORO(command interpreter)MpGO /bin/bash ܡMUylN bash ӸQpGO /usr/bin/perl ܡMN perl ӸCPҨϥΪylyk@ˡMD`YMNPO shell ӸMP shell âZ]ȬۦPCҥHMpGzݨ script O /bin/sh ܡMNnpߤFRpGzJӬݳoɮסMƹWȬO@ link ӤwMǨt£[£^\|N link 䥦 shell hCpz script ylϥΪykO bash ܡMӳo sh o link csh M_ӥi|DCҥHM̦n٬Ow shell |w@ǡRbo̪dҳϥ /bin/bash ӧ@ script C bu}lg script eMڭ̻{ script @ǰR ²ӻMshell script ̭NO@sROӤwMA[WP_Ny{NjNޥMoa楿TROMϥ£WTѼƿﶵCMڭ̦b shell ̭JRO@ˡMshell script ]o˪SʡR
@Ө}n script @̡Mb{}YɭԡM|£`ѻ script W١N£^~N@̡NNNHCpGzoӾ|gۤv scriptM]ӦoӨ}nߺDC shell script ɪRWS@wWhMiHϥ£WɮצW(Ѧɮרt)MpGzwܡMiH .sh ӰɦWMLoOwʳWwCLMn@ shell scriptMϥΪ̥復v( x )M£Vs边sإߪɮ׳OS x permission MХ chmod RO[WCïâɭԡMD script wgܩ PATH ܼƤ|M_hzw|CҦpMzgF@ӥs test.sh shell scriptMbaؿM]o]Ozeu@ؿMz[W|~R./test.sh ~/test.sh CҥHMijzb script յL~Mb ~/bin ؿ̭MNiHbaۤv script FMMMznTw ~/bin wgX{bz PATH ܼƸ̭C script ҥHoMb@DZi( test )CziH test ROM]iH if ԭzMҦpRtest -f ~/test.sh CNOդ@U ~/test.sh oɮO_sbMo -f q`£XbɮפWաMFM٦ܦhR
ƹWMoǴն٦ܦhܦhMziH man bash MѦ CONDITIONAL EXPRESSIONS Ct~Mڭ٥iHPɹɮiաMҦpRtest file1 -nt file2 NO file1 O_ file2 nsCoشըϥΪҬOR
ڭ̳o̩һoǴաMu£ZӴɮסMӥBٱ`|£ZӤr (string)£gƦr()COrOSrӤдNO@rCb@ӴդM~/test.sh O@ɮסQ '~/test.sh' MhOb̭()MNOrFC bƦrMrW(£_)MҨϥΪҤjR
bW쪺襤MMǷN@ˡMϥ£^XoɬۦPCҦp = M -eq ONM = urM -eq hiH£ZӤrM]£ZӤܦ(ڭ̦b regular expression |I)C ڭ̤ҥHniթ£VMDnO£ZӰP_Rpթ£V令ߡMN^@ӡu (true)_h^갲 (false)C]NORpGߨN|ppQpGߤS|ppMq script ҡzCWMڭ̪{ҥHoMOqo²P_}lC ×áMW -a (AND) M -o (OR) O£ZӴըӱRA M B CpGϥ test A -a B M A M B ߨ~ߡQpGϥ test A -o B Mun A B ߨNߡCܩ䥦MաMӧnzѧaS t~M٦@ӯSŸR !ziण|B£TCO_NMҦpR"! -f"ODɮסQ "-ne" M "! -eq" ONC ڭ̦bROWwgDpwqMܤ@ܼơMb shell script ̭NOqŨDFCӥBMV|QܼơMz script ONVCb shell script ҩwqܼƦYïâwqR
ڭ̰F = өwqܼƤ~M٥iH declare ROөTwqܼơCҦpR
zo̷|o{RpGSϥ declare RONܼƩwqƪܡM A M B ܼƭȳuOrӤwC z{bwgDOܼơNpwqܼơNOrNpMզrMɮסModzO script ޥCg@²ïâ script ӤDFMҦpbaؿg@ test.sh M䤺epUR
ڭ̬ݲĤ@R#!/bin/bashMNOwqX bash Oo script command interpreter C MO@ǵѡMFo script £^~N@̡NNMTC bѤM 7 ~O script u}lRwqX@ܼ CHK_FILE MثeeOaؿ tmp lؿ test.sh ɮסC
Ĥ@O}l@ if P_ROM@wn£V@ fi ROӵ(ziHb̫@쥦)QMb if M fi @ then ROCoOáw if-then-fi P_RpGYYߡMMppQ٦ if-then-else-fi P_RpGYYߡMMppM_hppQt~M] if-then-elif-then-else-fi P_RpGYYߡMMppQ_hMApGYYߡMMppQpG٬OߡMNppC WXMDnتON CHK_FILE oܼƭȩwq $1CSz£^\| $1 OڡSOzo script ɭԩҿJĤ@ӰѼQ $0 hO script ROÝóCҥHMo̬OP_@U $1 O_Ū ( -z )MMh(then)MiDzyk~MçiDzTâZMPɰhXMê^@ӪA(᭱A)Q_h(else)MNN CHK_FILE wq $1C UӲ 9 MziHN "if [ ! -e $CHK_FILE ]" "if test ! -e $CHK_FILE " MN䳣O@ӴաCpG [ ] ܦ@Ӧan`NR"[ " k䥲Od@ӪťաQ" ]" 䥲Od@ӪťաC bثeo script MP_pUR
ثeo script ȴѤ@ script zӤwMҦpRwqMϥܼơNif-then-else-fi P_NաNYNhXANCPɡMoӽdҤ]ѤF@ǰ script ѼgDҡR£VPYƨӮѼgPP_ΰjCҦpo̤@@ if-then-else-fi P_MĤ@ ifNthenNelseNfi SYơMMMoǩRO᭱ԭzNiYơQIĤGh if-then-else-fi ɭԡM]pCƹWMëD@wpgkMpGz{VgVMz۵M|o˦wƪ~~ קڭ̻{ѤF@ if-then-else-fi P_MƹWMb script £VWM٦䥦\hP_ޥMbڭ̶}ojjM script eM{Ѥ@UR
ƹWM£Xb script Wj¹£D`hܤơMȧڤ]S\Oja@@СC٬OdݱzۤvhCCNFC `Wܦ (RE -- Regular Expression) ӬOҦDzߵ{Hƪ\ҡCMMڪ{OܮtMӥBo̪Ñr]OH{DMLMb᪺zͲPMpG|B RE ܡMNO\hƱɥb\MPɤ]zbzL{pKlCUMڭ̥uIJ̰ RE `ѡMܩiޥMNd쪺BͦۤvoC Mڭ̻{ѳ̰ RE ŸR
q`Mڭ̥£ZӳBz RE { grepNegrepNsedNawkNviNMU{ykM\ೣۮtܦhMݭnԲӬsL~NCbYǵ{MҦp egrep M awkM٥iHBzYǩršMҦpR" | " O RE £V@YQ" ( )" i£ZӲզXh RE QC쪺ܡMW\hƥiHoMҦp sֱL uWܦJP£TvtCÑrC \hH RE ɭԡM֤FФ@U sed M awk o_M̳iH£ZӳBzrMBzkWoҤPCH sed r桦쪺BzKQ awk hbCBzWW쪺qCO_pMjaۤvoC ڭ̥ݬ sed oӵ{MROykI vi ̭s\R
sed `£[ROMаѦҤUR
ҦpMznJR
ܪGMN|N src.file eTÉÖCpGzJR
oˡMܪGMN|q 3 ̫@ª_ÉÖMuѤU 1 M 2 ӤwC WROOѤF[M_hn \$ ӸCLMڱjPijz£^N sed ROA_ӡCpGznNťզÉ_M RE ӰD`²R
b sed ̭ޥ RE ɭԡM q`|£Z / / ŸN RE A_ӡMM~OROC pGzQnrMNn s ROFR
oˡMҦ red r곣|Q blue QpGS[W g XСMuC@ïâĤ@ red QӤwC F d M s RO~Mڭ٥iH a RObyl᭱sW@Mer곡Q£W i RObyleJ@Mer곡Q]iH c RON¬®r곡CLMzboXөROɭԡMn ' ' NROMѼƬA_ӡMM \ ŸbRO᭱ Enter MM~৹CM_ZzѪMp@@UaR
oˡMN|bɮ׳̫᭱W[@ylFCA×áMznN 3 ¬®t~rMiHo˪R
A×áMzQNzsxlɮ ~/mbox £`u}C@ʶlMiHo˸ոաR
ڷQMzӤ|ѰOڭ̦beÑrM ifconfig | grep | tr | cut oǩROuӧXdɭaCƹWMڭ̥ sed RO]@˥iHoP˪GR
Ĥ@ sed ON addr: yler s ROLr(]NOb̫᪺ // Sr)QMĤG sed N Bcast sPeťաMylݤ] s Lr(`NR/ *Bcast / M * Oť)QoˡMѤUӪNO IP }FC ثeMڭ̩ҶiïâROXMObWMJMzwgǷ|ROɦVFMnNGOs䥦ɮץhMOpϴxFaC ^_^ ܩ sed £YޥMziHpUnns@UR Dz߹L sed Mڭ̦Aݬ awk oөROsqCNש| IP ҤlӻnFM awk ]@R
o̪ awk M cut ROܬۦRM -F wqXjŸ(`NRĤ@өROΪťհjšMҥH -F ᭱ ' ' Oť)MMA print RONCXӡC awk ӨMܼ $0 NC@QBzyl MMĤ@O $1NĤGO $2N.... MpC pGzH awk uవoǨƱMNbOӤpݥFTҦpzoˤ@Ӥr(dog.txt)M̭uo@rR
Mڭ̥ awk ӶiBzR
qWҤlMڭ̵o{ awk 㦳BzܼƪOMƹWM]ۤvتܼơR
ƦܡMawk ٯiƭȤWR
t~MpGYӰïâܡMawk RO@@TӳRBEGINNmainNM ENDCb awk ROMBEGIN MO{}lɰ@Ǥ@ʪROQ END hb{hXɭ@Ǥ@ʪROQ main OMhHj骺£XvBzJC@ӻMڭ̵Lwq BEGIN M ENDMwq main NiH awk ROFCҦpR
oӨҤlIhlMȧ@ܽdӤwC]Mڭ̦b BEGIN wqF xNyNz ȡR( 1N2N3 )MMڭ̦AN $xN$yN$z (]NO $1N$2N$3 ) CޥXӡCҥHM浲GOĥ|ïâ d NSܤFC AҦpMz@ɮ (result.txt)M䤺epUR
ziH£VUROMX Chinese ήïâWMӥuܨW(m)R
pGzQܧ@YĤ@ylMiH pipe tail ROiLoCpMڭ̦AǧM×ápҦWïâZMåBH̫@CܥXӡMiHo˳]pR
oөROݰ_ӦIMݭn@UR
ӨC@ïâXGMN|br᭱wâZ[W tab MȤFCO_ܯ_OSTMouO awk MָզӤwMYno awk jjOMȤwgOکүशЪFC
www.study-area.org © 2001 Netman HLast Updated: Jan 17, 2004 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||