<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    KevinGong

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      15 Posts :: 1 Stories :: 9 Comments :: 0 Trackbacks

    2006年10月29日 #

    /*
    ?* 簡單的讀/寫文本文件的示例
    ?* 這里包含了三個例子,即
    ?* 1. 將文件讀入到內存(這里是StringBuffer)的例子
    ?* 2. 將內容中的文本寫到文件
    ?* 3. 將一個文件的內容讀出來寫入另一個文件中
    ?*??? 同時也展示了如果從輸入流中讀出來內容寫入輸出流中(僅限文本流)
    ?* 三個例子可以獨立存在,所以根據需要只看其中一個就行了。
    ?*/

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.PrintStream;
    import java.io.PrintWriter;

    public final class AccessTextFile {

    ??? /**
    ???? * 1. 演示將流中的文本讀入一個 StringBuffer 中
    ???? * @throws IOException
    ???? */
    ??? public void readToBuffer(StringBuffer buffer, InputStream is)
    ??????? throws IOException {
    ??????? String line;??????? // 用來保存每行讀取的內容
    ??????? BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    ??????? line = reader.readLine();?????? // 讀取第一行
    ??????? while (line != null) {????????? // 如果 line 為空說明讀完了
    ??????????? buffer.append(line);??????? // 將讀到的內容添加到 buffer 中
    ??????????? buffer.append("\n");??????? // 添加換行符
    ??????????? line = reader.readLine();?? // 讀取下一行
    ??????? }
    ??? }

    ??? /**
    ???? * 2. 演示將 StringBuffer 中的內容讀出到流中
    ???? */
    ??? public void writeFromBuffer(StringBuffer buffer, OutputStream os) {
    ??????? // 用 PrintStream 可以方便的把內容輸出到輸出流中
    ??????? // 其對象的用法和 System.out 一樣
    ??????? // (System.out 本身就是 PrintStream 對象)
    ??????? PrintStream ps = new PrintStream(os);??
    ??????? ps.print(buffer.toString());
    ??? }

    ??? /**
    ???? * 3*. 從輸入流中拷貝內容到輸入流中
    ???? * @throws IOException
    ???? */
    ??? public void copyStream(InputStream is, OutputStream os) throws IOException {
    ??????? // 這個讀過過程可以參閱 readToBuffer 中的注釋
    ??????? String line;
    ??????? BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    ??????? PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
    ??????? line = reader.readLine();
    ??????? while (line != null) {
    ??????????? writer.println(line);
    ??????????? line = reader.readLine();
    ??????? }
    ??????? writer.flush();???? // 最后確定要把輸出流中的東西都寫出去了
    ??????????????????????????? // 這里不關閉 writer 是因為 os 是從外面傳進來的
    ??????????????????????????? // 既然不是從這里打開的,也就不從這里關閉
    ??????????????????????????? // 如果關閉的 writer,封裝在里面的 os 也就被關了
    ??? }

    ??? /**
    ???? * 3. 調用 copyStream(InputStream, OutputStream) 方法拷貝文本文件
    ???? */
    ??? public void copyTextFile(String inFilename, String outFilename)
    ??????? throws IOException {
    ??????? // 先根據輸入/輸出文件生成相應的輸入/輸出流
    ??????? InputStream is = new FileInputStream(inFilename);
    ??????? OutputStream os = new FileOutputStream(outFilename);
    ??????? copyStream(is, os);???? // 用 copyStream 拷貝內容
    ??????? is.close(); // is 是在這里打開的,所以需要關閉
    ??????? os.close(); // os 是在這里打開的,所以需要關閉
    ??? }

    ??? public static void main(String[] args) throws IOException {
    ??????? int sw = 1;???? // 三種測試的選擇開關
    ??????? AccessTextFile test = new AccessTextFile();
    ???????
    ??????? switch (sw) {
    ??????? case 1: // 測試讀
    ??????? {
    ??????????? InputStream is = new FileInputStream("E:\\test.txt");
    ??????????? StringBuffer buffer = new StringBuffer();
    ??????????? test.readToBuffer(buffer, is);
    ??????????? System.out.println(buffer);???? // 將讀到 buffer 中的內容寫出來
    ??????????? is.close();
    ??????????? break;
    ??????? }
    ??????? case 2: // 測試寫
    ??????? {
    ??????????? StringBuffer buffer = new StringBuffer("Only a test\n");
    ??????????? test.writeFromBuffer(buffer, System.out);
    ??????????? break;
    ??????? }
    ??????? case 3: // 測試拷貝
    ??????? {
    ??????????? test.copyTextFile("E:\\test.txt", "E:\\r.txt");
    ??????? }
    ??????????? break;
    ??????? }
    ??? }

    }

    posted @ 2007-02-03 21:58 KevinGong 閱讀(31691) | 評論 (0)編輯 收藏

    這一章我主要介紹X系統用的主要配置文件XF86Config-4,我采用了對照的方法介紹,一邊貼出我的XF86Config-4文件,一邊介紹具體的內容。這篇文章對于大家沒有什么立桿見影的幫助,不果可以讓你對于X的只是有一個基本的了解。

    XF86Config-4文件是X系統的主要配置文件。在Redhat 8以前版本中都叫做XF86Config-4這個名字,Redhat 8已經不再叫做這個名字。

    編輯這個文件需要小心謹慎一點,因為一點錯誤,你的X將不能啟動。不果沒關系啦,改回來就是了學習Linux最好的辦法當然還是求助于男人(man),大家有什么問題盡管看看man的幫助就是了。如果你要刪除文件中的內容,最好不要直接的刪除,而應該在前面加上#符號把它變成注釋。

    在Redhat 8以前的版本中,X的配置工具是Xconfigurator,在Debian中X的配種方法是:
    dpkg-reconfigure xserver-xfree86
    當然你都得用root的身份來運行。

    在/usr/share/doc/xfree86-common/FAQ.gz文件中你可以看到具體的技巧。


    第一段是Files段,這個部分用來配置X系統說能夠使用的字體,每一行都代表一個目錄,保存了具體的字體和字體的配置信息。
    代碼:

    Section "Files"
    ? ?? ???FontPath? ?? ???"/usr/X11R6/lib/X11/fonts/xp"
    ? ?FontPath? ?? ???"/usr/X11R6/lib/X11/fonts/XChinese"
    ? ?FontPath? ?"unix/:7100"? ?? ?? ?# 這是本地字體服務器
    ? ?# 如果本地字體服務器出了問題,我們可以使用下面的配置
    ? ?FontPath? ?"/usr/lib/X11/fonts/misc"
    ? ?FontPath? ?"/usr/lib/X11/fonts/cyrillic"
    ? ?FontPath? ?"/usr/lib/X11/fonts/100dpi/:unscaled"
    ? ?FontPath? ?"/usr/lib/X11/fonts/75dpi/:unscaled"
    ? ?FontPath? ?"/usr/lib/X11/fonts/Type1"
    ? ?FontPath? ?"/usr/lib/X11/fonts/Speedo"
    ? ?FontPath? ?"/usr/lib/X11/fonts/100dpi"? ?#這兩個字體是每一個X
    ? ?FontPath? ?"/usr/lib/X11/fonts/75dpi"? ?#系統都必需安裝的英文字體
    EndSection

    下面的是模塊段,用來配置X系統加載的模塊。
    代碼:

    Section "Module"
    ? ?Load? ?"xtt"? ?? ?#gtk1使用的字體引擎,效果好,速度稍慢
    ? ?Load? ?"GLcore"? ?#如果你是用的是Nvidia的顯卡,似乎一定要注消掉這一行
    ? ?Load? ?"bitmap"
    ? ?Load? ?"dbe"
    ? ?Load? ?"ddc"
    ? ?Load? ?"dri"
    ? ?Load? ?"extmod"
    #? ?Load? ?"freetype"? ?#如果你使用了xtt模塊,那么freetype模塊就需要注消掉
    ? ?Load? ?"glx"
    ? ?Load? ?"int10"
    ? ?Load? ?"record"
    ? ?Load? ?"speedo"
    ? ?Load? ?"type1"
    ? ?Load? ?"vbe"
    EndSection


    下面的段是用來配置你的鍵盤的,屬于“輸入設備”
    代碼:

    Section "InputDevice"
    ? ?Identifier? ?"Generic Keyboard"? ?#這是你的鍵盤的名字,隨便你啦
    ? ?Driver? ?? ?"keyboard"? ?? ?#鍵盤的驅動…哇,鍵盤也有驅動
    ? ?Option? ?? ?"CoreKeyboard"? ?? ?#如果你有多個鍵盤,那么你需要在這里指定哪一個鍵盤是主要的鍵盤
    ? ?Option? ?? ?"XkbRules"? ?"xfree86"
    ? ?Option? ?? ?"XkbModel"? ?"pc104"? ?#鍵盤的分布格式,一般來說
    ? ?Option? ?? ?"XkbLayout"? ?"us"? ?#美國104鍵盤是大家通用的。
    EndSection


    這里配置你的鼠標,當然你可以配置兩個鼠標,如果你有的話
    代碼:

    Section "InputDevice"
    ? ?Identifier? ?"Configured Mouse"? ?#鼠標的名字
    ? ?Driver? ?? ?"mouse"? ?? ?? ?#鼠標的驅動
    ? ?Option? ?? ?"CorePointer"? ?? ?
    ? ?Option? ?? ?"Device"? ?? ?"/dev/input/mice"
    ? ?#注意,這里很重要,這是鼠標的設備文件
    ? ?#我的鼠標是光電鼠標,用的USB接口,對應的鼠標文件是/dev/input/mice
    ? ?#如果你的鼠標是普通的滾輪鼠標,用的是PS2接口,那么你應該使用
    ? ?#/dev/mouse或者/dev/psaux或者/dev/ttys0這個設備
    ? ?Option? ?? ?"rotocol"? ?? ?"ImPS/2"
    ? ?#這是鼠標的類型,如果不是是滾輪鼠標,那么使用PS/2
    ? ?Option? ?? ?"Emulate3Buttons"? ?"true"
    ? ?#在Linux系統中,鼠標的第三個鍵非常有用,
    ? ?#如果你的鼠標沒有第三個鍵,那么我們應該允許使用雙鍵同時點擊來模擬
    ? ?Option? ?? ?"ZAxisMapping"? ?? ?"4 5"
    EndSection


    下面的設備是顯卡,這是最頭痛的設備了,如果你的顯卡太新潮,很有可能不能支持哦。Nvidia的GForce2顯卡就必需自己編譯顯卡的驅動程序才能使用
    代碼:

    Section "Device"
    ? ?Identifier? ?"Generic Video Card"
    ? ?Driver? ?? ?"ati"? ?? ?#如果你是Nivida的顯卡,這里應該是"nvidia"
    EndSection



    這個設備是顯示器。
    代碼:

    Section "Monitor"
    ? ?Identifier? ?"Generic Monitor"? ?#顯示器的名字
    ? ?HorizSync? ?30-60? ?? ?? ?#顯示器的頻率,一半來說你的顯示器
    ? ?VertRefresh? ?50-75? ?? ?? ?#應該可以達到我的這個水平
    ? ?? ?? ?? ?? ?? ?#因為我的顯示器是15"的老顯示器了
    ? ?? ?? ?? ?? ?? ?#大家的電腦都比我的好吧?
    ? ?Option? ?? ?"DPMS"
    EndSection


    下面是綜合以上你的配置的設備的各種顯示效果
    代碼:

    Section "Screen"
    ? ?Identifier? ?"Default Screen"? ?#效果的名字
    ? ?Device? ?? ?"Generic Video Card"? ?#你可以指定你的顯卡的名字
    ? ?Monitor? ?? ?"Generic Monitor"? ?#指定你的顯示器的名字
    ? ?DefaultDepth? ?24? ?? ?? ?#默認的顏色深度
    ? ?SubSection "Display"
    ? ?? ?Depth? ?? ?1
    ? ?? ?Modes? ?? ?"1024x768"
    ? ?EndSubSection
    ? ?SubSection "Display"
    ? ?? ?Depth? ?? ?4
    ? ?? ?Modes? ?? ?"1024x768"
    ? ?EndSubSection
    ? ?SubSection "Display"
    ? ?? ?Depth? ?? ?8
    ? ?? ?Modes? ?? ?"1024x768"
    ? ?EndSubSection
    ? ?SubSection "Display"
    ? ?? ?Depth? ?? ?16
    ? ?? ?Modes? ?? ?"1024x768"? ?#在這里你可以指定掃描頻率例如
    ? ?? ?? ?? ?? ?? ?#"1024x768 @ 85"就是用85mhz的頻率
    ? ?EndSubSection
    ? ?SubSection "Display"
    ? ?? ?Depth? ?? ?24
    ? ?? ?Modes? ?? ?"1024x768"
    ? ?EndSubSection
    EndSection



    最終你必需定義下面的段用來告訴X服務器你使用的配置
    代碼:

    Section "ServerLayout"
    ? ?Identifier? ?"Default Layout"? ?#剛才我們給我們的配置取的名字
    ? ?Screen? ?? ?"Default Screen"? ?#給我們的效果取的名字
    ? ?InputDevice? ?"Generic Keyboard"? ?#我們的鍵盤的名字
    ? ?InputDevice? ?"Configured Mouse"? ?#我們的鼠標的名字
    ? ?? ?? ?? ?? ?#這些名字一定要在前面的配置中已經定義
    EndSection

    Section "DRI"
    ? ?Mode? ?0666
    EndSection



    一般來說我們X啟動時候會遇到的問題是:
    1:no screen found
    這有可能是你沒有正確的定義所需要的效果,也有可能是你的其他部分定義出錯倒置你的效果不能實現
    2:xtt和freetype的沖突,注消一個就可以了
    3:驅動沒有找到,如果你的顯卡非常的新潮,那么多半是這個錯誤了,編譯你的驅動吧…

    posted @ 2006-10-29 14:26 KevinGong 閱讀(277) | 評論 (0)編輯 收藏

    現在請輸入你的用戶名和密碼,當然,我們輸入root,這樣獲得一切管理權限!

    你一定非常希望立刻看到那些非常漂亮的圖形界面,但是也許我要讓你失望了。我建議在沒有使用圖形界面以前,首先熟練的掌握基本的Linux命令,這樣才是一個真正的Linuxer。從哪里開始呢?

    1. ls 列出文件和目錄的命令

    你一定很想知道你的電腦里面有哪些東西,現在執行命令ls,啊,怎么什么都沒有?當然啦,這是你第一次登錄到這個系統,你的默認位置是你的個人目錄,而不是系統根目錄。你還沒有在這個目錄里面存放任何的個人文件,當然什么都沒有啦。如果你是用root用戶登錄的話,你的個人目錄就是/root目錄;如果你是用普通用戶登錄,比如叫做kris,那么kris的個人目錄是/kris。前面的/是什么意思呢?就是“根”的意思,就是最前面的那個目錄,在根目錄下面建立有很多的子目錄,我們在第一章已經討論過了。

    ls命令有很多的選項,常用的是:

    -A 選項用來列出所有的文件,包括那些隱藏的文件。為什么我們要隱藏文件呢?道理和你為什么要把情書藏起來不讓爸媽發現是一樣的。就是為了保密啊。現在執行ls -A看看?是不是有一個隱藏文件“.bashrc”被顯示出來啦?聰明的你一定奇怪的發現這個文件名前面有一個點,對!記住,只要文件名前面第一個字符是一個“.”,這個文件就是隱藏文件。一個目錄名前面的第一個字符如果是“.”這個目錄就是隱藏目錄。
    -l 這個選項用來顯示一個列表,包含了這個目錄下面所有的文件的絕大部分屬性的列表。你可以每個文件的大小,所有者,你的權限還有修改日期等等。
    -R R的意思就是recursive遞歸,明顯這個選項讓系統顯示出這個目錄下面的所有文件以外,還要顯示出所有子目錄下面的文件。也就是把我們那一大堆水果全部抖出來。
    --color 這個選項特別有用,我估計大家的顯示器都是彩顯吧,什么?你的顯示器還是黑白的?天哪!既然是彩顯,那么我們可以讓ls命令用不同的眼色代表不同的文件類型。比如可執行文件用綠色,普通文件是白色,目錄是藍色。也許你會問,目錄也是文件嗎?對的,在Linux里面一切都是文件,所有的硬件設備都用一個文件來代替,比如你的軟驅,就是用/dev/fd0來代替的。目錄也是一個文件。
    --help 這個選項幾乎是每一個Linux命令都有的,用來顯示出該命令的幫助信息。

    2. cd 和 mkdir 以及 rm 改變當然所在目錄,建立新目錄以及刪除目錄命令

    趁熱打鐵的,剛才說了目錄,我們每一次登錄都有一個默認目錄就是我們的個人用戶目錄。我們怎么才能到其他的目錄去呢?cd就是用來改變當前所在的目錄的。前面我們說過,“/”代表根目錄,那么執行cd /就可以進入根目錄。不試一下嗎?
    讓我們看看根目錄下面有哪些文件和子目錄吧,執行ls,我們發現,根目錄下面有一個目錄名子特別變態,叫做usr,進去看看,cd usr,看看這里面有什么?你會發現一個更psycho(變態)的目錄叫做src,進入src目錄看看?沒什么好玩的。那么我們現在回到剛才的usr目錄,怎么做?是不是cd usr?執行試一下,好像不行,系統報告出錯 cd: usr: No such file or directory。這是怎么搞的?問題在于我們現在所在的目錄是/usr/src下,我們執行cd usr的意思是進入/usr/src/usr目錄而不是/usr目錄。正確的方法是cd /usr。
    就好比你在中華美食的籮筐里面看到一個四川的籮筐,里面有一個成都的小籮筐,現在你進入以后發現成都的小籮筐里面有一種叫做“麻辣燙”的很辣的食品。你大飽口福以后想要吃一些甜點,于是準備去福州。你能站在成都的籮筐里面去福州嗎?當然不行,福州并不在成都的籮筐里面啊,你應該進入“/中華美食/福州”而不是“/中華美食/四川/成都/福州”對不對?
    好的,一個問題出現了,難道我每一次進入一個目錄,都要用/usr/src...這么復雜的方式來表示嗎?不一定。我們用“..”的方式來表示上一層目錄。如果你現在在/usr/src目錄下,進入/usr目錄有兩種辦法:cd /usr和cd ..他們是一樣的。

    怎樣才能知道我現在在哪個目錄?用命令pwd,這個命令沒有什么好說的,執行一次就知道了。

    現在我想在我自己的個人目錄里面建立一個目錄叫做LoveLetter。我應該首先回到我自己的目錄,這里有一個簡單的方法,就是直接運行cd不帶任何參數,這樣就可以回到自己的目錄,當然也可以cd /root或者cd /home/kris,看你是用什么用戶登錄的。
    進入我自己的目錄以后,建立新目錄的命令是
    mkdir 新目錄名
    我執行 mkdir LoveLetter 就可以建立一個新的叫做LoveLetter的目錄。進入這個目錄看看?什么都沒有。不著急,慢慢來。我都不著急你急什么?
    突然我想起這臺電腦我的爸媽也要使用,他們看到我的情書目錄怎么辦?你忘了剛才我說的可以用加一個點“.”在前面的方法來隱藏目錄和文件的?我們可以改變這個目錄的名字,但是這個命令我準備等會兒講,現在我們用一個很無聊的辦法來完成這個要求。這個辦法就是刪掉剛才建立的oveLetter目錄在新建一個.LoveLetter目錄,之所以說這個辦法很無聊,是因為我們現在是在做實驗,如果來真的,你原意刪掉你的情書嗎?是不是另有新歡啦?哈哈。

    刪除目錄的命令其實也可以刪除文件,就是rm。
    rm 待刪除的文件名/目錄名
    我記得Redhat會提示你是不是真的要刪除。按y就是確定,按n就是取消。如果Redhat沒有提示你,那么等會請根據我說的方法修改一下系統讓它提示咱們。免得以后心痛。刪除一個文件很簡單。麻煩的是刪除一個目錄,如果一個目錄里面已經有文件,rm是不讓直接刪除的,你必需先把目錄里面的所有文件刪除,再刪除目錄。但是有一個參數可以改變一下,就是 -rf ,這個參數有一定的危險性,因為即使系統本來要提醒一下是不是真的刪除目錄,加上這個參數也不會有提示了。執行rm 目錄 -rf會在一眨眼的時間里面讓你的資料下課!
    那么我現在就刪除LoveLetter目錄了:rm LoveLetter -rf
    建立一個新的目錄mkdir .LoveLetter
    現在ls看看,是不是看不到LoveLetter目錄了?但是ls -A還是能看到的。所以這種隱藏方式只能偏偏自己,真正讓你的文件安全的方式還是以后再講吧。

    3. mv 改變文件名和目錄名的命令
    cp 復制文件和目錄命令
    man 命令使用方法參考工具

    mv 老文件名 新文件名
    mv 老目錄名 新目錄名
    就可以改變文件或者目錄的名字。
    我現在想要把剛才的這個目錄.LoveLetter改名回去,因為這種無聊的隱藏方式很變態,我們有更高級的方法來做這樣一件事情:就是不要告訴爸媽你的密碼!!!
    mv .LoveLetter LoveLetter

    cp命令用來把一個文件復制成為一個新的文件,

    cp 老文件名 新文件名

    這個老文件明和新文件名如果在同一個目錄下面,那么當然需要名字不一樣,很簡單的道理,如果文件名一樣何必建立兩個文件?如果新老文件在不同的目錄,我們就可以讓它們有相同的名子。下面的例子說明了這一點:

    cp LoveLetter LoveLetter_yesterday 新的文件LoveLetter_yesterday和舊的LoveLetter在同一個目錄,所以名子不一樣。
    cp LoveLetter /home/LoveLetter 新的文件在/home目錄下面,但是舊的文件LoveLetter在某一個用戶的個人目錄下面,當然兩者名子可以相同。

    cp命令也可以復制整個目錄,但是現在我們暫時不講這么復雜。其實cp還有rm以及ls這些命令不僅是整個Linux的基本命令,更包含了非常多的功能。如果大家有興趣,可以使用man

    man 命令名字

    比如man ls,這樣就可以看到所有ls命令和參數的詳悉解釋,尤其是一部分常用的命令的man幫助已經由志愿者翻譯了,大家看起來更容易。

    一點幽默

    好了,說了好多東西了,我想休息一下,給大家說一個有趣的事情,我們說了好多命令和目錄的名子,你們是不是覺得有點奇怪。說實在話,我第一次看到usr這個目錄時也不知道是什么意思,后來才發現以下對應關系:
    usr ->; user
    ls ->; list
    mkdir ->; make dir
    rm ->; remove
    src ->; source
    mv ->; move
    cp ->; copy

    是不是很有趣,在UNIX世界,包括Linux世界,人們的想象力就是這么無敵!簡寫居然能簡寫成這樣子。大家一般的想法是取一個單詞的前三個或者前四個字母作為簡寫,可是UNIX的牛人就是喜歡把move簡寫成為mv,真不知道他們怎么想的。大家一起捉摸吧

    4. nano 和 vi編輯文件的命令 和 cat 以及 more顯示文本文件

    nano是一個小巧自由,并且友好的編輯器,我認為nano更適合初學Linux的朋友使用。我們現在只學習怎樣編輯一個文件以及怎樣保存。

    nano 文件名

    如果你寫的文件名已經存在,那么就打開并且編輯,否則就建立一個新的文件。編輯的方法還用說嗎?呵呵,當你想要退出的時候,按ctrl+x,nano會問你是不是保存編輯的文件。按Y就是保存,按N就不保存。

    nano最大好處在于用戶可以不用記憶太多的操作鍵,大部分常用的功能的操作方法都在屏幕下放列出了。新手需要注意的是“^X”就是按住ctrl鍵不放再按X的意思。

    下面簡單的介紹vi。vi是一個非常強大的編輯軟件。它太龐大了,足夠寫一本書專門來講解。我們這里從使用的角度出發,講一下vi的用法。
    vi有兩種模式,一種是命令模式,一種是編輯模式。進入vi以后,默認處于命令模式。

    現在我們執行vi LoveLetter。進入以后,按一下鍵盤上的Insert功能鍵或者i鍵可以進入編輯狀態,可以插入字符,再按一下Insert變成復蓋模式,這兩種模式的區別很容易體現,大家嘗試一下就可以了。上下左右四個方向鍵可以移動光標。基本的編輯命令和Windows里面沒有區別。是不是很容易呢?當你把需要的內容輸入完成以后,我們要保存,這時候按一下ESC鍵從編輯模式回到命令模式,首先輸入一個冒號“:”,也就是按住SHIFT鍵不放再按分號“;”這樣首先輸入一個“:”,然后,輸入w,回車,就可以保存我們編輯的內容到LoveLetter文件。現在我們按一下Insert就可以繼續編輯。再按ESC,輸入“:”,再按w又可以保存。可是現在我們不需要保存,我們想要不保存就退出,怎么做呢?當我們輸入w的時候是write的意思,保存,那么我們輸入q就是quit退出的意思。好,輸入q,回車,vi提示我們剛才進行的修改還沒有保存,所以記住!一旦需要放棄我們的修改,不能直接用q命令退出,而需要用“q!”命令。輸入q!,好了,退出了。
    我們想看看我們剛才編輯的LoveLetter是不是真的保存好了,再vi LoveLetter,ok,看到了吧?現在我們想要直接退出,就可以只輸入“:q”就可以了,不用輸入那個“!”因為我們沒有修改文件內容。如果我們修改一下這篇文章,我們在退出的時候可以輸入“ESC : wq”就可以了。不需要把w和q分成兩次輸入。

    vi的最最基本用法說到這里差不多了,要是你還想多了解一些vi的知識,在進入vi以后直接按F1就可以了,有詳悉的幫助和教學。

    其實剛才我們想要看一下編輯的LoveLetter是不是保存好了,不用再vi進去的,只需要用命令

    cat LoveLetter

    就可以了。cat就是用來顯示文本文件內容的命令。如果我們的文本文件很長,一個屏幕顯示不完,cat是不會自動分頁的。我們可以換用命令

    more LoveLetter

    more命令顯示文本文件時,如果內容過多,會自動的在每一頁結束時暫停下來,等到用戶按一下空格鍵再繼續。

    5. 最重要的命令:halt reboot 關機和重新啟動命令

    在Linux里面,不能夠直接用電源按鈕關機,也不能直接用reset按鈕重新啟動,這對系統,尤其是硬盤有比較大的影響。關機命令是halt,重啟動命令是reboot。其實還有shutdown命令完成類似功能,需要的話,請用今天學會的man命令學習使用。
    posted @ 2006-10-29 14:17 KevinGong 閱讀(435) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 两个人日本WWW免费版 | 亚洲一级毛片免费看| 中文字幕亚洲第一| 一日本道a高清免费播放| 亚洲精品久久久www| 免费无码国产V片在线观看| 全黄性性激高免费视频| 特色特黄a毛片高清免费观看| 一本久到久久亚洲综合| 国产日韩精品无码区免费专区国产 | 国产亚洲精久久久久久无码AV| xxxxx做受大片视频免费| 亚洲熟妇av一区二区三区 | 91亚洲国产成人久久精品网址| 精品成在人线AV无码免费看 | 91在线视频免费观看| 无人在线直播免费观看| 亚洲Av无码乱码在线观看性色| 国内成人精品亚洲日本语音 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产精品亚洲艾草网| 182tv免费观看在线视频 | 特级毛片A级毛片免费播放| 中文字幕亚洲乱码熟女一区二区| 91福利免费网站在线观看| 精品日韩亚洲AV无码| 毛片免费视频播放| 美女黄频免费网站| 亚洲国产精品特色大片观看完整版| 亚洲黄色免费电影| 国产综合激情在线亚洲第一页 | 国产a v无码专区亚洲av| 日本免费一区二区久久人人澡 | 午夜亚洲av永久无码精品| 无码囯产精品一区二区免费 | 永久久久免费浮力影院| 国产特黄特色的大片观看免费视频| 亚洲大片在线观看| 国产精品久久免费视频| a成人毛片免费观看| 亚洲欧美成aⅴ人在线观看|