Next Previous Contents

11. 如何尋找文件檔

XLinux包含有幾千頁的線上文件檔來幫助您學習如何使用系統. 線上輔助, 訊息文檔, 和文本文件提供了幾乎Linux每個方面的訊息. 如果您安裝了的話, XLinux 還包括 Linux Documentation Project提供的文件檔.

11.1 線上輔助

各種的線上輔助是很好學習Linux的工具, 以下是常用且方便的線上輔助工具:

  1. Man Pages 的使用

    您的系統上幾乎每條指令都有相關的'man page'. 在您有問題或困難時, 您可以立刻得到這個 文件檔. 例如, 如果您使用ls命令時遇到困難, 您可以輸入man ls得到幫助訊息. 這會顯示出 ls 的man page.

    由於man page是用less程序來看的(可以方便地使瑩幕上翻和下翻), 所以在man page裡可以 使用less的所有選項. 在less中比較重要的鍵有:

    【q】退出
    【Enter】一行行地下翻
    【Space】一頁頁地下翻
    【b】往上翻一頁
    【/】往後尋找一個字串和【Enter】來尋找字串
    【n】尋找上一次查尋的下一個符合的字串

    有時從紙張閱讀更方便. 假定您有一個印表機, 您也可以把man page列印出來.如果您沒有列印 Postscript的能力, 只想列印ASCII碼, 您可以用:

    man COMMAND | lpr

    如果您有postscript印表機, 您可以用:

    man -t COMMAND | lpr

    請把上面的'COMMAND'改為您想要得到幫助的指令.

    有時您將發現某些系統部件有不止一個man page. 下表顯示了man page分成的部份:

      代號(Section)    內容(Contents)?       中文說明?   
        1 user commands 使用者指令
        8 system commands 系統調適用指令
        2 system calls 系統呼叫
        3 library calls 函式庫呼叫
        4 devices 裝置
        5 file formats 檔案格式
        6 games? 遊戲
        7 miscellaneous 其它
        9 kernel internals 核心內部
        n Tcl/Tk commands Tcl/Tk指令
    Man Page 代號對應表

    這也是man page尋找的順序. 這個順序有時很重要, 例如:

    假定我們要看系統調適用指令swapon的man page. 因此, 您輸入man swapon. 實際上您會看到swapon(8) 的man page, 那是用來控制交換的指令. 從上表您可以看出您要的'系統調適用指令'在第2個部份. 你可以 輸入man 2 swapon. 這都是因為 man 是以上述的順序來尋找的, 也就是說swapon(8)在swapon(2) 之前.

    您還可以在man page中尋找你要的字串符號, 使用man -k string_to_search_for. 但是只有 建立了makewhatis資料庫, 才能使用上述指令. 在 XLinux, 這是由晚上的Cron Job做的. 如 果您的系統晚上不運行, 這個資料庫就不會建立. 這時您可以以root身份去執行以下指令:

    /etc/cron.weekly/makewhatis.cron

    一旦您完成了(注意那可能要花一些時間), 您可以輸入man -k swapon. 這條指令將輸出:

    # man -k swapon
    swapon, swapoff (2) - start/stop swapping to file/device
    swapon, swapoff (8) - enable/disable devices and files for \ paging and swapping

    您可以看到在第2和第8個部份中都有有關於swapon(在這個例子中還有swapoff)的man page.

    如何閱讀Man Page

    Man page在很少的空間裡提供了使用者很多的線上幫助. 因此, 它可能比較難閱讀. 這裡概述了大多數man page中都有的部分:

    1. Name -- 程序名. 如果一些程序密切相關的話, 可能放在一起.
    2. Synopsis -- 命令的格式, 顯示所有的選項和參數.
    3. Description -- 程序功能的描述.
    4. Options -- 所有選項的清單和他們的描述.
    5. See Also -- 如果有的話, 列出和這個程序相關的其他程序.
    6. Files -- 如果有的話, 列出這個程序使用或修改的文件.
    7. History -- 如果有的話, 列出這個程序開發的重要里程碑.
    8. Authors -- 寫這個程序的作者.

    如果您是Linux新手, 不要把man page當成教程; 它只是簡明的參考資料. 試圖用 man page來學習Linux就好像試圖用字典來學習英語. 如果您開始學習Linux, 還有許多其它的資源; 讓我們繼續尋找文檔...

    中文 Man Pages

    在 CLE-v0.7 以後的版本裡面,man 已經可以正確的處理中文, 使用者只要執行 "man man" 就可以看到中文說明, 所缺的只是大家一起貢獻心力來翻譯罷了, 這些 man page 的檔案都擺在 /usr/man/、/usr/X11R6/man/ 底下,也可以用 "man -w" 指令來查詢位置,例如我想知道 shutdown 的 man page 擺放位置,就可以:

    [wang@xlinux wang]$ man -w shutdown
    /usr/man/zh_TW.Big5/man8/shutdown.8
    [wang@xlinux wang]$
    

    所以 shutdown 的 man page 就是 /usr/man/zh_TW.Big5/man8/shutdown.8。

  2. 內包的文件檔 (DOC)

    許多套件都包有README文件和其他文件檔. 專為XLinux製作的內包的文件檔 定義了一個標準的地方存放那些文檔, 所以您不需要到處尋找它們. 每個包裝的文件檔都放在 /usr/doc下的一個子目錄中.

    子目錄名稱取決於套件的名稱和版本號. 例如zip套件可能是2.1版. 那麼, 它的文件檔就 放在/usr/doc/zip-2.1目錄.

    大多數情況, /usr/doc中的文檔是ASCII碼. 您可以用more filename 或者less filename來閱讀.

    有了這些文件檔事情就簡單了, 但是如果您想找一個指令(或文件), 可是又不 知道這個指令來自哪個套件, 怎麼辦? 沒關系! 例如, 如果您不知道 /usr/bin/rtin屬於哪個套件, 又想了解關於它的訊息. 只需輸入:

    rpm -qdf /usr/bin/rtin

    這條指令將從含有文件/usr/bin/rtin的套件那裡列出所有的文件檔(包括man page). 當然, RPM的能力還不止這些. 第8章將介紹RPM.

  3. HOWTO和FAQ

    如果您安裝了它們, Linux文檔計劃的大多數內容將在您的系統的/usr/doc 目錄中找到. 目錄/usr/doc/HOWTO包含了您的XLinux CD-ROM發行時所能找到的所有 HOWTO. 為了節約空間它們用gzip壓縮了, 所有您在閱讀之前必須解壓 縮. 有一種方法可以 閱讀壓縮的HOWTO, 不會讓解壓縮後的文件搞亂您的硬碟, 即使用 zless:

    zless 3Dfx-HOWTO.gz

    zless使用和less一樣的鍵, 所以您可以在HOWTO中容易地翻頁.

    /usr/doc/HOWTO/mini包含了所有的mini-HOWTOs. 它們沒有壓縮可以直接 用more 或 者 less來閱讀. /usr/doc/HOWTO/other-formats/html 包含了HTML格式的所有的HOWTO以及 Linux Installation and Getting Started. 使用您喜歡的瀏覽器來看. /usr/doc/FAQ 包含了ASCII格式(和部分HTML格式)的一些FAQ(常見問題). 可以用more 或者 less(或者瀏覽器)來閱讀.

  4. "locate"命令

    如果您不知道一個命令或文件的全名, 但想找到它, 您可以用locate命令來找到它. locate 是使用一個資料庫來發現您系統的所有文件. 通常這個資料庫是在晚上由一個 Cron Job建立的. 但如果您的電腦不是一直運行Linux, 您可以用以下命令:

    /etc/cron.daily/updatedb.cron

    執行完這個命令後必須重啟動系統, 才能使locate正常工作.

    例如: 如果您想找所有的'telnet'文件, 您可以執行:

    locate telnet

    它的輸出可能是:

    /usr/man/man1/telnet.1
    /usr/man/man8/in.telnetd.8
    /usr/man/man8/telnetd.8
    /usr/sbin/in.telnetd
    /usr/share/terminfo/t/tgtelnet

    注意locate不僅返回文件名, 而且返回目錄名. 所以, 如果您有一個 /home/abc/telnet/ 目錄, 它將返回這個目錄的所有文件.

  5. "find"命令

    Linux 的檔案結構如此的複雜,如果您突然需要修改某個檔案來更新您的 系統,在這茫茫的大海中,您要如何去找到該檔案呢?為了這個需求, 目前 Linux 上有三個常用指令可以達到這個功能,那就是每一種 UNIX 系統會一定有的『find』指令和『whereis』指令,至於『locate』這個指令則並非每一種 UNIX 系統都會安裝,不過在 Linux 上已經幫您安裝了, 詳細使用方法請參考本章節的第四點。 這三個搜尋指令當然以 find 最強大,因為它有以下的功能:

    1. 監視硬碟的功用
    2. 找出可能會對系統造成安全問題的檔案
    3. 重覆檔案處理工作,

    但是大多數的人平常並不喜歡它,因為它太操硬碟了。只要您試用過之 後,會發現當您用 find 指令時,您的硬碟會一直不停的呱呱叫,如果 使用 whereis 和 locate 則不會有這種情形,因為資料已經存在 DataBase File中。搜尋檔案時,您的硬碟並沒什麼動靜,您可以很安穩的就找到您想 找的檔案。所以平時如果您只想找單一個小檔案而已,就用locate或是 whereis,如果要進行系統管理的工作時,不妨用find配合其他參數達到您 想做到的需求。 範例如下:

    $find /home/lin -name hash
    在 /home/lin 目錄下找尋 hash 這個檔案

    $ find / -name 'fs*' -print
    從 / 根目錄開始搜尋所有以 fs 為開頭的檔名 'fs',然後用參數 -print 印出符合條件的檔案路徑。

    $ find. -name '*.c' -exec rm-f{ }\e
    代表在使用者現在的目錄 『.』,搜尋所以 .c 為結尾的檔名『'*.c'』然後用參數 -exec 執行 rm-f{ }\e 刪除全部以 .c 結尾的檔案。(注意,大括號裡面沒有空白。)

  6. "info"頁

    man是最普遍的文檔格式, 而info則更有力. 它提供了超文本連接使大量的文檔更易於閱讀, 同 時為文檔的作者提供了許多特性. 在Red Hat的不同方面(特別是GNU部分), 有一些非常完成的info 文檔.

    閱讀info文檔可以使用 info 程序(不要來參數). 它將列出一 個文檔的清單. 如果您沒有發現您所需要的, 那可能是因為您沒有安裝包含那個文檔的軟 件包. 用RPM安裝後再試.

    如果您喜歡使用emacs, 它有一個內置的info文檔瀏覽器. 使用【Ctrl-h】【i】鍵就可以 看到它.

    info系統是一個超文本系統. 任何高亮度顯示的文字都有一個連結導向更多的信息. 使用【Tab】將光棒移到連結, 並按【Enter】進入連結. 按【p】返回上一頁, 【n】 翻到下一頁, 而 【u】 回到 文檔的上一層. 退出info, 按【Ctrl-x】+【Ctrl-c】 (control-x 然後再按 control-c).

    學習如何使用 info 的最佳方法是用它閱讀info文檔. 如果您閱讀了 info顯示的第一頁, 您將 有能力繼續.

11.2 從Internet得到幫助

  1. 您可參考XLinux的網站:

    XLinux網站

  2. RedHat 郵件列表 (Mailing List) 請參看以下網址:

    RedHat Mailing List 列表

  3. USENET新聞組群

    另一個好的訊息來源是USENET中的comp.os.linux. 如果您熟悉新聞組, 可以用它.

  4. Linux Documentation Project (Linux文件計劃):

    Linux文件計劃

  5. CLDP-中文文件計劃:

    中文文件計劃

  6. 百資科技:

    百資科技

Next Previous Contents