From VMS to Linux HOWTO ÒFGuido Gonzato, <guido@ibogeo.df.unibo.it>, and Mike Miller, <miller5@uiuc.edu> v1.1.3 1999N917ú |óFÂì ³K <masayuki@shikoku.ne.jp> ú{êóF 1999N106úì¬ ±Ì¶ÍAVMS ðgÁÄ¢ÄAt[ UNIX N[Å é Linux ÖØè Ö¦æ¤Æl¦Ä¢élBÌè¯ÉÈêÎÆv¢¢½àÌÅ·B Linux ÖÌÚsª(]ÞçÍ)yÉÅ«éæ¤AR}hâc[ÌärÈÇð·è ñŢܷB ______________________________________________________________________ Ú 1. Cg_NV 1.1 Ⱥ Linux ÈÌ©H 1.2 R}hât@CìÌär 2. V[gCg_NV 2.1 t@C 2.2 fBNg 2.3 vO 2.4 NCbNcA[ 3. t@CÌÒW 4. TeX 5. vO~O 5.1 Fortran 5.2 make Ìg¢©½ 5.3 VFXNvg 5.4 C 6. OtBbNX 7. [ÆC^[lbgc[ 8. xÈbè 8.1 p[~bVÆL 8.2 }`^XNFvZXÆWu 8.3 ÄxAt@CÉ墀 8.4 v^[L [ 9. Ýè 10. ðɧÂvO 10.1 t@CÌuEY less 10.2 Linux ÅÌtÔÉæéobNAbv 10.3 A[JCuFtar Æ gzip 11. À¶ÅÌá 12. ±êȵÅÍâÁÄä¯È¢é 13. Linux Å VMS Ìe[vðÇÞÉÍ 13.1 ͶßÉ 13.2 îb 13.3 Ú× 13.4 ubNTCYÉ¢ÄÌðà 14. IèÉ 14.1 Copyright 14.2 Disclaimer 14.3 ú{êÅÓ« ______________________________________________________________________ 1. Cg_NV 1.1. Ⱥ Linux ÈÌ©H È½Í UNIX ªïµ¢Æ·¢ÄAVMS ©çÌÚsð¿ã¤¿åµÄ¢Ü¹ñ ©HäSzÈBôû³ê½ UNIX N[ÌêÂÅ é Linux Í VMS ðµ ¤ÙÇïµÈ¢µAÀÛAyµ¢àÌÅ·æBM¶IÈ VMS t@Í¯Ó µÈ¢©àµêÈ¢¯ÇAåûÌÓ©ÍA Linux ÌÙ¤ªÍé©ÉÍÅ \¾Æ¢¤±ÆÅ·B Linux Æ VMS ͼÒÆà·Îçµ¢Iy[eBOVXeÅAÇ¿çð gÁÄ௶dªÅ«Ü·ªALinux ÉÍ VMS ðãÖ·éɽéÛ¾Á½ Á¥ª èÜ·B»ÌãAVMS ÅÍܾÀ»µÄ¢Ü¹ñªALinux Í VAX 𽮫\ðàÂÅVÌ Pentium PC Å®¢Ä¢Ü·BVsÌ«\O tBbNJ[hðÚµ½ Linux @Å X11 ðp·êÎA¬OtBbN [NXe[VªÅ« ªéAÆ¢¤¨Ü¯à èÜ·B«\ÍÙÚáO ÈOtBbNXêp@ð½¬Ü·©çB ȽÍåw̤ҩw¶ÅAVMS ðgÁÄÌæ¤ÈdðµÄ¢éñ ¶áȢŵ天B o TeX/LaTeX ðgÁÄ_¶ð o Fortran vO~O o }â\Ìì¬ o C^[lbgÌp o »Ì¼ ... Í©çA È½Ì VMS ÅÌo±à¥Ü¦ÄA±¤¢Á½dð Linux ÅÍ ÇñÈÉâé̩ྵĢ«Ü·B OñðF o Linux Æ X Window System ª³µCXg[³êÄ¢é±ÆB o ZpãÌשÈÊ|ðÝÄêéÇÒª¢é±Æ (¿âÍÉÅÍÈ AÇÒÌûɵľ³¢Ë ;-) B o VF - DCL Ư¶àÌ - Í bash ðg¢Ü·(VXeÇÒÉmFµ ľ³¢)B ±Ì HOWTO ¶ÍALinux É¢Ä\ªà¾µ½à̶áÈÄAÅÉ mÁĨ׫ÅáÀÌ¿É¢Äq×½àÌÅ·B]ÁÄALinux ðg¢ ±È·½ßÉÍA³çÉwÎȯÎÈèܹñ (xÈ bash ÌÁ¥AvO ~OA³K\» ÈÇ...)B±êÈ~AuÚ×É¢ÄÍ man y[WðQ Æ̱ÆvÆ¢¤Ó¡ÅARMP(please Read the Man Pages for further details) Æ¢¤}[Nðg¢Ü·B ±Ì ftp TC g <ftp://sunsite.unc.edu:/pub/Linux/docs/LDP>©çüè \È Linux Documentation Project ̶ªdvÈîñ¹ÆÈéŵå¤B SÒü¯ÆµÄALarry Greenfield Ìu Linux User Guide vð¨Eßµ Ü·B ³ AͶßÜµå¤ 1.2. R}hât@CìÌär ±êÍAVMS Æ Linux Åæg¤R}hÌär\Å·B¶@ª©ÈèÙ ÈÁĢܷB | Ú×ÍÍÈ~ðä¾³¢B VMS Linux Notes ------------------------------------------------------------------------------ @COMMAND command Àst@CÅ é±Æ COPY file1 file2 cp file1 file2 CREATE/DIR [.dirname] mkdir dirname êxÉêñÀs CREATE/DIR [.dir1.dir2] mkdirhier dir/name DELETE filename rm filename DIFF file1 file2 diff -c file1 file2 DIRECTORY ls DIRECTORY [...]file find . -name file DIRECTORY/FULL ls -al EDIT filename vi filename, ½ªCÉüçÈ¢Åµå¤ emacs filename, EDT Ý· jed filename ¯ã-- ̨CÉüè FORTRAN prog.for g77 prog.f, LINK ÌÀsÍsv f77 prog.f, fort77 prog.f HELP command man command u command vðwèµÜ· info command ¯ã LATEX file.tex latex file.tex LOGIN.COM .bash_profile, uBµvt@C .bashrc ¯ã LOGOUT.COM .bash_logout ¯ã MAIL mail, ¨e elm, ¸ÁÆ¢¢ pine ³çÉ¢¢ PRINT file.ps lpr file.ps PRINT/QUEUE=laser file.ps lpr -Plaser file.ps PHONE user talk user RENAME file1 file2 mv file1 file2 ¡t@CwèÍs RUN progname progname SEARCH file "pattern" grep pattern file SET DEFAULT [-] cd .. SET DEFAULT [.dir.name] cd dir/name SET HOST hostname telnet hostname, ³mÉͯ¶¶áÈ¢ rlogin hostname SET FILE/OWNER_UIC=joe chown joe file ÜÁ½á¤ SET NOBROADCAST mesg SET PASSWORD passwd SET PROT=(perm) file chmod perm file ÜÁ½á¤ SET TERMINAL export TERM= ¶@ªá¤ SHOW DEFAULT pwd SHOW DEVICE du, df SHOW ENTRY lpq SHOW PROCESS ps -ax SHOW QUEUE lpq SHOW SYSTEM top SHOW TIME date SHOW USERS w STOP kill STOP/QUEUE kill, vZXp lprm v^[L [p SUBMIT command command & SUBMIT/AFTER=time command at time command TEX file.tex tex file.tex TYPE/PAGE file more file less file ¸ÁÆ¢¢ à¿ëñR}h¼ªáÁÄ龯¶á èܹñB±¯Üµå¤B 2. V[gCg_NV {ÉͶßÄAOC·éOÉǤµÄàmÁĨ׫±Æð«Ü ·BbNXµÄA»ñÈɽȢ©çB 2.1. t@C o VMS Åt@C¼Ít@C¼.g£q;o[WÔŵ½ªA Linux ÅÍo[WÔÍ èܹñ(±êÍ©ÈèÉ¢§ñÅ·B ``Linux ÅÌÔÉæéobNAbv''ðQƵľ³¢)Bt@C¼ÍÊí 255 ¶ÈàAD«È¾¯hbgÅæØé±ÆªÅ«Ü·BᦠÎAThis.is_a_FILEname.txt Ìæ¤ÉB o Linux ÅÍå¶Æ¬¶ðæʵܷB FILENAME.txt Æ filename.txt ÍÊÈt@CƵĵ¢Ü·B ls ÍR}hÅ·ªALS Íá¢Ü·B o hbgÅnÜét@CÍuBµvt@CÅ è(ÊíAfBNgê ÉÍ\¦³êܹñ) `_u ~ vÅIét@CÍobNAbvt@ CÅ·B ±êÍVMS ÌR}hð Linux Éu«·¦½àÌÅ·B VMS Linux --------------------------------------------------------------------- $ COPY file1.txt file2.txt $ cp file1.txt file2.txt $ COPY [.dir]file.txt [] $ cp dir/file.txt . $ COPY [.dir]file.txt [-] $ cp dir/file.txt .. $ DELETE *.dat;* $ rm *dat $ DIFF file1 file2 $ diff -c file1 file2 $ PRINT file $ lpr file $ PRINT/queue=queuename file $ lpr -Pprintername file $ SEARCH *.tex;* "geology" $ grep geology *tex fBNgðÜÞ¼ÌáÉ¢ÄÍȺÅྵܷBANZXÛìAL A»Ì¼ÌxÈbèÈÇÉ¢ÄÍA``xÈbè''ÌÍð©Ä¾³ ¢B 2.2. fBNg o ¯¶m[hÌuãÉ éêAVMS ÅÌfBNg¼Í [top.dir.subdir] Ì`®ÆÈèÜ·ªALinux ÅÍ /top/dir/subdir/ Ì `®ÉÈèÜ·BܽAfBg[c[ÌæªÉ ½éfBNg ð[gfBNgÆÄÑ / Å\µA»ÌºÉ /bin,/usr, /tmp, /etc ÈÇ̼ÌfBNgª»ÌºÉÊuµÜ·B o /home fBNg̺ÉÍ[UÉpÓ³ê½uz[fBNg vª èÜ·Bá¦Î /home/guido â /home/warner Ìæ¤ÉBOC µÄA©ªÌz[fBNgÅìƵܷªA±êÍ SYS$LOGIN Æ ¯¶Å·ËBu~vÍz[fBNgÖÌV[gJbgÅAcd ~/tmp Æ cd /home/guido/tmp ͯ¶fBNgðwµÜ·B o fBNgÆt@Cͯ¶½¼¥É]¢Ü·B³çÉAefBNg ÉÍñÂÌÁÊÈGgª¶ÝµÜ·BêÂÍ . ÅA±êÍ»ÝÌ fBNg©ÌðwµÜ·( [] Ư¶)Bà¤êÂÍ .. ÅAefB NgðwµÜ·( [-] Ư¶)B ÊÈáð¦µÜ·B VMS Linux --------------------------------------------------------------------- $ CREATE/DIR [.dirname] $ mkdir dirname $ CREATE/DIR [.dir1.dir2.dir3] $ mkdirhier dir1/dir2/dir3 n/a $ rmdir dirname (if dirname is empty) $ rm -R dirname $ DIRECTORY $ ls $ DIRECTORY [...]file.*;* $ find . -name "file*" $ SET DEF SYS$LOGIN $ cd $ SET DEF [-] $ cd .. $ SET DEF [top.dir.subdir] $ cd /top/dir/subdir $ SET DEF [.dir.subdir] $ cd dir/subdir $ SHOW DEF $ pwd ANZXÛìAL A»Ì¼ÌxÈbèÉ¢ÄÍ``xÈbè''ðä ¾³¢B 2.3. vO o R}hâRpCµ½vOA¨æÑVFXNvg ( VMS Ì uR}ht@CvƯ¶)ÉÍA.EXE â .COM Ìæ¤Èg£qÍsv ÅAD«È¼Oð¯é±ÆªÅ«Ü·B ls -F Å©éÆAÀsÂ\È t@CÉÍAX^XNu * vªÂ¢Ä¢Ü·B o ÀsÂ\t@CðN®·éÉÍAt@C¼ð^CvµÄ¾³¢( RUN PROGRAM.EXE â @COMMAND ¶á èܹñ)BxFt@CªÀspXÉ é±ÆªsÂÅ·BÊíApXÉÍ /bin,/usr/bin,/usr/X11R6/bin ÈǪÜÜêĢܷBvOðìÁ½çApXÌÊÁ½fBNg Éڵľ³¢B (Ýèû@Í``Ýè''ðä¾³¢) Jg fBNgªpXÉÜÜêĢȢÈçAÖíèÌèiƵÄAtp XwèÅvOðÀs·é±ÆàÅ«Ü·BᦠÎA/home/guido/data/myprog â ./myprog Ìæ¤ÉB o VMS ÅÍ /OPTION= Ì`ÅR}hXCb`ðwèµÜ·ªA Linux ÅÍ -switch â --switch Ìæ¤ÉwèµÜ·B switch Ͷâ¶Ìg ¹AܽÍPêÈÇÅ·BÁÉA½ÌR}hɤÊÌ -R XCb`(Ä AIÉ)Í VMS Å [...] Ư¶øʪ èÜ·B o êsÅ¡ÌR}hðÀs·é±ÆàÅ«Ü·B $ command1 ; command2 ; ... ; commandn Linux ð³çÉg¢â·µÄ¢é̪ I/O _CNgÆpCvÈñÅ· ªA VMS Å͵¢É©Á½èA é¢Í»êÉCG·éà̪ èܹ ñ(ÅßÌ DCL ÅÍ _CNgÆpCvðT|[gµ½æ¤Å·ªAcO ȪçÍ»Ìo[WðÁĢܹñ)B VMS ÅÌ_CNgÍAR }hÌXCb`ƵÄâIÉT|[g³êÄ¢é©(½ÌR}hÉ é /OUTPUT= XCb`ðv¢oµÄ¾³¢)A¬Ìæ¤ÈÊ|ÈâèûÅ À»Å«Ü·B $ DEFINE /USER SYS$OUTPUT OUT $ DEFINE /USER SYS$INPUT IN $ RUN PROG Linux ÅͱñÈÉÈPÉÈèÜ·B $ prog < in > out pCvÍ VMS ÅÍpūܹñªAUNIX ÅÍdvÈððÁĢܷB ±êªT^IÈáÅ·B $ myprog < datafile | filter_1 | filter_2 >> result.dat 2> errors.log & vO myprog Ít@C datafile ð( < ðoRµÄ)üÍƵÄæè ÝAoÍÍvO filter_1 ÌüÍÉ( | ðoRµÄ)n³êÜ·Bv O filter_1 ÌoÍÍAÄÑvO filter_2 Én³êAÅIIÈ oÍÍ t@C result.dat É( >> ðoRµÄ)ÇL³êÜ·BܽG[ oÍÍt@C errors.log É( 2> ðoRµÄ)_CNg³êÜ·BÈã ÌÍobNOEhųêÜ·(R}hCÌÅãÉ & ð¯ Ä¢é½ß)BæèÚµ¢à¾Í``Examples''ðä¾³¢B }`^XNAuL [vÈÇÉ¢ÄÍ``xÈbè''ðä¾³ ¢B 2.4. NCbNcA[ ±±ÜÅÅ Linux ð·õªÅ«Üµ½BOC¼ÆpX[hð³m Éü͵ÄÝľ³¢Bá¦ÎAOC¼ª john ÅpX[hª My_PassWd ÈçµÄ John â my_passwd ÈÇÆü͵Ȣ±ÆB UNIX Í å¶Æ¬¶ðæÊ·éÌÅ·©çB êUOCµ½çA}V¼:$ Ìæ¤Èvvgª\¦³êé±ÆÅ µå¤BvvgðÏXµ½èAvOð©®IÉÀs³¹½¢ê ÍA.profile â .bash_profile ÈÇÌuBµvt@CðC³µÜ ·B(``Ýè''ðä¾³¢) ±êçÌt@CÍ LOGIN.COM Ư¶«ð µÜ·B ALT-F1(ALT L[Æ F1 L[ð¯ÉµÜ·)AALT-F2, ... ALT-F6 ÌÇê ©ð¹Îu¼zR\[(ó : Ⱥ VC ÆÄÔ)vðØèÖ¦é±Æª Å«Ü·BæÊSÌðg¤AvP[Vª VC ðèLµÄàA¼Ì VC É ØèÖ¦é±ÆÅìÆð±¯é±ÆªÅ«Ü·BÊÈ VC ðJ¢ÄOCµ ÄÝľ³¢B X Window System (ȺAX ÆȪ)ðN®Å«é±ÆÆv¢Ü·B X Í DEC EChEɽOtBbN«ŷB- ÀÛADEC EChEÍ X ©ç h¶µ½àÌÅ·B startx ÆÅÁÄbÒÂÆAxterm © »êɽ[ G~ [^ªN®µA{^o[à\¦³êé±Æŵå¤(½ªN®³ê é©Í Linux ÌÝèÉàæèÜ·ª)BfXNgbvðNbN(}EX̼ ûÌ{^ðµÄ¾³¢Ë)·êÎj [ð\¦µÜ·B X «ÅeLXg[h(uR\[v)É·éÉÍACTRL-ALT-F1(Rg [L[Æ ALT L[Æ F1 ð¯ÉµÜ·)ACTRL-ALT-F2A... CTRL-ALT- F6 ÌÇê©ðµÄÝľ³¢BR\[©ç X ÉA·éÉÍ ALT- F7 L[Å·BX ðI¹·éÉÍAj [Ìw¦É]¤©A CTRL-ALT-BS ð µÜ·B ÌR}hÍz[fBNgàÌSÄÌt@C(Bµt@CàÜ Þ)ðêµÜ·B $ ls -al ±±Å SHIFT-Page Up L[ð·ÆæÊãûÉXN[·éŵå¤B ls Ìwv𩽯êÎA $ man ls Æ^CvµÜµå¤Bu q vÅwvæʩ粯é±ÆªÅ«Ü·BcA [ÌÅãÉ exit ÅZbVðI¹µÜµå¤BൠPC Ìd¹ðØéÌÈ çACTRL-ALT-DEL ð¯ÉµÄAbãÉd¹ðØÁľ³¢(µÄ Linux ÌÒÉd¹ðØÁÄÍ¢¯Ü¹ñæIt@CVXeªóêé¨ »êª èÜ·©ç)B ·Åɽç©ÌìÆðJnµæ¤ÆvíêÄéûA``xÈbè''ð©Ä©ç ɵܵå¤B 3. t@CÌÒW Linux ÉÍ EDT Í èܹñªA½³ñÌGfB^[ªg¦Ü·BܽA ±ê¾¯ÍÛسêÄ¢é±ÆÅ·ªASÄÌ UNIX ÉÍ vi GfB^[ªÂ ¢Ä¢Ü· - YêȢž³¢ËBÅàVXeÇÒªàÁÆ¢¢G fB^[ðCXg[µÄéÉá¢È¢¯ÇB¨»çAÅà|s [È GfB^[Í emacs Å èA½Í EDT ðG~ [gÅ«Ü·Bjed à EDT ðG~ [gÅ«éGfB^[Å·B ±êçñÂÌGfB^[ÍAAEDT ÉÍÈ¢ñÂÌÁ¥ * ¶@²@\Æ© ®Cfg@\ * ª éÌÅAvO\[XÌÒWÉÍå¢ÉLpÅ ·B³çÉAGfB^[ãÅRpCÅ«Ä(R}hÍ ESC-X compile )A¶@G[Ì ésÉJ[\ðòεܷB³¦È¢ EDT ðÄÑg¤C ÉÍÈçÈ¢Æf¾Å«Ü·B emacs ð§¿ã°ÄAESC-X edt-emulation-on Æ^CvµÄ©Ä¾³¢B ALT-X â ESC-X Í emacs ÅR}hðÀs·éɵܷB EDT Ì CTRL-Z Ìæ¤ÈàÌÅ·Bemacs Æ EDT ÌR}hÌá¢ðµ°ÄÝÜ µå¤B o R}hðÀsµæ¤ÆµÄACTRL-Z ð³È¢æ¤É (àµâÁ¿áÁ ½çAemacs Íâ~µÜ·BÅà fg ÅAµÜ·)B o ICwvðg£µ½àÌà èÜ·BCTRL-H ? © CTRL-H T ð µÄÝľ³¢B` [gAªnÜèÜ·B o t@CÌÛ¶Í CTRL-X CTRL-S Å·B o I¹Í CTRL-X CTRL-C Å·B o VKÉt@CðÒW·éÈç CTRL-X CTRL-F ÅACTRL-X B ÅÒWob t@ðØÖ¦é±ÆªÅ«Ü·B ൠjed ª éÈç (VXeÇÒÉ¿áñÆÝè³êÄ¢é©qËÄ ¾³¢)A§¿ã°½Æ«ÉG~ [Vªæ¤ÉÈÁÄ¢é¤Å ·BÊÉL[pbhªg¦ÄACTRL-H CTRL-P © CTRL-? Åwvª\¦³ êéÆv¢Ü·Bemacs Ư¶û@ÅR}hðÀsÅ«AÁ¦ÄAIWi Ì EDT ÉÍÈ¢A ȽDÝÌL[oChÉ·é±ÆàÂ\Å·Bש ¢±ÆÍVXeÇÒÉqËľ³¢B ±êçÌãíèÉASáÁ½ì«ðàÂGfB^[ðgpµÄࢢÌÅ ·BfÌÜÜÌ emacs àêÂÌIðÅ·B|s [ÈGfB^[Å é joe Í emacs (ôªìªÈPÉÈÁÄ¢é)â DOS GfB^[ÈÇðG~ [gµÜ·Bjmacs © jstar ðÄÑoµA CTRL-X H © CTRL-J Åwv ð\¦³¹é±ÆàÅ«Ü·Bemacs â jed Íëǫ EDT æèÍÅ·B 4. TeX TeX Æ LaTeX ÍÇ¿çà VMS ÅƯ¶Å· - ¬¢Æ±ëÍá¢Ü·æ :-) BÅà .dvi â .ps t@Cðµ¤c[ÉÍDê½à̪ èÜ·B o TeX ©ç TeX t@CðN®·éÉÍA( ¢àÏíç¸) tex file.tex Ìæ¤ÉµÜ·B o .dvi t@Cð .ps t@CÉÏ··éÉÍAdvips -o filename.ps filename.dvi ƵܷB o X «Š.dvi ðæÊÉ\¦·éÉÍAxdvi filename.dvi & ƵܷB NbN·êÎgå\¦µÜ·Bxdvi ̨ûÈƱëÍATeX t@C ðGfB^[ÅÏXµÄ TeX ðʵÄâêÎA©®IÉ .dvi t@Cð Vµ¢àÌÉ\¦µÈ¨·_Å·B o y[WSÌ©AIðªðóü·éÌÉÅKÈc[ÍA»ÝÌƱë gv Å·B o .ps t@Cðóü·éÉÍAlpr mypaper.ps R}hðg¢Ü·Bൠ|XgXNvgv^[(©Ç¤©ÍVXeÇÒÉ·¢Ä¾³ ¢)Èç lpr -Pps mypaper.ps ƵܷBv^[L [ÌÚµ¢îñ ÍA``v^[L [''ðä¾³¢B 5. vO~O Linux ÍvOðìéÉÍǢ«¾Æv¢Ü·BvOðÈPÉf 쬷é½ß̽Ìc[ªµÁĢܷBá¦ÎAÒW - Û¶ - R pC - ÄÒWÆ¢Á½P²ÈìÆÉ ¹µÈÄàAOqÌ emacs â jed ÈÇÌGfB^[ðg¦Îv¬ÉìÆÅ«Ü·B 5.1. Fortran Üèå·È¢ÌÅ·ªA±Ì¶ð¢Ä¢é_ÅpÅ«é(t[)R pC[Æ VMS ÆÅÍ®SÝ·ÅÍ èܹñ - ô©Ì}Ci[Èx ̶ª\z³êÜ·( VMS ÌRpCÍñWÌg£ðsÈÁÄ¢éÌÅ ·)BÚ×Í /usr/doc/g77/DOC © /usr/doc/f2c/f2c.ps ðä¾³¢B VXeÇÒÍAg77 lCeBuRpC(·®êàÌÅ·ªA0.5.21 Å ÅÍܾ DEC Fortran ÆÝ·«Í èܹñ)©AFortran ©ç C ÖÌg X[^Å é f2c (^lCeBuRpCÌtgGh) ÌÇ¿ ç©ðCXg[µÄ¢é͸ŷBÌo±ÅÍAyaf77 ªÅàDê½ Êðo·pbP[WÌê¾Æv¢Ü·B g77 Å Fortran vOðRpC·éÉÍA\[XðÒWµÄA .f g£qð¯ÄÛ¶µ½ãA $ g77 myprog.f ðÀsµÜ·B ftHgÅÍAa.out ̼ÅÀst@Cª¶¬³êÜ·(¼É½àN µÈ¯êÎ)BÙÈÁ½Àst@C¼ÉµÄAÅK»IvVð¯éÉ ÍA $ g77 -O2 -o myprog myprog.f ƵܷB ÅK»ÉÍÓI VXeÇÒÉRpCÉ¢ÄÌhL gðê ǵÄàç¢AâèªÈ¢©Ç¤©mFµÄ¾³¢B Tu[`ðRpC·éÉÍA $ g77 -c mysub.f Æ·êÎAmysub.o ª¶¬³êÜ·B±ÌTu[`ðN·éÉÍA $ g77 -o myprog myprog.f mysub.o Ƶľ³¢B ½³ñÌTu[`ª ÁÄACuÉÜÆß½¢ÈçA $ cd subroutines/ $ cat *f >mylib.f ; g77 -c mylib.f Ìæ¤ÉµÜ·B ±êŠȽÌvOÉNÂ\È mylib.o ª¶¬³êÜ·BÅã ÉAOCu libdummy.so ðN·éÉÍA $ g77 -o myprog myprog.f -ldummy ƵܷB f2c ð¨¿ÈçAg77 ÌÖíèÉ f77 © fort77 ÌÝðg¤±ÆÅµå ¤B ȺÅÍA³çÉg¢â·¢vO~Oc[ make ðÐîµÜ·B 5.2. make Ìg¢©½ [eBeB make ÍA¡Ì\[Xt@Cɪ©ê½vOÌR pCÉg¤c[Å·BVMS ÅÌ MMS Æ MMK ɵܷªA\¶ÍÙ ÈÁĢܷB \[Xt@C file_1.f , file_2.f , file_3.f Æ CvOÌ\ [X myprog.f ª éƵܵå¤B±êçÌvOðèìÆÅRpC ·éÆÈéÆA\[Xt@CÌÇê©êÂðÏXµ½êA»êÆ覅 WÉ ét@CªÇê©ðl¦ÄAêÂêÂÄRpCµÈ¯êÎÈèÜ ¹ñB ªªÏÉÈéOÉu makefile vðìé׫ŷB±êÍ\[Xt@CÝ Ì˶ÖWðLqµ½eLXgt@CÅ· - \[XªÏX³ê½çAÏX ³ê½t@CÉ˶·ét@C¾¯ðÄRpCµÄêÜ·B äXÌáÅÍA±ñÈÉ makefile ðìèÜ·B ______________________________________________________________________ # makefile ÌáÅ·B # <TAB> Æ¢Ä éƱëÅÍ <TAB> L[ðµÄ¾³¢I # åØȱÆÅ·FXy[XÍ_Å·æB myprog: myprog.o file_1.o file_2.o file_3.o <TAB>g77 -o myprog myprog.o file_1.o file_2.o file_3.o # myprog ÍlÂÌIuWFNgt@CÉ˶µÜ·B myprog.o: myprog.f <TAB>g77 -c myprog.f # myprog.o Í»ê©gÌ\[Xt@CÉ˶µÜ·B file_1.o: file_1.f <TAB>g77 -c file_1.f # file_1.o Í»ê©gÌ\[Xt@CÉ˶µÜ·B file_2.o: file_2.f file_1.o <TAB>g77 -c file_2.f file_1.o # file_2.o Í»ê©gÌ\[Xt@CÆIuWFNgt@CÉ˶µÜ·B file_3.o: file_3.f file_2.o <TAB>g77 -c file_3.f file_2.o # file_3.o Í»ê©gÌ\[Xt@CÆIuWFNgt@CÉ˶µÜ·B # end of makefile. ______________________________________________________________________ ±êð Makefile ̼ÅÛ¶µAmake Æ^Cv·êÎRpCÅ«Ü·B ãíèÉAt@C¼ð myprog.mak ƵÄÛ¶µ½ÈçAmake -f myprog.mak ÅRpCÅ«Ü·Bà¿ëñ RMP(óFman y[WðQÆÌ Ó)B 5.3. VFXNvg VFXNvgÍ VMS R}ht@CƯ¶àÌÅ·ªAæèÍÈ\ ¶ðõ¦Ä¢Ü·B XNvgðÉÍAµÈ¯êÎÈçÈ¢±ÆSÄðR}hÅLqµÄA WÌ ASCII t@CÉÛ¶µÜ·BÀsÅ«éæ¤É·é½ßÉAchmod +x <XNvgt@C¼> R}hðÀsµÄ¨¢Ä¾³¢BXNvg t@C¼ð^Cv·êÎÀsÅ«Ü·B bash ÅXNvgðÉÍALÍÈ@\ðÔ µ½ðà{ªKvÉÈéÌ ÅA Üè[;yµÜ¹ñB±±ÅͽïIÅA(]ÞçÍ)ðɧ ÂTv©çô©Ìî{IÈ[ðÇÝÆÁľ³¢B TvFsample.sh ______________________________________________________________________ #!/bin/sh # sample.sh # RgsÅ·B # ÅÌsÍÁ³È¢ÅAK¸»±ÉȯêÎÈè¹ñB echo "This system is: `uname -a`" # use the output of the commad echo "My name is $0" # built-in variables echo "You gave me the following $# parameters: "$* echo "First parameter is: "$1 echo -n "What's your name? " ; read your_name echo notice the difference: "hi $your_name" # quoting with " echo notice the difference: 'hi $your_name' # quoting with ' DIRS=0 ; FILES=0 for file in `ls .` ; do if [ -d ${file} ] ; then # if file is a directory DIRS=`expr $DIRS + 1` # this means DIRS = DIRS + 1 elif [ -f ${file} ] ; then FILES=`expr $FILES + 1` fi case ${file} in *.gif|*jpg) echo "${file}: graphic file" ;; *.txt|*.tex) echo "${file}: text file" ;; *.c|*.f|*.for) echo "${file}: source file" ;; *) echo "${file}: generic file" ;; esac done echo "there are ${DIRS} directories and ${FILES} files" ls | grep "ZxY--!!!WKW" if [ $? != 0 ] ; then # exit code of last command echo "ZxY--!!!WKW not found" fi echo "enough... type 'man bash' if you want more info." ______________________________________________________________________ 5.4. C Linux ÍAC ÅvOðJ·éÉÍ·Î絢«ŷBC É¢ÄÍ ²¶m¾Æv¢Ü·ÌÅA±±ÅÍKChCÉ¢Äq×ܵå¤BèÔ Ì hello.c ð Linux ÌêÆྦé gcc ÅRpC·éÉÍA g77 Æ ¯¶\¶ðg¢Ü·B $ gcc -O2 -o hello hello.c vOÉCuðN·éÉÍAXCb` -l<libname> ðÁ¦Ü ·Bá¦ÎAwCuÆÅK»IvVðt¯ÄN·éÉÍA $ gcc -O2 -o mathprog mathprog.c -lm Ìæ¤ÉµÜ·B ( -l<libname> XCb`ÍA /usr/lib/lib<libname>.a ðêÉNµë Æ¢¤±ÆÅA]ÁÄ -lm Í /usr/lib/libm.a Ư¶Ó¡ÉÈèÜ·)B vOª¡Ìt@C©ç\¬³êéêÍAOqµ½æ¤É make [eBeBªKvÆÈéŵå¤BRAmakefile ÉLq³ê½\[X t@CÆ gcc ðg¢Ü·B man y[WÌZNV 3 ÉLÚ³êÄ¢é C ÌÖÉ¢ÄÌwvðÄ Ño·±ÆªÅ«Ü·Bá¦ÎÌæ¤ÉµÜ·B $ man 3 printf gpÂ\ÈCuÍRÙÇ èÜ·ªAÅàAeLXg[hÅeíÌ øÊðo·½ßÌ ncurses ÆAOtBbNX`æpÌ svgalib ÈÇðÅ Ég¢½¢ÌÅÍȢŷ©B 6. OtBbNX épÂ\ÈOtBbNXpbP[WÌÅà gnuplot ÍA»ÌÍ È@\Æg¢â·³ÅËoµÄ¢Ü·BX ðN®µÄAgnuplot Æ^CvµÄ Ýľ³¢B 究ßAñÂÌt@C - 2D-data.dat (ês½èñ Ìf[^)Æ 3D-data.dat (ês½èOÂÌf[^)- ªõ³êÄ¢éàÌ ÆµÜ·B 2 ³OtÌáF gnuplot> set title "my first graph" gnuplot> plot '2D-data.dat' gnuplot> plot '2D-data.dat' with linespoints gnuplot> plot '2D-data.dat', sin(x) gnuplot> plot [-5:10] '2D-data.dat' 3 ³OtÌá (X ÌesÌlÍósÅ·)F gnuplot> set parametric ; set hidden3d ; set contour gnuplot> splot '3D-data.dat' using 1:2:3 with linespoints PêñÌf[^t@C(á¦ÎAnñÈÇ)Í 2-D OtƵÄvbg Å«Ü·B gnuplot> plot [-5:15] '2D-data-1col.dat' with linespoints é¢Í 3-D OtƵÄà(ãLÌæ¤Éf[^t@CÉósðÜßé ±ÆÅ)vbgÂ\Å·B gnuplot> set noparametric ; set hidden3d gnuplot> splot '3D-data-1col.dat' using 1 with linespoints Otðóü·éF|XgXNvgv^ðgÁÄ¢éÌÈçA lpr -Pps file.ps ƵܷB gnuplot> set term post gnuplot> set out '| lpr -Pps' gnuplot> replot àÆÉß·ÉÍ set term x11 Æ^CvµÜ·B¬µÈ¢Å¾³¢ËBÅ ãÌóü¨Í gnuplot ðI¹µ½¾¯óü³êéŵå¤B æèÚµ¢îñÍAhelp Æ^Cv·é©A /usr/lib/gnuplot/demos/ fB Ngðä¾³¢B 7. [ÆC^[lbgc[ C^[lbgÍ UNIX @Åa¶µ½àÌÈÌÅALinux pÉàfGÅg¢â ·¢AvP[VªLxÉñ³êīܵ½B±êçÍÙñÌêÅ ·F o Mail : dq[ÌóMÉÍ elm © pine ðg¢Ü· - ¼ûÆàI Cwvª èÜ·BZ¢bZ[WÉÍA mail ðg¤Æ¢¢Å µå¤B mail -s "hello mate" user@somewhere < msg.txt ÈÇÆµÜ ·B½ªAxmail ©»Ìæ¤ÈvOðDÞÆv¢Ü·B o Newsgroups : tin Æ slrn ÍÇ¿çàA¼ÏIÅ©¾Èì«ðñµÜ ·B o ftp : ¨ÜèÌLN^x[XÌ ftp ÍÊɵÄAtXN[Å Ì ncftp â xftp Ìæ¤ÈOtBJÈ ftp NCAgªCXg [³êĢȢ©AVXeÇÒÉqËÄÝľ³¢B o WWW : æÝ©¯é netscape é¢Í xmosaic Achimera »êÉ arena ÍOtBJÈ web uEUÅ·BLN^x[XÈç lynx ª è Ü·B±Á¿Ìûª¬¢µAøÊIÅ·B óFȺÉú{êpÂ\Èc[̼OÆ url ðñµÄ¨«Ü·B mail [_ o mew <http://www.mew.org/index.html> o mutt-ja <http://kondara.sdri.co.jp/~kikutani/mutt.html> o cmail <http://www.st.rim.or.jp/~fuku/cmail/index.html> o MH-JP <http://www.chem.eng.himeji- tech.ac.jp/~hayashi/internet/mh-plus.html> o wonderlust <http://www.gohome.org/wl/index.html> news [_ o mnews <ftp://ftp.mei.co.jp/free/news/readers/> o semi-gnus ( MUA ) <http://www.mdcnet.co.jp/~keiichi/semi-gnus- faq-ja.shtml> o t-gnus <http://www.jpl.org/elips/INSTALL-SEMI-ja.html> web uEU o lynx <http://lynx.browser.org/index.html> o w3m <http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/> o w3-mode on xemacs <http://www.cs.indiana.edu/elisp/w3/docs.html> o mmm <http://pauillac.inria.fr/~furuse/jmmm/030/index.html> 8. xÈbè ±ÌÍ͵è²í¢àeÉÓêÜ·B±±Åq×éÁ¥ðw×ÎAu Linux É¢Ľ©ðmè¾½vƾ¦éÆv¢Ü·æB 8.1. p[~bVÆL t@CÆfBNgÉÍAVMS Ư¶æ¤Ép[~bV(Ûì)ÆL ª¶ÝµÜ·B³êĢȯêÎAvOðç¹½èAt@C ðC³µ½èA é¢ÍfBNgÉANZX·é±ÆàūܹñBt@ Cª È½Ì ÀºÉÈ¢©çÅ·B¬Ìáð©ÄÝܵå¤B $ ls -l /bin/ls -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls* ÅÌtB[hÍAt@C ls Ìp[~bVð\¦µÄ¢Ü·(I[ iÍ root ÅO[vÍ bin)BL ÉÍ I[i (owner) AO[v (group) A»Ì¼ (other) ÌRíÞª èÜ· (VMS Ì owner,group,world ÉÄÜ·Ë)Bp[~bVÉÍ ÇÝæè (read) A«Ý (write AíÂàÜÞ)AÀs (execute) ÌRíÞª èÜ·B ¶©çEÉ©Ä¢«Üµå¤B- Ít@CÌíÞÅ·( - ÍêÊt@C Ad ÍfBNgAl ÍNð¦µÜ·)B rwx Ít@CÌLÒ Éηép[~bV( read, write, execute )Å·BÌ r-x Ít@C LÒÌ®·éO[vÉηép[~bV(read, execute) ÅAÅã Ì r-x Í»êÈOÌ[UÉηép[~bVð(read, execute)ð\µ ĢܷB t@CÌp[~bVðÏX·éÉÍA $ chmod <whoXperm> <file> ƵAwho ÉÍ u (userAI[i̱Æ)Ag (group) é¢Í o (other) ð wèµAX ÉÍ + © - ÌÇ¿ç©ðwèµÜ·BܽA perm ÉÍ r (read), w (write), é¢Í x (execute) ðwèµÜ·Bá¦ÎA $ chmod u+x file ÍAt@CÌLÒÉÀsÂð^¦éàÌÅ Achmod +x file ÆZkÅ «Ü·B $ chmod go-wx file ±êÍAt@CÌLÒÈO©ç«ÝÂÆÀsÂðæèÁµÜ·B $ chmod ugo+rwx file ±êÍSÄÌ[UÉÇÝÝÂA«ÝÂAÀsÂð^¦Ä¢Ü ·B p[~bVÍAZkµÄŦ·±Æª èÜ·Brwxr-xr-x ÍèÁæ èA755 ÆwèÅ«Ü·(e¶ÍrbgÉεܷB--- Í0A--x Í 1A-w- Í 2 ÈÇÌæ¤É)B fBNgÉηé rx ÍA cd ðgÁÄ»ÌfBNgÉÚ®Å«é± ÆðÓ¡µAw ÍfBNgàÌt@CÌí(à¿ëñAt@CÌp [~bVÉ]¢Ü·ª)âA»ÌfBNg©ÌðíÅ«é±ÆðÓ ¡µÜ·B±êç̱ÆÍAÙñÌêÅ· - RMPB t@CÌLÒðÏX·éÉÍF $ chown username file vñ·êÎAÌ\ÉÈèÜ·B VMS Linux Notes ------------------------------------------------------------------------------ SET PROT=(O:RW) file.txt $ chmod u+rw file.txt $ chmod 600 file.txt SET PROT=(O:RWED,W) file $ chmod u+rwx file $ chmod 700 file SET PROT=(O:RWED,W:RE) file $ chmod 755 file SET PROT=(O:RW,G:RW,W) file $ chmod 660 file SET FILE/OWNER_UIC=JOE file $ chown joe file SET DIR/OWNER_UIC=JOE [.dir] $ chown joe dir/ 8.2. }`^XNFvZXÆWu vOÌÀsÉ¢ijçÉྵܵå¤B±êÜÅgÁÄ«½uob `L [vÍ Linux ÉͶݹ¸AáÁ½û@ŵíêÜ·BÄÑAT^I ÈR}hCð¦µÜ·B $ command -s1 -s2 ... -sn par1 par2 ... parn < input > output & -s1, ..., -sn ÍvOXCb`ÅApar1, ..., parn ÍvOÉn ³êéøÅ·B }`^XNªÇÌæ¤É©©Ä¢«Üµå¤BtHAOhâ obNOhÅ®vOðuvZXvÆÄÑÜ·B o vZXðobNOhÅN®·éÉÍF $ progname [-switches] [parameters] [< input] [> output] & [1] 234 VFÍvZXÌuWuNov(ÅÌÅ·FȺðQÆ)ÆvZXÌ PID (vZXID) ðÊmµÜ·BevZXÍ PID ÅêÓɯÊÅ«Ü·B o vZXª¢Â®¢Ä¢é©²×éÉÍF $ ps -ax ¡»ÝÀsvZXÌêðo͵ܷB o vZXðI¹·éÉÍF $ kill <PID> vZXð³KÌèiÅI¹³¹éû@ª»çÈÄàA ȽÍvZXð I¹³¹éKvª éÆv¢Ü· ... ;-) XAȺÌÇ¿ç©ÅÌÝI¹ ³¹éêª éŵå¤(óFÍVOiÔÅA9 Í kill VOi A15 ÍI¹VOiƵÄè`³êĢܷB killall ÈçvZX¼ð wèµÄI¹³¹é±ÆªÅ«Ü·)B $ kill -15 <PID> $ kill -9 <PID> t¯Á¦éÆAVFÍvZXÌI¹âêâ~AܽAvZXðobN OhÖÚµ½èAtHAOhÖßµ½è·é±ÆªÅ«Ü·B±Ìæ ¤È«ºÅAvZXðuWuvÆÄÑÜ·B o Wuª¢Â 驲×éÉÍF $ jobs WuÍVFÉæÁÄÌÔ³ê½ÔůʳêAPID Åͯʳêܹ ñB o tHAOhvZXðI¹·éÉÍF $ CTRL-C (¢Âàøʪ éÆÍÀèܹñ) o tHAOhvZXðêâ~·éÉÍF $ CTRL-Z (¯ã) o â~óÔÉ évZXðobNOhÉÚ·ÉÍ(»êÍWuÆÈ é)F $ bg <job> o WuðtHAOhÉß·ÉÍF $ fg <job> o WuðIç¹éÉÍF $ kill <%job> 8.3. ÄxAt@CÉ墀 t@CÉ¢Ä̳çÉÚµ¢îñÅ·B o stdin, stdout, stderr: UNIX ɨ¢ÄASÄÌVXeR|[lg Ít@CƵÄæ赢ܷBR}hâvOÍA stdin (W üÍ - ÊíÍL[{[h)ÆÄÔut@Cv©çüÍð¾ÄAstdout (WoÍ - ÊíÍæÊ)ÆÄÔut@CvÖo͵AG[bZ[W Í stderr (ÊíÍæÊ)ÆÄÔut@CvÖo͵ܷB < Æ > ðg¦ÎAüoÍðÊÈt@CÉ_CNgÅ«Ü·B³ç ÉA>> Íã«·éãèÉt@CðÇLµÜ·B 2> ÍG[bZ[ W( stderr )ð_CNgµÜ·B2>&1 Í stderr ð stdout É_C NgµA1>&2 Í stdout ð stderr É_CNgµÜ·B/dev/null ÍubNz[ÆÄÎêA±±É_CNg·éÆAÇñÈàÌàÁ ¦ÄµÜ¢Ü·B o wildcards: '*' ÍÙÚ¯¶«Å·Bp@F * ÍABµt@Cð SÄÌt@CÉ}b`µÜ·B.* ÍSÄÌBµt@CÉ}b`µÜ ·B*.* ͶñÉ . ðÜÞ¶É}b`µÜ·Bp*r Íupetervâ upipervÉ}b`µÜ·B*c* ÍupickedvÆupeckvÉ}b`µÜ·B u%vÍu?vÉÈèÜ·(óFê¶ÌÝÉ}b`)BChJ[hÆ µÄ¼ÉA[] ª èÜ·Bp@F[abc]* Í a © b © c ÅnÜé¶ñ É}b`µÜ·B*[I-N,1,2,3] ÍÅ㪠I, J, K, L, M, N, 1, 2, 3 Å Iét@CÉ}b`µÜ·B o mv ( RENAME ) Í¡Ìt@CÉεÄg¦Ü¹ñB mv *.xxx *.yyy ÍvÁ½ÊèÉ®©È¢Åµå¤B o cp -i Æ mv -i Ít@Cªã«³êé±ÆðxµÄêÜ·B 8.4. v^[L [ VMS Å໤¾Á½æ¤ÉAóüvÍL [CO³êÜ·BvgR} hðs·éêAv^¼ðwèµÄà\¢Ü¹ñBáF $ lpr file.txt # this goes to the standard printer $ lpr -Plaser file.ps # this goes to the printer named 'laser' v^L [𵤽ßÉAÌæ¤ÈR}hª èÜ·B VMS Linux ------------------------------------------------------------------------------ $ PRINT file.ps $ lpr file.ps $ PRINT/QUEUE=laser file.ps $ lpr -Plaser file.ps $ SHOW QUEUE $ lpq $ SHOW QUEUE/QUEUE=laser $ lpq -Plaser $ STOP/QUEUE $ lprm <item> 9. Ýè VXeÇÒªA·ÅÉô©ÌÝèt@C - .xinitrc, .bash_profile, .inputrc Ìæ¤È - ðõµÄ¢é±Æŵå¤B±ê çÌt@CÍÒWÂ\¾Æv¢Ü·B o .bash_profile © .profile : OCµ½Æ«ÉVFªÇÝÝÜ ·BLOGIN.COM Ìæ¤ÈàÌÅ·B o .bash_logout: OAEgÌÉVFªÇÝÝÜ·B LOGOUT.COM Ì æ¤ÈàÌÅ·B o .bashrc: ñOCVFªÀsµÜ·B o .inputrc: L[Ìèt¯âVFÌ®ìðJX^}CYµÜ·B Tvð¦µÜµå¤B±êͪgÁÄ¢é .bash_profile ÌêÅ ·(ȪµÄ¢Ü·)B ______________________________________________________________________ # $HOME/.bash_profile # sKvÉpXðÄè`µÈ¢±ÆB echo $PATH | grep $LOGNAME > /dev/null if [ $? != 0 ] then export PATH="$PATH:/home/$LOGNAME/bin" # add my dir to the PATH fi export PS1='LOGNAME:\w\$ ' export PS2='Continued...>' # aliases alias bin="cd ~/bin" ; alias cp="cp -i" ; alias d="dir" alias del="delete" ; alias dir="/bin/ls $LS_OPTIONS --format=vertical" alias ed="jed" ; alias mv='mv -i' alias u="cd .." ; alias undel="undelete" # ðɧÂÖ inst() # JgfBNgÉ .tar.gz A[JCuðCXg[·éB { gzip -dc $1 | tar xvf - } cz() # .zip A[JCuÌàeðê·éB { unzip -l $* } ctgz() # .tar.gz A[JCuÌàeðê·éB { for file in $* ; do gzip -dc ${file} | tar tf - done } tgz() # zip É .tgz A[JCu𶬷éB { name=$1 ; tar -cvf $1 ; shift tar -rf ${name} $* ; gzip -S .tgz ${name} } ______________________________________________________________________ »µÄA±êÍ .inputrc Å·B ______________________________________________________________________ # $HOME/.inputrc # Last modified: 16 January 1997. # # ±Ìt@CÍ bash ÅÇÜêAVFÅgíêéL[Ìèt¯ðè`µ½àÌÅ·B # ȺÅÍAENDAHOMEADELETE ÆANZg¶L[ÍÅèÅ·B # æèÚµ¢îñÍ man readline ðä¾³¢B "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line set bell-style visible set meta-flag On set convert-meta Off set output-meta On set horizontal-scroll-mode On set show-all-if-ambiguous On # (F1 .. F5) are "\e[[A" ... "\e[[E" "\e[[A": "info " ______________________________________________________________________ 10. ðɧÂvO 10.1. t@CÌuEY less ±Ìt@CuEUðúg¤Í¸Å·©çAg¢±È¹éæ¤AµRc 𨳦µÜµå¤BêÔÅÉAless ªv[eLXgÈO̳kt@ CâA[JCuà\¦Å«éæ¤ÉÈÁÄ¢é±ÆðVXeÇÒÉmF µÄ¨¢Ä¾³¢B ÅßÌo[WÌ TYPE Ìæ¤É, less àt@Cð¼ûüÉuEYµ Ü·BܽAL[üÍÉæèíÞÌR}hðó¯t¯Ü·BÅàðɧ àÌÍF o ÅÉAq ð¹ÎI¹µÜ·B o h Åg£wvð\¦µÜ·B o g Åt@CÌæªÉÚ®µÜ·BG Ít@CÌöÖÌڮŷBÔ +g ÍÔÅwèµ½sÖÌÚ®(á¦ÎA125g Í125sÖÚ®)Al+% ÍlŦµ½Åt@C𪵽sÉÚ®µÜ·B o /pattern ÍupatternvðOûõµAn ÍÉ}b`·é¶ñðTµ Ü·B?pattern Æ N ÍãûõÅ·B o m+¶ Í»ÝÌÊuð}[NµÜ·(á ma)B'+¶ Í}[Nµ½ÊuÉ WvµÜ·B o !command ÍVFÌR}hðÀsµÜ·B 10.2. Linux ÅÌtÔÉæéobNAbv ßµ¢±ÆÉALinux ÅÍܾt@CÌo[WÔªT|[g³êÄ¢ ܹñªAñÊèÌû@ű̧ñð·é±ÆªÅ«Ü·BêÂÚÌû@ Í RCS ( Revision ControlSystem )ðg¤±ÆÅA±êÍÏXOt@Cð Û¶µÄ¨±ÆªÅ«Ü·B RCS Íu RCS MINI-HOWTO vÅðà³êÄ¢ Ü·B( <http://sunsite.unc.edu/mdw/HOWTO/mini/RCS.html>) (óFRCS MINI-HOWTO ú{êó <http://www.linux.or.jp/JF/JFdocs/RCS.html>ͱ±) ñÂÚÌû@ÍAtÔµÄobNAbv·é±ÆÌÅ«éGfB^ðg¤±Æ Å·Bemacs â jed Èç OK Å·Bemacs ÍA .emacs ÉÌR[hðÇÁ µÜ·B (setq version-control t) (setq kept-new-versions 15) ;;; or any other value (setq kept-old-versions 15) (setq backup-by-copying-when-linked t) (setq backup-by-copying-when-mismatch t) jed Ì 0.98.7 È~Ìo[Wð¨¿ÌûÍA <http://ibogeo.df.unibo.it/guido/slang/backups.sl>©çüèÅ«épb` ð ÄêÎÂ\ÉÈèÜ·B 10.3. A[JCuFtar Æ gzip UNIX ÅÍAt@Cð³kµÄA[JCuÉ[ßé±ÆªLsÈíêÄ¢ Ü·Btar Ít@CðWßÄAA[JCuðìèÜ·BVµ¢A[JCuÌ ìèûF $ tar -cvf <archive_name.tar> <file> [file...] A[JCu©çt@Cðæèo·ÉÍF $ tar -xpvf <archive_name.tar> [file...] A[JCuÌàeðê·éÉÍF $ tar -tf <archive_name.tar> | less fBXNXy[Xðßñ·é½ßÉAcompress © gzip ðgÁÄt@Cð ³kµÜ·B compress ÍàÍâ®ÈÌÅg¤×«Å èܹñB $ compress <file> $ gzip <file> ±êÉæÁÄ .Z (compress)â .gz (gzip) ÈÇÌg£qt«Ìt@Cª¶ ¬³êÜ·B±êçÌvOÅÍA[JCuÍìçê¸At@CÍÂÊ É³k³êÜ·BL··éÉÍF $ compress -d <file.Z> $ gzip -d <file.gz> RMP. unarj, zip â unzip [eBeBÈÇàgpÂ\Å·Bg£q .tar.gz © .tgz ªÂ¢½t@C( gzip ųkµA tar ÅA[JCuɵ½à Ì)ÍAUNIX ÅÍ©ÈèêÊIÅ·B .tar.gz A[JCuÌàeðê·é ÉÍA $ tar -ztf <file.tar.gz> | less ƵܷB .tar.gz A[JCu©çt@Cðæèo·ÉÍA $ tar -zxf <file.tar.gz> ƵܷB 11. À¶ÅÌá UNIX ÌjÆÈéACfAÍAPÈR}hðpCvâ_CNgÉæè µÄA{É¡GÈìÆų¦sȦéæ¤É·é±ÆÅ·BȺÌáð ä¾³¢BÅà¬Ý¢Á½âèÉ¢ÄÌÝྵܵå¤B¼Ì±ÆÉ Â¢ÄÍA±êÜÅÌÍâ man y[WðQlɵÄÝľ³¢B âè : ls ðg¤Æt@CÌêªXN[µÄAæÊ©çÁ¦ÄµÜ ¤B ð F $ ls | less âè : PêÌXgðÜñ¾t@Cª èÜ·B»êðtÅ\[gµA óüµ½¢ÌÅ·ªB ðF $ cat myfile.txt | sort -r | lpr âè : f[^t@Càɯ¶f[^ðÜÞsªôÂà èÜ·B»êðØ èlßéû@Í èÜ·©B ðF $ sort datafile.dat | uniq > newfile.dat âè : umypaper.txtv©umypaper.texv©A»êɽ¼OÌt@Cª éÌÅ·ªAÇ±É éÌ©v¢o¹Ü¹ñB©Â¯éû@ÍH ðF $ find ~ -name "mypaper*" ྠF find ÍfBNgc[(±ÌáÅÍA~ È~)ÌSÄÌt@C ðê·é·²ÖÈR}hÅ·B-name ðg¢tB^[ð©¯ÄoÍ ·é±ÆªÅ«Ü·B âè : uentropyvðÜñ¾t@CªfBNgÉ èÜ·B SEARCH R}hÌæ¤É»êªÇÌt@CÉ é©T·û@Í èÜ·©H ðû@FÍ¢A±Ìæ¤ÉµÜ·B $ grep -l 'entropy' * âè : DZ©ÉuentropyvðÜñ¾eLXgt@Cª éÆv¤ñÅ· ªA»êªÇ±ÌÈñÄ¢¤t@C©mè½¢BVMS ÅÍ search entropy [...]*.*;* ðg¢Üµ½ªAgrep ÅÍTufBNgȺðÄAIÉT· ±ÆªÅ«Ü¹ñB¢¢l¦ èÜ·©H ðF $ find . -exec grep -l "entropy" {} \; 2> /dev/null à¾Ffind . ÍJgfBNg©çnßÄASÄÌt@Cêðo ͵A -exec grep -l "entropy" Íet@CðÎÛÉÀsµÜ· ({} Éæ è\³êé)B\ ÍR}hðI¹³¹Ü·BRA±Ì\¶ªÊ|¾Æ´¶ éŵå¤ËB ãíèÉAÌæ¤ÈXNvgt@CðÆǢŵå¤B (óF Í find . -type f |xargs grep 'entropy' Ìæ¤ÉµÄ¢Ü·) ______________________________________________________________________ #!/bin/sh # rgrep: ÄAIÈ grep if [ $# != 3 ] then echo "Usage: rgrep --switches 'pattern' 'directory'" exit 1 fi find $3 -name "*" -exec grep $1 $2 {} \; 2> /dev/null ______________________________________________________________________ à¾F search Ìæ¤È grep Æ find ÆðgÝí¹êÎA¼ûÌ¢EÅÅ àg¢â·¢àÌÉÈéÆv¢Ü·B âè : 2 sÌwb_[ÅnÜéf[^t@Cª èAesÉÍsvÈXy [XÅæØçê½ n ÂÌf[^ª èÜ·BesÌ 2 ÔÚÆ 5 ÔÚÌf[ ^ª~µ¢ÌÅ·ªAFortran ÅvOð¢½ûª¢¢Åµå¤©H ð : ¢¢¦A±Á¿Ìûª¢B $ awk 'NL > 2 {print $2, "\t", $5}' datafile.dat > newfile.dat à¾FR}h awk ÍÀÛÍvO¾êÅAf[^t@CÌ 3 sÚ© çJnµÄAesÌ 2 ÔÚÆ 5 ÔÚð^uÅæØÁÄvgµÜ·B awk ðwÑȳ¢ --- ½ÌÔðßñÅ«Ü·æB âè : FTP TCg©ç_E[hµ½ ls-lR.gz Ìàeð²×½¢BTu fBNgÉuv xxxx vÌsªÜÜêĢܷBxxxx ÍfBNg àeð KB PÊÌTCYÅ\µ½àÌÅ·B±Ì xxxx ÌWvðsÈ¢½¢Ì Å·ªB ðF $ zcat ls-lR.gz | awk ' $1 == "total" { i += $2 } END {print i}' à¾Fzcat Í .gz t@CÌàeðo͵Aawk ÉpCvµÜ·Bawk Í man y[WÉJÉÌÁĢܷæ ;-) âèFf[^t@CÌlðvZ·é Fortran vO myprog ª èÜ ·BSÌt@CðÇÝܹÄÊðo͵½¢ÌÅ·ªAf[^t@C ¼ð¢¿¢¿ÅÂ̪Ê|Å·BVMS ÅÍ·¢R}ht@CðÆv ¢Ü·ªALinux ÅÍǤ·ê΢¢Ìŵå¤H ð: ·²Z¢XNvgÅÅ«Ü·æBmyprog ªíÉu mydata.dat v ðÇÝAÊðWoÍ( stdout )É\¦·éæ¤ÉµÄ¨¢ÄAÌXN vgð«Ü·B ______________________________________________________________________ #!/bin/sh # myprog.sh: ½ÌÙÈét@CÉεį¶R}hðÀsµÜ·B # gpû@F myprog.sh *.dat for file in $* # for all parameters (e.g. *.dat) do # t@C¼ð result.dat ÉÇÁµÄ¢«Ü·B echo -n "${file}: " >> results.dat # »ÝÌøð mydata.dat ÉRs[µÄAmyprog ðÀsµÜ·B # »µÄAoÍð results.dat ÉÇÁµÜ·B cp ${file} mydata.dat ; myprog >> results.dat done ______________________________________________________________________ âè : ÌeLXgt@CàÌugeologyvðSÄugeophysicsvÉu«· ¦½¢ÌÅ·ªAèìÆŵȯêÈçÈ¢Ìŵ天H ð:¢¢¦A±ÌVFXNvgð¢Ä¾³¢B ______________________________________________________________________ #!/bin/sh # $* Ì $1 ð $2 Éu«·¦Ü·B # gpû@Freplace "old-pattern" "new-pattern" file [file...] OLD=$1 # XNvgÌÅÌp[^ NEW=$2 # 2 ÔÚÌp[^ shift ; shift # ÅÌñÂÌp[^ðÌÄéBÍt@C¼Å·B for file in $* # p[^ƵÄ^¦çê½SÄÌt@CÅ[vµÜ·B do # OLD ð NEW Éu·µÄAe|t@CÉÛ¶µÜ·B sed "s/$OLD/$NEW/g" ${file} > ${file}.new # e|t@CðIWit@C¼Él[µÜ·B /bin/mv ${file}.new ${file} done ______________________________________________________________________ âè : ô©f[^t@Cª ÁÄA»Ì·³Í»çÈ¢ñÅ·ªAÅã ©ç 1 ÂOÌsÆ 2 ÂOÌsðí·éÉÍ A¦[Æ...èìÆÅ·©H ð: à¿ëñAm[BXNvgð¢Ä¾³¢B ______________________________________________________________________ #!/bin/sh # prune.sh Í n-1ÔÚÆ n-2 ÔÚÌsðt@C©çíµÜ·B # gpû@F prune.sh file [file...] for file in $* # SÄÌp[^Å[vµÜ·B do LINES=`wc -l $file | awk '{print $1}'` # t@CÌsÔ LINES=`expr $LINES - 3` # LINES = LINES - 3 head -n $LINES $file > $file.new # Å KINES sðo͵ܷB tail -n 1 $file >> $file.new # ÅIsðÁ¦Ü·B done ______________________________________________________________________ ±êçÌ᪠Ƚ̻¡ð»»èÜ·æ¤É... 12. ±êȵÅÍâÁÄä¯È¢é o R}hÌâ®FR}hðsµÄérÅ <TAB> ð¹ÎAR}h CÌâ®ðµÄêÜ·Bá¦ÎAless this_is_a_long_name Æ^C vµÈ¯êÎÈçȢƫAless thi<TAB> Æž¯Å\ªÅ·(¯¶P êÅnÜét@Cª¼Éà éÈçAB³ðð·é½ß̶ð âÁľ³¢)B o obNXN[FSHIFT--Page Up (DFÌL[)ð¹ÎAy[Wª obNXN[µÜ·B È½Ì PC ÌrfIeÊÉàæèÜ· ªB o æÊÌZbgFmore â cat ÅoCit@CðJ¢ÄµÜÁ½çA æÊãÍS~¾ç¯ÌóÔÉÈéŵå¤B±êð¼·ÉÍA reset ©A ¶ñ echo CTRL-V ESC c RETURN ðæÊð©¸É^CvµÄ¾³¢B o eLXgÌ£èt¯FR\[[hÈçðä¾³¢B X Å ÍAxterm EChEÅNbNÆhbOÉæèeLXgðIðµÄA ^Ì{^( 2 {^}EXÈçAñÂÌ{^ð¯É)ðµÄ£è t¯Ü·B o }EXÌgpFR\[pÌ}EXhCo gpm ªCXg[³êÄ ¢é©AVXeÇÒÉqËľ³¢BNbNÆhbOÉæèe LXgðIðµAE{^ðNbNµÄeLXgð£èt¯Ü·B±ê ÍÙÈé VC ÔÅà®ìµÜ·B 13. Linux Å VMS Ìe[vðÇÞÉÍ (±ÌÍÍ Mike Miller ÉæÁÄ©ê½àÌÅ·) 13.1. ͶßÉ XAVMS }VÅ«ñ¾e[v( é¢ÍAVMS Æ *nix VXeÅÇ ÝæèÂ\Èæ¤É쬵½àÌ)ðÇÝݽ¢±Æª éŵå¤BTµ ÄA±êª DECFILES11A e[vÈçÜÁ½ÈPÅ·B Linux mini-HOWTO ÌêƵıêðÇñ¾±Æª é©àmêܹñªA ±±ÅÌîñÍÇÌ *nix VXeÅàKpÂ\¾ÆM¶Ü· - ÍALinuxAHPA Sun »êÉ DEC *nix VXeãÅsȢܵ½BªmÁ Ä¢éåÈvbgtH[˶_ÍAÙÈéVXeÉfoCX¼ªá¤ ±ÆÆAfoCX¼ðwè·é mt ÌIvVÅ·(á¦ÎALinux ÅÍ mt -f AHPUX 9Èç mt -t)B x - ±êÍ Exabyte 8mm SCSI e[vuÌÝŵܵ½B¼ÌtH[ }bg`®(ܾ 9 gbNÍ éÌ©µç)ÅÇÝޱƪū½çA Émç¹Ä¾³¢B±±ÉÁ¦Ä¨«Ü·B 13.2. îb VMS Ìu copy vR}hÅ쬳ê½e[v( é¢ÍAÆà© copy Š쬳ê½ÌƯ¶æ¤Éìçê½àÌ)ðÇÞÆ«ÉAÀÛÌf[^t@C Ée[vãÉ éOÂt@C - wb_[Af[^AgC[Ì±Æ ðmÁĨKvª èÜ·Bwb_[ÆgC[Í VMS ãÉ Á½Æ« Ìt@Cîñði[µ½àÌÉÖW èÜ·Bf[^ÍAà¿ëñf[^Ì ±ÆÅ·BߢߢÌt@CÍ dd R}hÅe[v©çæèo·±ÆªÅ «Ü·Bmt R}hÅe[vÌÊuð ¿±¿ÉÚ®³¹é±ÆªÅ«Ü ·B áFA±µÄt@Cª«ÜêÄ¢é VMS Ìe[vª èÜ·BÅÌ ñÂÍAVMS VXeÅÌIWi̼Oª ce66-2.evt Æ ce66-3.evt Å ·Be[vxÍ c66a2 Å·B ൱êçÌR}hðÀsµ½ÈçA > dd if=$TAPE bs=16k of=header1 > dd if=$TAPE bs=16k of=data1 > dd if=$TAPE bs=16k of=trailer1 > dd if=$TAPE bs=16k of=header2 > dd if=$TAPE bs=16k of=data2 > dd if=$TAPE bs=16k of=trailer2 UÂÌt@C - header1, data1, trailer1, header2, data2 Æ trailer2 ðæèo¹Ü·B±±ÅÌ\¶ÍAif="üÍt@C", bs="ubNTCY" »µÄAof="oÍt@C"Å·BTAPE Í È½Ìe[vuÌu¼ÌÉ ¶ÄÏX³êé±Æŵå¤B - á¦ÎALinux ÅÌêÔÚÌ SCSI e[v Í /dev/nts0 Å·B ÅÌt@C¶áÈ 2 ÔÚÌt@CðÇݽ¢Æ«ÉAwb_[É ¢ÄÍCɹ¸ÉæÄA³çÉIWiÌt@C¼ðg¢½¯êÎA± Ìæ¤ÉµÜ·B > mt -f $TAPE fsf 4 > dd if=$TAPE bs=16k of=ce66-2.evt > mt -f $TAPE fsf 1 4 ÍÅÌt@C©ç 3 ÂÌt@CÆAÌwb_ÌêÂðXLbv· é½ßÉ é±ÆÉӵľ³¢BñÂÚÌ mt Í 2 ÔÚÌt@CÌ gC[ðXLbvµÄAÌt@C - 3 ÔÚÌ VMS wb_[ Ìæª Ée[vÌÊuðڵܷBmt ðgÁÄAãû( bsf )ÉXLbvµ½èAª «ßµ½è ( rewind )Aª«ßµÄA[h( offline, rewoffl )·é± ÆàܽūܷB 13.3. Ú× wb_[ÆgC[t@CÍAubNTCYÈÇÌt@CîñðÛ¶ ·é½ßÉ VMS Ågíêéå¶Ì ASCII f[^ðÜñ¾àÌÅ·B»êç Íܽt@C¼àÜñŨèA©®Åt@CðÇÝñ¾èAÁèÌt@ CðT[`·éXNvgðìéÌÉÖÅ·Be[v{ [ÌêÔÚ Ìwb_[ÍA»êÈ~Ìwb_[ÆÍí¸©ÉÙÈÁĢܷB ãLÌáÅ header1 É·ée[vãÌÅÌt@CÍAßÌS¶ ªuVOL1vÅnÜèA»ÌãÉ{ [¼ª±«Ü·BáÅÍAheader1 Í VOL1C66A2 ÅnÜèÜ·BÅIéA±µ½Xy[Xª±«Ü·B»Ìã ÉAt@Cwb_[Å é±Æð¦·u HDR1 vª èÜ·BHDR1 ɱ ¶ñª VMS t@C¼Å·BáÅÍAHDR1CE66-2.EVT Å·BÌtB[ hÍAÄÑ{ [¼ÆÈèÜ·B e[vãÌÅÌt@CÈOÌt@CÉÍAêªÉ VOL1 tB[hÍ èܹñB VOL1 tB[hªÈ¢±Æð¯ÎAwb_[Ì\¢ÍÅÌ t@CÆ»êÈOÌt@C௶ŷB¼ÉÖÈtB[hÍVÔÚÌ tB[hÅAu DECFILES11A vÅIéŵå¤B±êÍ DEC Files11A K iÉKµÄ¢ée[vÉÍA±ÌtB[hª é͸ŷB tB[h ÅÌwb_[ Ìwb_[ ========= ================== ================== 1 VOL1 + { [¼ HDR1 + t@C¼ 2 3HDR1 + t@C¼ { [¼ 3 { [¼ 6 ...DECFILES11A 7 ...DECFILES11A wb_[âgC[Ì®SÈtH[}bgÌÚ×É¢ÄÍADEC FILES11A hL gðä¾³¢(IWâOCÌÇÌãÉ èÜ· - gßÉ ¢é VMS MòÒÉqËľ³¢ :-)B 13.4. ubNTCYÉ¢ÄÌðà áÅÍA16k ÌubNTCYðg¢Üµ½B*nix VXeÅÍAfBXN ãÌt@CÉÖAï½ubNTCYÍ èܹñªAVMS ÅÌet@C ÉÍAÅLÌubNTCYª èÜ·B±êÍAe[vðÇޱƳ¦ï µÈ¯êÎAubNTCYÍALinux Eɨ¢Äåµ½âèÅÍÈ¢±Æ Ó¡µÜ·BàµubNTCYðZoµÄe[vðÇޱƪﵯê ÎAmt -f $TAPE setblk 0 ðgÁÄAn[hEFAubNTCYðÝè· é±ÆªÅ«Ü·Bsetblk IvV̳mÈ`®(ÆAgpÂ\©Ç¤ ©)Í mt Ìo[WÆA Ƚªgp·éÁèÌ *nix ÌíÞÉËèÜ ·B ( setblk É¢ÄwEµÄê½ Wojtek Skulski É´Ó ( <mailto:skulski@nsrlc6.nsrl.rochester.edu>)) 14. IèÉ 14.1. Copyright Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. ÁÉfçÈ¢ÀèALinux HOWTO hL gÍ»ê¼êÌÒÌì¨Å ·BLinux HOWTO hL gÍASÄÌRs[ɨ¢Ä copyright ªÛ ³êÄ¢éÀèAÇÌæ¤È¨I é¢ÍdqIÈfBAÉæÁÄàAS é¢Í»Ìêð¡»µAzz·é±ÆªÅ«Ü·B¤pÌÄzzÉ¢ ÄàÂâ§ãð³êĢܷªA»Ìæ¤È¢©ÈézzÉÖµÄàAÒ ÍÊm³êé±Æð]ñŢܷB All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. SÄÌ|óAh¶IÈì¨A é¢Í¢¸ê©Ì Linux HOWTO ¶Ìàe ðæèüêÄWIÈì¨Í±Ì copyright ̺ÅÛì³êéKvª è Ü·BÂÜèA¢¸ê©Ì HOWTO ðàÆɵ½ì¨ðìÁÄà»ÌzzÉ §ÀðÇÁµÄÍ¢¯Ü¹ñB éð̺ÅÍA±êçÌK¥ÉηéáO ªFßçêéêª èÜ·BºLÌAhXÌ Linux HOWTO ÌR[fBl [^[ÉAðæÁľ³¢B In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. v·éÉA½¿ÍÂ\ÈÀè½ÌoHðʶıÌîñÌyð£i·é ±Æð]ñŢܷBµ©µA½¿Í HOWTO ̶Ìì ðÛ·é± Æà]ñŢܷµAܽ»êç HOWTO ̶ðÄzz·éÇñÈvæ ཿÉmç¹Ä¢½¾¯êÎKrÉv¢Ü·B If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at <mailto:linux-howto@sunsite.unc.edu> via email. ^⪠êÎALinux HOWTO ÌR[fBl[^Å é Tim Bynum <mailto:linux-howto@sunsite.unc.edu> ÜÅ e-mail ÅAµÄ¾³¢B 14.2. Disclaimer This work was written following the experience we had at the Settore di Geofisica of the Universita' di Bologna (Italy), where a VAX 4000 has been superseded and replaced by Linux-based Pentium PCs. Most of my colleagues are VMS users, and some of them have switched to Linux. ±ÌdÍASettore di Geofisica of the Universita' di Bologna (Italy) ɨ¢Ä VAX 4000 ð Linux x[XÌ Pentium PC Év[Xµ½o±É îâĢ½àÌÅ·B̯»ÌÙÆñÇÍ VMS [UÅA»Ì¤¿Ì lª Linux É]üµÜµ½B ``From VMS to Linux HOWTO'' was written by Guido Gonzato, <mailto:guido ``at'' ibogeo.df.unibo.it>, and Mike Miller, <mailto:miller5@uiuc.edu> who contributed the section on reading VMS tapes. Many thanks to my colleagues and friends who helped me define the needs and habits of the average VMS user, especially to Dr. Warner Marzocchi. u From VMS to Linux HOWTO vÍ Guido Gonzato <mailto:guido@ibogeo.df.unibo.it> ÆAMike Miller <mailto:miller5@uiuc.edu> (ÞÍ VMS Ìe[vðÇÞÉÍ ÌÍÅñ^µÜ µ½)Éæè©ê½àÌÅ·B̯»Å èFlÌ Dr. Warner Marzocchi ɽåÈé´ÓÌOðù°½¢BÞͽÏIÈ VMS [UªßÄ¢éàÌ âAâÁĵܢª¿È±ÆÉ¢ÄÉAhoCXµÄêܵ½B Please help me improve this HOWTO. I'm not a VMS expert and never will be, so your suggestions and bug reports are more than welcome. ±Ì HOWTO ðüP·éè¯ðµÄ¾³¢BÍ ¡ãÆà VMS ÌGLX p[gÅÍÈ¢ÌÅA ȽÌñÄâoO|[gð½}µÜ·B Enjoy, Guido =8-) 14.3. ú{êÅÓ« |óÉ ½ÁĺLÌF³ñ©çAhoCXâRg𢽾«Üµ½BÇ ¤à èªÆ¤²´¢Üµ½B ²ìr³ñ ²¡ºê³ñ JçG³ñ äLõ³ñ é³½³ñ Rè@gg³ñ Akihiro Koda³ñ åXÛp³ñ eJ½³ñ C³ñ