大概在 1999~2000 年期間為了防止自己忘記所作的學習心得紀錄!
1999 年初次接觸 Unix 系統,1999 年底接觸 Red Hat 6.1,而在 2000 開始撰寫一些心得文章,於是有了底下這些文字的產生。 這些文字對大家來說,可能沒什麼,但是對鳥哥來說,這是相當珍貴的!所有鳥站的資料起源,都是從這些文字開始的! 慢慢再將許多的指令分門別類的處理進去!網站的資料彙整,真的相當花費時間啊~
不過對於學習者來說,這些資料真的不要再讀了!因為實在太老舊... 建議您前往本站查詢最新版本的 Linux distribution 文章來閱讀,比較不會浪費時間。最新文章請前往鳥站首頁查閱囉!
要管理好 Linux 系統﹐少不了要對設定檔案進行編輯,如果您用慣了 Microsoft Word 或 Corel Wordperfect 的話,除了 Xwindows 裡面的編輯程式(如 xemacs )用起來尚可應付外,於 Linux 的文字模式下,會覺得檔案編輯程式都沒有 Windows 程式那麼方便。雖然 Linux 下面也有好多種文書編輯器,例如﹕ed、vi、pico、joe、emacs等。以下我們以最常見到的 vi 這套文書軟體來介紹 Linux 底下的文書編輯動作。
基本上 vi 共分為兩種模式,一種是『編輯模式』,一種被稱為『命令模式』,其中,在命令模式中尚包含『命令列模式』的情況。『編輯』與『命令』這兩種模式的切換動作是以 『Esc』來達成的。通常,檔案一開啟或者新建檔時,會成為命令模式,如果要在檔案中輸入字元,就必需以小寫的 i 來進入編輯模式,進入編輯模式後你輸入的咚咚才會顯示出來!那由『編輯模式』要變成『命令模式』時,就直接按『Esc』即可。而若要進入『命令列模式』時,就必須要在命令模式中輸入『:』(冒號),那游標就會跑到螢幕的最下面一行來等待你輸入啦!
新建檔案:
好了,我們在 Linux 底下建立一個名為 test.dat 的檔案,可以這樣開啟一個新檔案:
[root@tsai root]# vi test.dat 進入編輯模式:
一進入 vi 的畫面你會看到一片空白(烏漆嘛黑的),而且即會進入命令模式,你可以輸入 i 來進入編輯模式,這時候你會看到螢幕的最下方會出現『--INSERT--』字樣:開始編輯:
這時候你就可以隨便按幾個字來輸入一下,在這裡要提醒一下,『Tab』鍵與空白鍵是不一樣的咚咚喔!回到命令模式:
在編輯模式的時候,不論你按什麼鍵(除了 Esc 之外)都會被視為字元而顯示在螢幕上,這時按下 Esc 鍵後會回到命令模式,如果你會到了命令模式,但是要消除你目前游標所在行的內容,你可以輸入『dd』,就可以殺掉一整列了!在命令列模式輸入儲存指令:
OK,我們要存檔了,存檔並離開的指令很簡單,輸入『:wq』即可存檔離開!這時你在提示字元後面輸入『 ls -l 』即可看到我們剛剛建立的 test.dat 檔案啦!
如前所述,所謂的命令列或命令模式,就是在最下面一行沒有顯示『--INSERT--』或者『--REPLACE--』字樣的時候。通常在命令列中的指令有下面幾種:(注意,當按下 『:』 時,游標會自動移動到螢幕的最下面一行!)
進入編輯模式: i 插入:在目前的游標所在處插入輸入之文字,已存在的文字會向後退; a 增加:由目前游標所在的下一個字開始輸入,已存在的文字會向後退: o 插入新的一行:從游標所在的下一行枝行首開始輸入文字; r 取代:會取代游標所在的那一個字元; R 全部取代:會一直取代游標所在的文字,直到按下 ESC 為止; 游標移動指令: k 或向上鍵 向上移一個字元; j 或向下鍵 向下移一個字元; h 或向左鍵 向左移一個字元; l 或向右鍵 向右移一個字元; H 游標移動到螢幕頂端; M 游標移動到螢幕正中央; L 游標移動到螢幕最夏方; + 游標移動至非空白字元的下一列; - 游標移動至非空白字元的前一列; [Ctrl] + [b] 螢幕向『後』移動一頁; [Ctrl] + [f] 螢幕向『前』移動一頁; [Ctrl] + [u] 螢幕向『後』移動半頁; [Ctrl] + [d] 螢幕向『前』移動半頁; [n]<space> 先按數字後再按空白鍵:游標向後面移動 n 個字元; 0 數字鍵『0』:移動到這一列的第一個字元; $ 移動到這一行的行尾; G 移動到最後一行; nG 移動到第 n 行(常與 :set nu 合用); J 將目前游標所在行與下一行連結; 搜尋指令: /word 向游標之後尋找一個名為 『word』 的字串; ?word 向游標之前尋找一個名為 『word』 的字串; :g/word1/s//word2/g 尋找 『word1』 這個字串,並且以 『word2』 這個字串取代之; :n1,n2 s/word1/word2/g 將第 n1 行到 n2 行的字串 『word1』 都改成 『word2』; :1,$ s/ls/ll/g 將所有檔案內容的 『ls』 這個字串改成 『ll』 這個字串; 刪除與複製: yy 或 Y 複製游標所在行的內容; nyy 或 nY 『n』 為數字:複製游標所在行向下 n 行之內容; p 將 yy 複製的內容貼到游標所在行的下面; x 刪除一個字元; nx 『n』 為數字:刪除 n 個字元; dd 刪除游標所在那一行; ndd 『n』 為數字:向下刪除 n 行; u 取消前一個動作; [Ctrl] + [L] 清除螢幕並重繪螢幕 命令模式: :wq 將所做修改儲存後離開 vi; :w 僅儲存檔案; :w [filename] 將目前的內容儲存到 『filename』 這個檔案中(類似另存新檔); :r [filename] 將 『filename』 這個檔案內容加到游標所在行後面; :q 離開 vi; :q! 強制離開 vi ; 其他指令: :set nu 設定行號,讓你可以輕易的找出錯誤; :set nonu 取消設定行號; :n1, n2 w [filename] 將 n1 到 n2 的內容存成 『filename』 這個檔案; OK!會這些指令就已經很厲害了,因為常用到的指令也只有不到一半!通常 vi 的指令除了常用的幾個外,其他是不用背的,你可以做一張簡單的指令表在你的螢幕牆上,一有疑問可以馬上的查詢幽!