vi 編輯器的練習的說明 因為本課程的實習課是Unix 的工作環境。過去的經驗告訴我,如果你完全未用過Unix 的指令及其 vi 編輯器,你將很難跟上進度,希望學員一定要預先作練習。我們提供了Unix 指令的簡介,以及 vi 編輯器的介紹 ( 請参閱網站中的13&14-unix.pdf 為其講義;13-unix.exe、14-fortran.exe則為其課程錄影 ) 歡迎學員下載收看,並作適度之練習。建議學員在你的個人電腦的window 環境下,裝上 mobaxterm,學員便可以在個人電腦 Window 環境下,體驗 Unix 的指令及其vi編輯器的練習。附錄一介紹如何在 window 環境下安裝mobaxterm,附錄二則是 Unix 環境下的指令與vi 編輯器的簡介。 希望學員在上課前一定要在 mobaterm 練習建立INCAR, KPOINTS, POSCAR等三個檔案,此練習的目的是讓你熟習如何用vi建立檔案,不要到真正上課時才練習vi,結果不斷出錯,花了半的小時才打完一個INCAR的檔案,影响上課的進度。 所以沒有用過 vi 的學員,一定要事先練習,謝謝!
附錄一 : 如何在 window 環境下安裝mobaxterm 1. 在 Google 尋找字串 “ mobaxterm “ 2. 點選 Download http://mobaxterm.mobatek.net/download-home-edition.html
3. 點選下載 (Portable edition) 4. 開啟壓縮檔
5. 將執行檔抓至桌面 6. 點選並執行執行檔
點選 start local terminal 此時便可進入 MobaXterm 的 xterm 模式, 學員可以在此 xterm 練習 unix 的指令 vi 編輯器的練習
依照以下的程序,以vi 編輯器建立INCAR這個檔案。 Type : vi INCAR ( 如左圖所示) 此時進入一空白頁, Type : i 此時在此空白頁的下方會顯示 – INSERT - - 表示此時為 輸入模式 ( INSERT mode ) , 你可輸入你要的內容(字元)。 當你完成了所有的內容,請鍵入 位於左上方的 Esc 鍵。 此時下方的 - - INSERT - - 字串將消失, 表示現在是在執行命令模式 (COMMAND mode) , 你可輸入vi 編輯器中的任何執行命令,如附件的說明。
當完完成所有的內容,可輸入 :ZZ 再鍵入 Enter 鍵 便可完成INCAR。 請學員在参加課程前完成以下三個檔案之建立, 熟習以vi建立檔案,並練習 Unix 環境下的一些指令。 INCAR KPOINTS System = bcc W(100)-5 layers ISMEAR = 1 SIGMA = 0.2 RWIGS = 1.455 ISIF = 2 NSW = 50 IBRION = 2 10x10x10 Monkhorst 10 10 10 0 0 0 BCC_Fe_Bulk 2.83700000000000 -0.4840460445312441 0.4840460445312441 0.4840460445312441 0.4840460445312441 -0.4840460445312441 0.4840460445312441 0.4840460445312441 0.4840460445312441 -0.4840460445312441 1 Direct 0.0000000000000000 0.0000000000000000 0.0000000000000000 POSCAR
A-01 附錄二 Unix 環境下的指令 與 vi 編輯器的簡介
Login:guest account name Password:******(abcdef) password 進入Unix 世界 Login:guest account name Password:******(abcdef) password 由於這個帳號為共同測試帳號, 故請不要更改密碼。 更改密碼 % passwd 一些常用之指令 % pwd (顯示現在所在之目錄) /user/leung/lapw/cu % cd ../Fe (改變目錄) % ls *.f (列出所有 *.f 之 files) % ls - l (long list)
-rwxrwxrwx 1 users user 4564 Jun11 20:45 love A-03 % ls - l -rwxrwxrwx 1 users user 4564 Jun11 20:45 love dr--r----- 2 users user 547 Jun11 22:50 sub/ -rw-rw-r-- 1 users user 4135 Jun21 11:20 t1 u g o owner group 大小 時間 名稱 % chmod u+x filename 000 --- 1 001 --x 2 010 -w- 3 011 -wx 4 100 r-- 5 101 r-x 6 110 rw- 7 111 rwx % chmod 741 filename % ls-a (將隱藏檔案列出, eg .csrch .login) % ls-F (將可執行之檔後加*,目錄加/) love ppd* t1* sub/ test/
% rm filename (刪除filename) % mkdir dname % rmdir dname % rm filename (刪除filename) % mv filename1 filename2 (改名) % cp [-i p r ] filename target (複製) i:要確認 p:保留原時間 r:複製子目錄 % cat filename (>test) 列出filename之內容並將之放入test之中 % move filename 列出filename之內容,每一螢幕停一下
% tail –n filename (>>test) % head –n filename 將filename之前 n 行列出 % tail –n filename (>>test) 將filename之最後 n 行列出 (並附在 test 後) % grep –i string filename 從filename找出含string之行, 不計大小寫 % grep ‘total energy’ filename % find –name filename –print 尋找filename之所在,並列出其路徑
A-06 ?,*,[ ],{ } ls hw? hw2,hw3,hw4 ls hw?? hw11,hw12 ls hw* hw2,hw3,hw4,hw11,hw12 ls hw[2-11] hw2,hw3,hw4,hw11 ls hw{2,12} hw2,hw12 ls test[a-c] testa,testb,testc alias la ls-a ; alias ch1 ‘cd /usr/john ; ls-l’ alias rm ‘rm –i’; alias hm ‘history | more ’ alias Unalias ch1 unalias 欲看目前已有之別名定義,可鍵入alias
在 command mode 下,可執行之指令 : 編輯器vi % vi filename There are 2 modes in vi editor : (1) insert mode, (2) command mode insert mode (鍵入字元(內容)) i,a,o,I,A,O command mode (執行命令) ESC 在 command mode 下,可執行之指令 : h(), j( ), k( ), l() nG 到第n行 G 到最後一行 ^g 顯示游標所在之行數 ^f 視窗下移一螢幕 ^b 視窗上移一螢幕
A-08 x 刪除游標所在之字元 dd 刪除一行 ndd 刪除n行 u undo上一命令 p,P 貼回 /string 找字串 :q! quit :zz 存檔(原名) :w! filename 存檔為filename :set ic 忽略大小寫 :set nu 列出行數 :1,$ s/string1/string2/g 更改字串 :n1,n2 w! filename 將n1到n2行寫入 :r filename 讀入filename