返回介绍

基本操作

发布于 2024-10-04 20:45:48 字数 37230 浏览 0 评论 0 收藏 0

7.1 LINUX系統的基本概念



  1. Unix 的介紹



    • Unix 的歷史

      UNIX 的歷史可以回溯到一九六九年,由 Ken Thompson 和 Dennis Ritchie
      ( 即 C 語言的創始者 K & R 的其中一位 ) 和一群工程師,在一台放在角落
      不常使用的 PDP-7 上,用組合語言寫的一些程式,後來就慢慢演變成 UNIX 系統。
      UNIX 系統於一九七四年正式對外發表,但在最初十年內,主要的發展與改進
      都是在貝爾實驗室裡完成的。

      第一版 UNIX 是用 PDP-11/20 的組合語言寫的,其中的 roff 被 AT & T
      的專利部門用來處理文件排版( roff 後來變成 nroff )。一九七三年,
      UNIX 用 C 語言重新寫過,從此若想要移植到新的硬體上,可以在幾個月
      之內修改完成。到了西元一九七五年,貝爾實驗室將 UNIX 的原始碼公開給
      各大學研究,UNIX 開始在實驗室之外流傳,這也是 UNIX 開始受歡迎,
      並出現不同流派的起點。

      從此以後,有許多軟體公司開始發展出不同名稱的 "UNIX",例如 Ultrix、AIX、
      SunOS、Solaris、HP-UX 等,原則上,它們都是針對不同硬體平台,做過適應調整
      的系統。



    • Unix 的流派

      由於 UNIX 是註冊商標,而且自從原始碼提供研究並商品化後,
      大家在默契上以 "Unix" 一詞做為「統稱」之用。

      到目前為止,Unix 有兩大流派:AT & T 的 System V( V 代表羅馬數字的 5 )和
      BSD( Berkeley Software Distribution )。 SVR4 ( System V Release 4 )
      則是融合兩大流派的產品。BSD 的改進較快而且學術味道較濃,這個流派對於
      推廣 UNIX 有非常大的貢獻,許多的改進也都是 BSD 先做出來的。
      BSD 這個流派,目前在 PC 上也持續發展中,較受使用者歡迎的版本有
      NetBSD、OpenBSD 和 FreeBSD 。

      有鑑於 Unix 在這段期間的版本分派,造成系統設計上的歧異,
      Unix 業者開始有意將系統各方面予以標準化,其中與程式設計及
      系統工具介面有關的部份,就是由 IEEE 所提出之 POSIX 標準。



    • Unix 與 Linux 的關係

      Linux 系統的主要程式碼,與傳統的 Unix 原始碼並無關係,但 Linux
      的發展與操作介面,卻受到現有 Unix 系統相當大的影響。對於最初的
      發展者 Linus Torvalds 而言,整個 Linux 核心的發展演進,並沒有
      太多預先的規畫與期許,大抵是順應「實用主義」的概念來走。
      雖然架構上主要是依照 POSIX 這個標準,對於 POSIX 標準中遺漏的部份,
      則採用 System V 的實作方法。但網路介面上則完全引入 BSD 的設計,
      連 System V 的 TLI 介面都沒有模擬,因此 Linux 在核心設計上,
      大抵以實用與效率為考量。

      跳出核心系統來看,原本 Unix 系統裡常見的 X 視窗系統,也順利地
      被整合成為 Linux 操作管理介面的重要部份,近來 GNOME 與 KDE
      整合式環境的廣受討論,已顯示 Linux「不易上手」的刻板印象,將大大被改變。





  2. Linux 系統的發展簡史



    • 無心插柳終成蔭

      Linux 在最近成為相當熱門的話題,但它並不是一套新的系統,早在一九九一
      年底,便由芬蘭赫爾辛基大學的學生 -- Linus Torvalds,因個人興趣,
      而開始寫作系統的核心,他並把核心的原始碼完整公開到網路上,提供網友
      一同研究與討論。很短的時間內,網路上熱心的朋友紛紛加入發展行列,於
      一九九二年初,整個系統已經可以在大部份的 Intel PC 上安裝及啟動。而
      Linux 這個名稱,便來自於 Linus's Unix 一詞,直至今日,Linux 核心系統
      的主要發展方向,仍由 Linus Torvalds 所主導。

      後來系統大量應用 GNU 計畫的工具程式,並搭配 BSD 與 X 系統上的成果
      ,才逐漸具備實用性,而等整個系統相當成熟後,有人把這樣的系統
      ( 包括核心程式與諸多應用程式與開發環境 )整合成為「安裝套件」,
      使得 Linux 更容易廣泛被大眾使用。發展至今,Linux 總算是要熬出頭了,



    • 麻雀變鳳凰

      在九八年間,由於 Open Source 運動大舉展開,Linux 順勢成為聚光燈下
      的焦點,不管是軟體發展計畫,或是廠商的支持動作,大多都會提及 Linux
      這個日受歡迎的新興平台。我們把一系列重大的歷史事件整理出來,更容易
      看出整個 Open Source 運動的狀況:

      * 一月間 Netscape 宣佈瀏覽器原始碼公開。

      * 三月間 John Kirch 公開一篇 "Microsoft Windows NT Server 4.0 versus
      Unix" 的文章。

      * 六月間 IBM 宣佈支援 Apache 網頁伺服器發展計畫。

      * 七月間 Informix 宣佈支援資料庫系統於 Linux 平台。

      * 十月間 Intel 與 Netscape 等大廠宣佈投資 Red Hat 公司。

      * 十二月間 IDC 公司報告指出,Linux 市場佔有率佔 17%,成長率逾
      150%,日後成長率預計會大幅領先其他作業系統平台。



    • 最新的 Linux 是幾版 ?!


      「版本」問題在 Unix 的世界裡,很容易令人混淆,特別是對初入 Unix / Linux
      殿堂的朋友,用慣了 DOS / Win95 / WinNT ,由於 MicroSoft 會定期公告 Windows
      的「最新版本」,然後大家可以很快透過媒體得知出版消息。舉例來說:

      「您知道 MS Windows NT 出到幾版了嗎﹖」 ( 當然,5.0 版, 中文版都有了 )
      「那您知道 MS Office 出到幾版了嗎﹖」 ( 當然也知道, Office 2000
      市面上也看得到了 )
      「您知道 Windows NT kernel 是幾版嗎﹖」 ( 咦? 有這個「產品」嗎? 哪裡有在賣? 」

      狹義的定義,會將 Linux 版本限定在「核心程式的發展版本」,但一般
      媒體,大多採用極廣義的說法,使得 Linux 版本「認定」上容易產生
      以訛傳訛的誤解。



    • 什麼是核心程式 (kernel) ?!

      在 Linux 的世界裡,整個系統可被概分為列以下兩個部分:

      ●「核心程式」(kernel)

      ●「工具程式」(utilities/applications) 兩個部分,

      它們的發展通常是互相獨立的,自然它們可以有各自的版本序號。
      您絕對不會因為 Office 97 的問世, 而認為 Windows NT 也是 97 了吧。

      Linux 核心的版本,一般又分為「正式版」(release) 與「測試版」(beta),
      截至今日為止,Linux 的核心程式正式版為 2.2.9,而測試版為 2.3.5。
      或許您讀本文的同時,新版的核心更新程式又在網路上出現了。
      不必覺得驚奇, Linux 整個系統在網際網路各路好手集思廣益下,
      目前仍持續蓬勃發展當中,更新速度算是相當快。





  3. Linux的自動補全功能

    自動補全的功能,是假設要下的指令很長,或者指令後面要給的檔名很長� A這個時候只要按
    一個【Tab】鍵,bash 就會在可能的指令或檔名裡面找尋匹配的,找到的話就會自動幫您補齊,當然啦!使用者打的字元越多,bash收循匹配的檔名或指令就越容易找到。

    比如說有一個檔名或指令叫做Iorikyo,使用者只記得iori這四個字元的話,在提示符號下�
    擗Jiori之後在按【Tab】鍵,如果Iorikyo這個名字是獨一無二的話,這時就會幫你補齊kyo
    這三個字囉!要是不是獨一無二的話,比如說還有Iorikyo1、Iorikyo2   等,這時你按【T
    ab】鍵當然不會跑出來囉!這時你必須連續按兩下【Tab】,你會聽到嗶一聲bash
    就會把所有符合的名稱給列出來,然後你在參考bash所列出來的名稱再輸入更多字元以便ba
    sh來辨認你所要的名稱!



  4. 命令列編輯程式

    bash的命令列編輯能力是內建的,這種功能以現在來說,可說是理所當然,就是你在提示符
    號下,可對未執行的指令字元任意的修改,即使拼錯了也不需要重新輸入整個命令,只需在
    執行指令前使用左右方向鍵移動游標,用【backspace】或【del】刪除游標前一個字元來編
    輯打錯的指令編輯功能糾正錯誤即可,這尤其適合於冗長的路徑名稱當作參數的命令時。

    此外,【ctrl】+【a】會把游標移到指令的最前面,用【ctrl】+【e】可以把游標移動到指令的最後面,非常方便。用【ctrl】+【c】可以中斷目前在編輯的這行指令,跳到一行新的提示符號重新輸入,此外,在程式執行中,【ctrl】+【c】還可以用來強行中斷程式的執行,回到提示符號。對於這種複合鍵,筆者順便在此做一些說明︰

    【ctrl】+【C】︰停止命令或程式的執行。

    【ctrl】+【D】︰停止輸入或簽出系統也就是所謂的logout!

    【ctrl】+【S】︰暫時停止螢幕的輸出,始螢幕內容滯留,不向上捲動。

    【ctrl】+【Q】︰恢復螢幕輸出。

    【ctrl】+【\】︰終止一個處理程序的執行。

    當你按這些複合鍵時,有時螢幕會顯示 ^ 這樣的符號,比如說【ctrl】+【c】啦,
    就會出現 ^c 的字樣,也就是說 ^ 代表著【ctrl】鍵。



  5. 命令歷程(command history)

    所謂的命令歷程就是把你曾經輸入過的指令紀錄起來,方便日後的查詢與使用。而這也是我
    們最常用的功能,就好像是DOS模式中的doskey功能一樣,但是功能更強喔!要是我們懶的孕摒萓P或類似的指令,只要按方向鍵中的向上鍵就可以叫出前一個指令,再按一次向上鍵就可以叫出更前一個指令,依此類推,用向下鍵可以回到下個指令,所以用上、下鍵就可以選擇以前輸入過的指令,再配合編輯指令的功能就可以少打很多字,這對於懶得動手的人可是一大福音!

    況且它以history的工具程式記錄了你所執行過的指令,History程式是一種短期記憶,記錄
    了以最近執行的指令,也不完全是指令而已,只要你曾在提示符號下鍵入字元並且按【Ente
    r】鍵執行過的話,都會被紀錄下來喔!

    使用方法是在提示符號下我們鍵入history指令後,螢幕便會列出一段或一大串的命令的歷�
    程(看你打過多少囉!),如下︰



    [root@xlinux down]# history
    1 cd /usr
    2 ls
    3 mkdir home
    4 cd home
    5 ls
    6 cd /usr/home
    7 mkdir a8630257
    8 chown a8630257 a8630257
    9 ls
    10 ls -la


    命令歷程是由1開始編號,預設值應該是1000,編號的號碼越大,表示所執行過的指令離目�
    前時間最近,使用者可以這樣來辨別。



  6. 特殊字元

    在UNIX系統裡,有一組更完備的特殊意義字元,這就是所謂的萬用字元(meta -
    character),曾經用過DOS系統的人,應該感到不陌生,像 *
    這種符號可以方便我們執行系統檔案的查詢,在此我們將介紹有關於UNIX的特殊字元,如果
    善加利用這些特殊字元的話,跟linux溝通可說是得心應手!

    使用萬用字元的好處為:

    減少輸入【key in】時間

    鼓勵使用者使用良好的檔案命名方式

    簡化Shell Script的設計工作

    現在我們要列出一些常用的萬用字元的意義,供您參考:


       萬用字元   

     意義 
     .. 上一層目錄,與cd指令配合用比較多
     . 表目前工作的目錄
     * 任意長度的字元
     ? 長度為一個的任意字元
     [ .. ] 括號內的一個字元
     \m 等於某個萬用字元,如*、? 等
     [ a- z ] *  小寫字母開頭的所有字串
     \ 跳脫符號,用以解除特殊字元的特殊意義
     ~ 使用者目錄
     ; 分隔符號,當命令列有多個指令時,做分隔用
     $ Bourne shell的提示符號,同時也為shell語言的位址參數
     # 做註解用
     | 建立一個管線,使一命令的輸出作為另一個命令的輸入
     & 將命令以幕後的方式執行
     > 將命令的輸出重導入檔案中
     < 將命令的輸入流指定為由檔案中載入,跟>相反就對了!
     >> 將命令的輸出加在一個已經存在的檔案後面
     { .. }括號內的一個字串

萬用字元




7.2 LINUX的基本指令

由於Linux系統對您來說,可能是一套全新的作業系統
倘若您以前有使用過Unix,那Linux對您來說一定不陌生,在此要對Linux的常用基本
指令來做個簡介,至於指令中的選擇項用法,我們也是簡介常用的參數,這樣對於
Linux的初學者來說,可能會有莫大的幫助。

倘若您覺得您還想更深的了解指令的其它強大功能,您可以用Linux提供的man指令
[線上手冊],來讓您有更深的了解,假如您想用一個這裡沒有提到的指令,
而您卻也不會使用,這時也可用man指令來幫助您。man的常用語法請參閱本手冊的

第十一章

指令一定有名稱,但不一定需要選擇項和參數,只要任何時候看到系統提示
字元[$:表示bash《Linux預設》、%:表示tcsh、#:表示為系統管理者],
就可執行系統指令。

很多指令都有選擇項,利用選擇項您可以去指揮指令,使執行動作產生不同的結果。
而選擇項皆以 "-"或"─"來引導。當您要使用很多的選擇項時,其前後的次序不會
影響指令的動作,但要注意的是大小寫的區分。參數的目的是描述指令所需的一些
訊息[如:檔案名稱],而這些訊息在每次執行該指令時都會有所不同。
w



  1. cat,more,less指令-顯示文件.ls指令-查看目錄及檔案

  2. chmod指令─變更檔案使用權限

  3. chown指令─變更檔案的擁有人及所屬群組

  4. cp指令─拷貝檔案

  5. mkdir、rmdir指令一建構目錄、刪除目錄

  6. rm指令─刪除檔案/目錄

  7. cd指令─切換目錄

  8. passwd─修改密碼

  9. find指令─搜尋檔案與目錄

  10. mv指令─檔案/目錄更名或搬移

  11. gzip、tar─壓縮/解壓縮工具

  12. df、du指令─查詢磁碟空間使用情形

  13. ps指令─查尋程序執行狀態

  14. top指令─程序監視

  15. w、who─線上使用者

  16. sync、reboot指令

  17. mount、umount指令─掛上,卸下檔案系統設備

  18. ln指令─製作鏈結檔

  19. traceroute

  20. halt、shutdown指令─正確關機方法


以下將介紹一些基本的指令:


  • more指令

    指令名稱: more

    功能: 一次以一個page顯示

    語法:



    more 檔案名稱

    描述:

    通常我們要看一篇很長的文件,都希望是從頭看到尾,在Linux中,more指
    令可以讓您以一個page為單位,來看完您的文件。

    當您使用more, 您可看一下螢幕的左下方,有個--more--的訊息,
    這時您若按下【Enter】鍵,則會顯示下一行;若按下【Spacebar】鍵,
    則會顯示下一個page。 至於more的範例,我們將要把more應用於ls之中,
    故請看ls的範例。



  • ls指令

    指令名稱: ls

    功能: 查看目錄及檔案

    語法:



    ls

    描述:

    ls指令是用來瀏覽檔案與目錄,這個動作相當於DOS中的dir指令。

    在下圖中,鍵入ls,則會出現該目錄內的內容,且以橫向排列,其中有些名
    稱的後面有"/",則為目錄,其顏色為藍色,如:Server/、fonts/;有些名稱
    的後面有"@",則為鏈結檔 [可鏈結檔案或目錄],其顏色為青色,如:
    libXll.so.3@、Xll@;有些名稱的後面有"*",則為可執行檔,其顏色為綠色,
    如:libXll.so.3.1.0*、libXaw.so.6.0*。

    另外還有一些是在下圖中所沒有的,像壓縮檔所代表的顏色為紅色,如:
    .gz、.tar、.zip等,設備檔所代表的顏色為黃色,如:fd0、hda等。
    請看下表所示:



    linux1:/usr/X11R6/lib#ls ← 瀏覽/usr/X11R6/lib內的內容
    Server/ libX11.so.3@ libXaw.so.6@ libXt.sa
    X11@ libX11.so.3.1.0* libXaW.so.6.0* libXt.so.3@
    fonts/ libX11.so.6@ libXdmcp.a libXt.so.3.1.0*
    libFS.a libX11.so.6.0* libXext.a libXt.so.6@
    ← 後面還有檔案,因為太多,故在此省略


    在上面的圖示中,您可能還看不出來鏈結檔是在做什麼用的,其實鏈結檔是
    用來指向固定的檔案或目錄,假如有一個檔案的名稱很長[在Linux中,檔案系
    統為長檔名],而且在很深層的目錄內,這樣每次要使用該檔案時,打起字來就
    會恨累,這時只要用一個很簡單的名稱,且指向該檔案,以便形成鏈結檔,這樣
    以後只要執行這簡單的名稱,就等於執行該檔案。

    至於要如何才能看到鏈結檔是指向那裡呢?其實很簡單,您只要下ls-al指
    令即可,其中選擇項a為要顯示隱藏檔[隱藏檔都是以"."為開頭的檔案,如:
    .netscape/、.bash_history],選擇項l為要以長格式顯示。請見下表所示:


    ipproxy:/usr/X11R6/lib# ls -al │more
    total 5850 ↓檔案擁有人代號
    drwxr-xr-x 6 root root 2048 Jun 6 14:26./
    drwxr-xr-x 7 root root 1024 Jun 6 14:27‥/
    drwxr-xr-x 7 root root 1024 Jun 5 21:27 Server/ ↓X11指向目錄
    lrwxrwxrwx 1 root root 14 Mar 1 03:10 X11 -> /var/X11R6/lib/
    drwxr-xr-x 10 root root 1024 Jun 5 20:30 fonts/
    ↑檔案擁有人群組代號
    -rw-r--r-- 1 root wheel 65520 Jan 29 1997 libFS.a
    -rw-r--r-- 1 root wheel 103614 Jan 29 1997 libICE.a
    ^^^^^^^檔案使用權限


    在以上範例中所下的指令為[ls-al|more],其中"|"為管道,也就是
    說ls-al的動作經由管道送給more,再由more輸出動作,以達成用長格式來顯
    示目錄內容,並且輸出一個page後就暫停。

    而在上表中,您或許還有不明白之處,像這個「drwxrwxrwx」是什麼東西,
    且用來做什麼?其實這是檔案使用權限,其每一個字母,都有其特別的意義,
    請參考本手冊第八章8.3節檔案系統的說明。



  • cp指令

    指令名稱: cp

    功能: 拷貝檔案

    語法:



    :cp [-r] 檔案 目的地�

    描述:

    其實cp的語法與Dos的copy語法大致相同,但cp的功能還是比Dos中的copy
    強大許多,其中選擇項"-r"就是一例[在語法中使用中括號是表示該選擇項是
    可使用或可不使用,一切都由使用者來決定],它的意思是說假如您要拷貝一個
    目錄,但該目錄內還有好多個目錄的話,您可以使用"-r",來幫您拷貝目錄內
    的目錄檔案,並且在拷貝時會自動幫您建目錄,而這功能就相當於Dos內的
    xcopy。

    還有一點須注意的是,在使用cp時一定要有目的地才行,在Dos中做copy
    時,有時是可省略目的地,但在Linux中就無法這樣做。在cp中我們也可以使用
    到萬用字元,像*、?等,

    例如:我們要將root目錄內的所有檔案[包括目錄],但不包
    括隱藏檔,拷貝至根目錄下的temp內,其作法為:



    cp -r /root/* /temp

    若要拷貝所有小寫字母開頭隱藏檔[包括隱藏目錄]的話,其
    作法為:



    cp -r /root/.[a-z]* /temp





  • mkdir、rmdir指令

    指令名稱: mkdir/rmdir

    功能: 建構目錄、刪除目錄

    語法:



    mkdir 目錄名稱
    rmdir 目錄名稱


    描述:

    接下來我們要敘述 在Linux中如何建構目錄、如何刪除目錄,
    其實這些指令操作方法與Dos中的md、rd是完全相同,差別只是指有的名稱不同而已。
    令外, 在使用rmdir時,要確保該目錄內已無任何的檔案存在,才可使用該指令。



  • cd指令

    指令名稱: cd

    功能: 切換目錄

    語法:



    cd 目錄名稱�

    描述:

    cd除了有切換目錄的功能外,還有一個功能就是當您不管在那個目錄內,只
    要下cd指令不用接任何參數,就可回到您的使用者目錄內[home directory],
    通常使用者目錄[home directory]都可用" "來代表。還有Linux的樹狀結構
    目錄與Dos完全相同(其實是Dos學Unix而來)。




  • rm指令

    指令名稱: rm

    功能: 刪除檔案/目錄

    語法:



    rm [-r] 檔案 / 目錄

    描述:

    rm與Dos的del指令有些類似之處,不同的是,rm功能的強大與其相對殺傷
    力遠不是Dos的del可以相比。只要是檔案或目錄,不管有無隱藏,或是檔案
    使用權限只設定成唯讀,rm皆可刪除,

    在此要注意的是選擇項"-r",這個-r與cp中的可有類似的功能,它通常
    都用來一併刪除目錄內的目錄檔案,這個功能就相當於Dos中的deltree功能,
    通常在使用deltree時都會有提示語,但在Linux中使用rm就沒有任何的提示語,
    還有最糟糕的是已刪除的檔案是無法救回來的,所以在使用rm時要特別小心。
    例如:我們要刪除temp目錄,我們可以用下面的基本方法來做刪除的動作:

    ●先到temp內將檔案全部刪除:


    cd temp;rm*


    在Linux中要一次下兩個不同的指令時,只需在指令與指令之間加
    上分號即可,這樣Linux便會依照排列的先後次序來依續執行,在本
    例中,會先執行cd temp 再執行 rm*。

    ●假如temp內還有目錄,則仍然用上面的方法,來刪除目錄內的檔案。

    ●將目錄切換至temp目錄,然後將每個空目錄刪除:



    cd..; rmdir.temp


    ●退回主目錄,最後將temp目錄刪除:



    cd / ; rmdir temp


    以上是基本的方法,但速度太慢,因為您還要切換目錄,在此要
    用rm指令一次就可完全刪除,這樣速度又快又方便,請見下示:


    rm -r /temp





  • mv指令

    指令名稱: mv

    功能: 檔案/目錄更名或搬移

    語法:



    mv 檔案/目錄名稱 搬移的目的地(或更改的新名)


    描述:

    有的時後我們會做檔案/目錄更名的動作,或是搬移檔案/目錄,其實檔案/
    目錄更名與搬移檔案/目錄的動作原理是一樣的,差別只是路徑的不同。

    其實mv指令通常都用來搬移檔案,當我們要做檔案更名時,只要改變一下就可。
    例如:我們要把現在所在的目錄中的netscape檔案,搬到/usr內,可用:



    mv netscape /usr

    例如:我們要把/temp的目錄,更名為/tmp,其作法為:



    mv /temp /tmp

[注意:舊名稱與新名稱要一樣的路徑才行]





7.3 系統管理指令介紹

系統管理(system administration)是保持電腦系統持續運作良好,所必需做的
工作,現在幾乎大部份的電腦都已經上網路了,因此有另一部份工作是去保
持網路暢通。這部份又叫網路管理(network administration),一個普通節點可能
會有個全職的系統管理者(system administrator)來進行所有的系統與網路管理
工作。大的節點則可能會將系統與網路管理工作作更細的個人區分,如果你只
是在家跑Linux,或只是管小公司裡的小規模系統,那就可能身兼系統與網路
管理者。

Linux有著系統與網路管理所需的基本指令與工具.本章會講到其中一些命
令,第7.7章則會描述網路管理基本指令。



  1. 系統管理者使用的管理指令



    • su
      Password: (輸入root的密碼)
      系統執行root本身的Shellscript後,又跳回到
      $
      螢幕顯示的是一般使用者提示符號 $,但您的真正身份卻已經變成了root,
      不會像用root登入時,提示符號是 #那麼容易讓別人知道您目前是以
      root登入系統了。開玩笑的說,root是本尊,知道root密碼的一般使用
      者(為自己開設的帳號)就是分身。

    • mount、umount指令

      指令名稱: mount、umount

      功能: 掛上 、卸下檔案系統[設備]

      語法:



      mount -t 檔案格式[-o conv=auto]設備檔名 要外掛的目錄


      使用者: root

      描述:

      通常我們要使用軟碟、硬碟或光碟機內的檔案系統時,就要先把檔案系統給
      外掛進來,這樣才能使用,但在外掛之前,您必須要知道您Linux的kernel[核
      心程式],是否有支援到您所要外掛的檔案系統格式,若沒有您必須要先更新
      kernel才行,kernel的更新請看後面的章節。

      在Linux中,我們常用到的檔案系統為msdos、ext2、hpfs、iso9660等格式,
      至於還有其他的格式都不太常用,故我們省略。

      ext2檔案格式是Linux系統格式之一,也是最廣為使用的;

      hpfs檔案格式是OS/2的檔案格式;

      iso9660檔案格式是為CD-ROM裝置的檔案格式,
      假如CD-ROM內的光碟片的檔案都是MS-Dos的
      格式,當要使用該光碟片時,仍然要使用iso9660的檔案格式。

      mount常用語法:mount -t 檔案格式[-o conv=auto]設備檔名 要外掛的目錄。
      選擇項"-t檔案格式",是指定您要外掛那一種的檔案系統格式,在使用
      mount時,一定要有"-t 檔案格式"選擇項;選擇項"-o conv=auto",是說將
      外掛進來的檔案系統做自動轉換,轉換成Linux格式,這個自動轉換只對文字
      檔有用,原本在Dos中用文書編輯器[pe2、漢書]寫成的文件檔,拷到Linux裡
      後,再用Linux的文書編輯器[vi、joe]來看該文件檔,會明顯的發現到在每行
      結尾處有"^M"符號,這時只要用"-o conv=auto"選擇項,就可轉換成Linux
      文件格式。

      設備檔名是指您要外掛的軟碟、硬碟或是光碟機等,像軟碟的A槽為/dev/
      fd0、B槽就為/dev/fd1[在此是不分磁碟容量,因為Linux會自動偵測];而硬
      碟的C槽就為/dev/hda1、D槽就為/dev/hda2或/dev/hdb1,這個就要看您有幾
      個硬碟,以及您如何規畫partitions而定,通常hda是指第一個硬碟,那hdb就是
      指第二個硬碟,而1、2是指一顆硬碟內的各個partitions代號;光碟機通常都為/
      dev/cdrom或/dev/sbpcd,

      在Linux中有一個特定的目錄,是專門給您外掛檔案系統專用的,這個目錄
      為/mnt,通常/mnt都是空目錄;而CD-ROM也是有固定的目錄,就是為/cdrom。

      當您想要將某一個檔案系統退出時,您可以使用umount指令,

      其語法為: [所有的檔案系統,都可使用該語法來卸下檔案系統]

      umount常用語法:


      umount 掛檔案系統的目錄




    • ln 指令

      指令名稱: ln

      功能: 製作鏈結檔 �

      語法:



      ln -s 要指向的檔案或目錄 鏈結檔名


      使用者: 每一位使用者�

      描述:

      鏈結檔通常用於要編譯程式的時後,通常鏈結檔都是指向某個lib函式庫,
      或者include檔案等,其實這樣做都是為了方便編譯或執行,

      例如:您要將x指向XF86_W32*的執行檔,其作法為:



      ln -s XF86_W32 X




    • top 指令

      指令名稱: top

      功能: � 程序監視指令

      語法:



      top


      使用者: 每一位使用者�

      描述:

      top可以動態監視程序執行狀態[Process state],其每五秒鐘自動更新監視
      畫面,以顯示最新的情況。 要結束正在執行的top,您可以按下"q"鍵就可離開。



    • sudo指令

      指令名稱: sudo

      功能: 以root的身分執行命令�

      語法:



      sudo 其他指令


      使用者: 被root加入『/etc/sudoers』檔案中的使用者

      描述:

      sudo這一個指令需要額外安裝,基本上,sudo可說是比su安全
      性更高的指令,為什麼呢?

      1.root的密碼除了root本人知道外,不需被其他需要用到root權限使
      用者知道,因為使用sudo時,要求輸入的密碼是『該位使用者自己
      的密碼。』

      2.把所有可執行sudo指令的使用者都規範在『/etc/sudoers』這個檔案
      中,root可以很容易的掌控整個系統。






  2. 使用者檔案權限管理指令

    Linux上每一個檔案都明確的定義所有人名稱(Owner)、群組名稱(Group)
    和檔案的使用權限等。因此每一位系統上的使用者都有權力也有義務適當的
    規定自己Home目錄下的檔案權限,以維護自己的檔案安全。以下的幾個常用的指
    令介紹,希望讀者都能常記在心。



    • chown 指令


      指令名稱: chown

      功能: 改變檔案擁有者

      語法:



      chown 使用者帳號 檔案或目錄名稱


      使用者: 該檔案或目錄的擁有者和root

      描述:

      如果您(假設帳號是xlinux1)有一個檔名為file.list的檔案,所有權要
      給予另一位帳號為xlinux2的同事,則可用chown來達成這個動作,但當
      您改變完檔案擁有者之後,該檔案雖然在您的Home目錄下,但您已經
      無任何修改或刪除該檔案的權限,此點讀者應特別注意。通常會用到這
      個指令的時機,應該是您想讓Linux機器上的某位使用者到您的Home
      下取用某個檔案時會用到。
      範例:



      -rw-------1 xlinux1 users 6 Oct 4 12:50 file.list
      $ chown xlinux2 file.txt


      (下完指令後看看,所有人的名稱改變了喔!)



      -rw-------1 xlinux2 users 6 Oct 4 12:50 file.list




    • chgrp

      指令名稱: chgrp

      功能: 改變檔案的所屬群組�

      語法:



      chgrp 群屬名稱(group名稱) 檔案或目錄名稱


      使用者: root

      描述:

      該指令和chown用法一樣,其功能是把檔案或目錄所屬的群組(group)改
      成另一個group。而這個指令應該會比chown常用一點,例如:若root想
      指定system這個group的所有使用者,都可以用shutdown這個指令,只
      要用chgrp把shutdowm改成所屬群組是『system』這個group時,再把
      shutdown的使用權限設成『-rwxr-x---』,則屬於system group的使用者,
      都有使用shutdown關機的權限。
      範例:



      -rwxr-x--- 1 root bin 11700 Oct 12 06:48 shutdown*
      # chgrp system /sbin/shutdown


      執行chgrp把shutdown所屬群組改成system這個group



      -rwxr-x--- 1 root system 11700 Oct 18 06:48 shutdown *




    • chmod

      指令名稱: chmod

      功能: 修改檔案的權限�

      語法:



      chmod 權限參數 檔案或目錄名稱�


      使用者: 每一位使用者

      描述:

      本手冊在介紹ls指令時,已經介紹檔案的各種權限形態,例如 -rwx-----。
      要設定這些檔案的形態就用 chmod這個指令來設定,然而要使用chmod
      之前就要先瞭解 『權限參數』的用法。基本上權限參數可以有兩種使用
      方法:

      ●英文字母表示法

      ●數字表示法

      一、英文字母表示法

      先前講過,一個檔案用十個小格位記錄檔案的權限,第一小格用以代表
      目錄(d)或是連結(1)檔案等,再來是每三小格代表一類型使用者的權限。
      前三小格使用者(User)本身的權限,用『u』代表;中間三小格代表和使
      用者同一個群組(Group)的權限,用『g』代表;最後三小格代表其他使用
      者(Other)的權限,用『o』代表。即:
      -rwx------屬於使用者存取權限用『u』代表
      ----rwx---屬於群組使用者存取權限用『g」代表
      -------rwx屬於其他使用者存取權限用『o』代表
      除了u、g、o外,我們可以直接用『a』代表所有人(All)。而每一種使用
      者的權限就直接用『r』、『w』、『X』來代表對檔案可讀、可寫、可執
      行,然後再用『+』或『-』或『=』將各類型使用者代表符號u、g、o和
      rwx三個字母連結起來即可。舉個例子,讀者應該就很容易懂了。
      範例:




      -rwx------chmod u+rwx file 1

      使用者本身對file1可以進行讀寫執行的動作



      -rw------- chmod u-x file1

      刪除使用者對file1的可執行權限



      -rw-rw-r-- chmod g+rw,o+r file 1

    群組使用者對file1增加為所讀寫,其他使用者則只能讀。(每一個權限參
    數用『,』聯結起來)



    -rwxrwxrwxchmod a+rwx file 1


    所有使用者對file1都可讀寫並執行它



    -rwxr--r-- chmod g-rw,o-rwfile1

    刪除群組使用者和其他使用者對file1的讀寫權限

    二、數字表示法

    用數字表示法也許會比用英文字母表示法來的容易,如果一下子無法接
    受第一種表示法,可以學學這種表示法,不過最好是兩種都學起來基本
    上,數字表示法是用『三』位數字XXX,(有時可用四位)最大值為『777』
    來表示的。

    第一個數字 代表使用者存取權限。

    第二個數字 代表群組使用權限。

    第三個數字 代表其他使用者存取權限。

    先前介紹的『可讀的權限,』改用數字『4』代表,『可寫的權限w』

    改用『2』代表,而『可執行的權限x』改用『1』代表,即:

    r=4 w=2 x=1

    假設使用者對file1的權限是可讀可寫可執行『rwx』,則我們把4,2,1
    加起來等於『7』,就是代表使用者對file1這個檔案可讀可寫可執行。即:

    rwx=4+1+2+1=7

    至於群組使用者和其他使用者的權限,就依序指定第二位數字和第三位
    數字即可。如果不指定任何權限的話,就要補『0』!!!底下舉幾個範
    例就可明瞭,請讀者注意數字的變化。

    範例:

    -rwx------ chmod 700 file1

    指定使用者對file1的權限是可讀,可寫,可執行

    -rw------- chmod 600 file1

    指定使用者對file1的權限是可讀,可寫

    -r-------- chmod 400 file1

    指定使用者對file1的權限是『可讀』而已

    --w------- chmod 200 file1

    指定使用者對file1的權限是『可寫』而已

    ---x------ chmod 100 file1

    指定使用者對file1的權限只有『可執行』而已

    ----rwx--- chmod 070 file1

    指定『群組使用者』對file1的權限是可讀,可寫,可執行

    -rwxrwx--- chmod 770 file1

    指定使用者和群組使用者對file1的權限是可讀,可寫,可執行

    -------rw- chmod 006 file1

    指定 『其他使用者』對file1的權限是可讀寫

    -rwxrwxrwx chmod 777 file1

    指定所有使用者對file1的權限是可讀,可寫,可執行

    反正就是將三位數字分成三個欄位,每個欄位都是4,2,1相加任意的組
    合。



  3. chsh

    指令名稱: chsh

    功能: 改變使用者所用的Shell�

    語法:



    chsh


    使用者: 每一位機器上的使用者

    描述:

    當初root在新增使用者時,可能都用一個內定的Shell,例如用Bash當作一般使用者
    的內定Shell,但有些使用者可能不喜歡用Bash,而想改成其他 Shell,如csh、Tcsh
    等,此時就可以使用chsh這個指令改變自己目前正在使用的Shell。

    範例:



    $ chsh
    password: 輸入使用者自己的密碼
    [/bin/Bash]:/bin/Tcsh 改成使用Tcsh




  4. chfn

    指令名稱: chfn

    功能: 改變使用者資料�

    語法:



    chfn

    使用者: 每一位機器上使用者�

    描述:

    一位使用者都有權力執行chfn修改『有關於自己的匿名資料』,為什
    麼說匿名資料呢?因為幾乎網路上的所有使用者都是以匿名在和別人溝
    通,只有系統的root才知道代表您真正身份的資料,當別人用finger指
    令查尋您的個人資料,或是您寄送E-mail給別人時,寄信人的資料都是
    您自設的匿名資料,當然您也可以設成完全符合您的真實資料,隨您高興。

    範例:

    假設以wang這個帳號執行chfn這個指令



    $chfn


    出現的畫面依序如下:



    [wang@xlinux wang]$ chfn
    Changing finger information for wang.
    Password:
    Name [wang]:王小明 中括號裡面的Name是內定值,您可自設您喜歡的名字。
    Office []:Dept. of R/D 設定您的辦公室名稱或是地址
    Office Phone []:(07)5565080 設定辦公室的電話號碼
    Home Phone []: (07)5565080 設定家中電話號碼
    Finger information changed. 系統回應您的個人資料已經改變


    修改完資料後,當您寄送 E-mail給別人,或是別人finger(查看)您的個人資料時,
    顯示的就是您用chfn輸入的資料。





7.4 文書編輯器介紹--「VI」

vi(m)在大多數的unix系統中(包括linux)都內建vi(m)編輯器。如果您即將成為linux系統管
理者,或是長時間在linux環境中工作,您最好學會vi(m),因為您遲早會使用到它,由其是
系統出狀況時。對新手而言,第一次使用vi(m)的過程是非常痛苦的,甚至討厭它,因為它�
瑣犑@方式與一般輯編器完全不同。但是,一但您學會如何操作它時,您會對它愛不釋手,�
因為它的功能實在太強了。vi(m)就是這像,讓人又愛又恨。

事實上linux系統中的vi其實是vim。vi與vim的用法很像,因為它是vi的增強版,
因此vi有什麼功能vim都有,而且vim新增許多vi沒有的功能,而且比vi容易使用。



  1. vi(m)的三種模式簡介



    1. 一般模式


      在一般模式下,您所能進行的動作只有移動游標螢幕上的位置,標記、
      刪除、搬移、複製字元或文字區塊。此外您可以由命令模式進人輸入
      模式雖命令列模式。



    2. 輸入模式

      只有在輸入模式下,才可進行文字資料輸入,按
      ESC鍵可以回到一般模式。



    3. 命令列模式

      將檔案寫入或離開編輯器,亦可設定編輯環境,如
      尋找字串、列出行號‥等。





  2. vi(m)的基本操作



    1. 進人vi

      在系統提示符號下輸入vi及檔案名稱後即進入
      vi全螢幕編輯畫面,且在一般模式下。
      輸入模式下編輯文件:

      在一般模式下可按'i'或'a'或'o'三鍵進入編輯模式.


      • "i" insert - 在目前游標之處插入所要輸入之文字.

      • "a" append - 在目前游標所在的下一行開始輸入文字

      • "o" open - 新增一行在游標的下,並從行首開始輸人文字




    2. 離開vi及存檔

      在一般模式下可按 ':' 鍵進人命令列模式,


      • :w filename(存入指定檔案).


      • :wq (寫入並離開vi).


      • :q!(強迫離開並放棄編輯的檔案).


      • :n[檔案] - 引入下一個檔案.


      • :l,l2d - 刪除自行l至行l2的文字.


      • :l,l2s/patternl/pattern2/g - 將行l至行l2的文字,
        patternl的字串改為pattern2的字串,如無g則僅更換
        每一行所匹配的第一個字串,如有g則將每一個字串均做更換.







  3. 一般模式功能鍵簡介



    • 移動游標

      h、j、k、l:分別控制游標左、下、土、右移一格


      • Ctrl+b : 往後一頁

      • Ctrl+f : 往前一頁

      • G : 移到檔案最後�

      • w : 移到下個word的開頭

      • b : 跳至上個wore的開頭




    • 刪除



      • x:刪除所在後面一個字元

      • #x:ex:5x表刪除5個字元

      • dd:刪除游標所在之行

      • #dd:例,5dd表刪除自游標算起之5行



    • 更改



      • cw:更改游標處之字到此一單字之字尾處

      • c#w:例,c3w表更改3個字



    • 取代



      • r:取代游標處之字元

      • R:取代字元直到按ESC為止



    • 複製



      • yw:拷貝游標處之字到字尾至緩衝區

      • P:把緩衝區之資料貼上來

      • yy:拷貝游標所在之行至緩衝區

      • #yy:ex:5yy,拷貝游標所在之處以下5行至緩衝區




    • 復原

      u:undo,復原至上一動作



    • 跳至指定之行

      g:列出行號,及相關資訊





  4. 命令列下指令簡介

    注意:使用前請先按ESC鍵確定在一般模式下
    按':'或'/'或'?'三鍵即可進入命令列模式


    • 列出行號

      :set nu


    • 尋找字串



      • word(由首至尾尋找),按n可往下繼續找.

      • ?word(由尾至首尋找),按N可往前繼續找.


    • 跳行

      :100-可跳至第100行





7.5 文書編輯器介紹--「JOE」

這是一套文書編輯軟體,類似在DOS之下的PE2,是Linux系統中最受歡迎的文書編
輯軟體,當您安裝好Linux後,joe這套文書編輯軟體就已經安裝好了,讀者不需
要再安裝一次。

假設我們要用joe寫一個文字檔案test,只要執行:




joe test


就可以開始編輯文字檔了。joe軟體中有所多指令可以使用,讀者只要按
(Ctrl+k+h)就會出現Joe軟體的指令功能說明,如下圖所示:



請讀者注意在指令說明中,【^】即代表【Ctrl】鍵,我們在這裡簡略的介紹一下指令
的使用:



游標部分(CURSOR)
【Ctrl+f】 將游標往右移動
【Ctrl+b】 將游標往左移動
【Ctrl+p】 將游標往上移動
【Ctrl+n】 將游標往下移動
【Ctrl+z】 將游標往左移動一個間隔
【Ctrl+x】 將游標往右移動一個間隔



搜尋部分(SEARCH)
【Ctrl+k+f】 搜尋單字
【Ctrl+l】 如果之前的指令沒有搜尋到你想要的單字,按這個指令就會繼續往下
搜尋你要找的單字



文章的移動(GO TO)
【Ctrl+u】 將文章向上移動一個段落
【Ctrl+v】 將文章向下移動一個段落
【Ctrl+a】 將游標移到句子的最前端
【Ctrl+e】 將游標移到句子的最末端
【Ctrl+k+u】 將游標移到文章的最前端
【Ctrl+k+v】 將游標移到文章的最末端
【Ctrl+k+l】 將游標移到文章的第幾行



標示區塊(BLOCK)
【Ctrl+k+b】 標示區塊的起頭
【Ctrl+k+k】 標示區塊的尾端
【Ctrl+k+m】 將所標示的區塊搬移
【Ctrl+k+c】 將所標示的區塊拷貝
【Ctrl+k+w】 將所標示的區塊儲存成另一個檔案
【Ctrl+k+y】 將所標示的區塊刪除
【Ctrl+k+/】 將所標示的區塊



刪除部分(DELETE)
【Ctrl+d】 刪除一個字元
【Ctrl+y】 刪除一行字
【Ctrl+w】 刪除游標所在右邊的單字
【Ctrl+o】 刪除游標所在左邊的單字
【Ctrl+j】 刪除游標所在右邊的一行單字



文字部分(MISC)
【Ctrl+t】 選擇選項
【Ctrl+@】 插入文字



離開部分(EXIT)
【Ctrl+k+x】 儲存檔案並且離開
【Ctrl+c】 不儲存離開




文件部分(FILE)
【Ctrl+k+e】 編輯另一個新檔案
【Ctrl+k+r】 插入另一個檔案內容
【Ctrl+k+d】 儲存檔案但不離開


7.6 壓縮、解壓縮的工具

底下介紹一些常用的解壓縮、壓縮工具:


  1. gzip.gz


    -9 數字9表示最佳壓縮,如果是-l的話,表示快速壓縮

    -r recusive,如果您想要壓整個目錄底下的檔案的話就會
    用到最一參數,
    但是此是會對底下的檔案做個別壓縮,底下會介紹怎麼將整個目錄壓成一個
    檔案.



  2. gunzip解.gz的檔案

    -r resusive,和gzip-d-r file.gz功能相同

    -d decompress,解壓縮的意思!



  3. tar

    -c.tar.gz or .tgz產生一個壓縮檔

    -z 將目錄tar起來後再用gzip把該檔案再壓縮起來

    -f 所使用之壓縮後檔名

    ex:tar-czf mail.tar.gz mbox/可以將mbox整個目錄壓縮成一個檔案

    -x 解.tar.gz or .tgz將檔案tar開,如果再配合-z的話就變成解壓縮.

    ex: tar-zxf mail.tar.gz

    compress.Z-d壓縮成.Z的檔案

    uncompress解.Z檔案直接打uncompress mail.Z就可解壓縮了.




7.7 LINUX基本的網路功能



  1. Linux 的網路能力


    由字面上看來,網路代表了電腦和電腦彼此的資料交換,範圍從很低階的實際連
    線到協定(protocol)中真正的資料交換。網路協定(network protocol)指的就是
    想透過網路交換資料的雙方,彼此同意的溝通方式。
    不同的網路協定用在不同的網路層次,在實體層,這個層次描述的是位元資料傳
    輸的媒介,像是電纜,這時使用的協定就是Ethernet或是Token Ring,不過呢,
    應用程式並不是在實體層的協定運作,所依循的協定,是用來處理成串資料。這
    些協定包括了Novell的Internet Packet Exchange(IPX),和知名的Transmission
    Control Protocol/Internet Protocol(TCP/IP)。

    網路協定的層次可以以網路模型來表示,像國際標準組織(International
    Standards Organization,ISO)所發展出,七個層次的開放系統互連OSI(Open
    Systems Interconnection)參考模型就是一個例子,
    標準的網路協定像是TCP/IP,是電腦互連形成區域網路與廣域網路,成長的
    關鍵,協定允許這些小網路的互連,現在所熟知的互連網路就是Internet,



    • TCP/IP

      Unix的網路能力是早期最值得稱道的地方,特別的是,眾所周知的TCP/IP協
      定,自第一次在1982年出現在BSD UNIX之後,就已經是Unix裡的一部份
      了,現在TCP/IP是整個Internet廣域網路的協定。
      Linux支援TCP/IP以及telnet,ftp,rlogin這些網路應用程式,在網路的實體
      層,Linux有著許多Ethernet卡的驅動程式,雖然token ring並沒整合進
      Linux,不過你還是可以在Internet的發展者上取得token ring驅動程式。
      Linux支援TCP/IP一這個Internet影響最大的協定是很自然的,因為Linux的
      快速發展是來自許多世界各地發展者的合作,而這合作就是透過Internet,

      Linux包含了Berkeley Socket(這樣命名的原因是因為1982年socket介面第一
      次在Berkeley Unix出現)─這是個很流行的TCP/IP網路程式設計介面.對那些
      有C程式設計經驗的人,Socket介面是由好幾個C的標頭檔(header files),以
      及幾個能讓你建立連線與收發資料的函式所組成。
      你可以使用Berkeley Socket程式介面去發展Internet工具,像是World Wide Web
      (WWW)瀏灠器。因為大部份的TCP/IP程式都是用Socket介面,而也因著
      Linux支援socket介面,所以要讓這些程式可以在Linux上執行是很容易的。



    • Slip和PPP

      不是每個人都能用Ethernet連Internet,特別是那些在家裡使用Linux的人,有一
      個可以透過電話線與數據機,使用TCP/IP協定與Intetnet連線的方法,首先你需
      要一個伺服器(server)─這是一個與Internet連線並且接受撥號連線的系統。

      現在,有Internet服務供應商(Internet Service Providers- ISP)提供這樣的連線
      收費服務.如果你不想花錢,那在你工作的地方找看看是不是有提供這種服
      務,這並非不可能喔,特別如果你是用Linux PC在家幫公司發展UNIX軟
      體,公司裡很可能就會有。
      當你想透過server連Internet,那麼這個伺服器至少得支援下面兩種協定的其
      中一種:

      Serial Line Internet Protocol(SLIP)
      Point-to-Point Protocol(PPP)

      這兩種都支援在電話線上使用TCP/IP協定,SLIP比PPP簡單,不過比較舊,
      PPP支援較多的連線特性,要達成連線,你系統上用的協定得和server一樣。

      SLIP和PPP這兩種Linux都支援,你可以讓Linux變成SLIP或PPP server第
      六章Genie的設定項目中會說明如何去設定ppp。



    • NFS


      在 MSDOS和 Microsfot Windows世界裡,你應該對檔案伺服器(file server)有
      概念,這是一個維護重要檔案,並讓其他在網路上的系統可以分享這些檔案的
      系統。所有在網路上的 PC 都分享一副多個磁碟機 ,在 DOS和 Windows中,
      server分享出來的磁碟機在使用者看來跟他本身機器上磁碟機是一樣的,都會
      有一個磁碟機號碼,像是 U,在 PC 網路中,要做到檔案分享,常是使用
      Novell的 Netware或是 Microsoft 的 LAN Manager協定 。
      檔案分享的觀念同樣存在於 UNIX,Network File System(NFS)就提供了一個跨
      越網路相互存取檔案的標準方式,對使用者而言,遠方系統的檔案是以本地系
      統目錄的形式出現 。
      Linux一樣有 NFS,你可以分享你Linux系統裡的目錄給同樣支援 NFS 的系統
      那些利用 NFS 存取你檔案的系統不一定要是 UNIX ,也就是說,你可以把
      Linux當作檔案伺服器,給那些跑 DOS和 Windows的 PC 使用,XLinux中的
      Genie動態設定項目中會更進一步教您把 NFS 架設起來 。



    • UUCP

      UUCP(UNIX-to-UNIX Copy)是一個較舊但是仍很重要的協定.這個協定仍然是
      電子郵件和網路新聞(news)交換的方法之一。使用者網路新聞(USENET news)-
      Internet的佈告欄系統的發明,催生了UUCP,當電腦是以電話線和Modem連
      通時,都是以UUCP這個協定來交換電子郵件訊息,新聞項目,檔案等等。基
      本上,這些訊息和新聞是以接力的方式從一台電腦傳到另一台。這花費非常
      低。雖然現在的電子郵件和新聞大都是在不間斷連線的網路傳送,但UUCP
      仍然提供了許多偏遠系統一個可以使用USENET news和電子郵件的簡易方
      法,同時也讓它們成為Internet的一份子。
      Linux裡有UUCP。如果你有Modem,而且你想利用撥接的方式和其它系統交
      換檔案,可以考慮UUCP,





  2. 基本網路指令簡介

    • telnet指令(與遠端終端機連線)

      在Internet上由於有很多的網點位址,當讀者想要進入遠端的電腦時,可以利用telnet來
      做與遠端終端機連線的動作。其語法如下:

      telnet常用語法 : 【 telnet 網路位址/該機名稱 】



    • ftp指令(下傳/上載檔案)

      ftp 是用於 Internet 上的檔案傳輸工具。

      ftp 語法: 【 ftp 網路位址/該機名稱 】

      假設讀者用ftp想要去交大下傳檔案到讀者自己的電腦內,可以這樣執行




      ftp nctuccca.edu.tw


      一開始交大的 ftp server會詢問讀者的 login
      name,由於我們都沒有在交大有帳號,故在
      此的login name都鍵入anonymous或者ftp,接下來會詢問讀者password,這時password
      就輸入讀者自己的E-mail帳號即可,這樣就能進入交大的ftp server去捉取讀者想要的檔
      案。

      在捉取檔案之前,我們都會做幾個指令動作,第一個指令為bin,這是設定在傳輸檔案時,
      用二進位【binary 】來傳輸,第二個指令為hash,此指令是說當每傳輸1024bytes,就會出
      現一個#,用此可觀察出在傳輸時是否有斷線的情形發生,第三個指令為prom,此指令是在
      傳輸檔案時關掉交談功能,以增加傳輸速率。
      在做完上面的動作後,就要真正的捉取檔案,其捉檔的指令有兩個,一個為get,這個指令
      只能一次捉取一個檔案,而且在下指令時,其捉取的檔名不能使用萬用字元;
      另一個為mget,這個指令一次可捉取數個檔案,而且在下指令時,其捉取的檔名可使用萬用字元。

      至於上載檔案的指令為put與mput,其用法與get、mget完全相同,在此就不多加累述。而在
      上載的時後,是有一些限制,其限制為讀者必須在該機上有讀者的帳號或server提供此權限
      ftp server,這樣才行上載檔案。

      要離開ftp,請打bye或exit離開。



    • ncftp

      在本節要介紹的是一套有關於ftp的Shareware軟體─ncftp,它的全名是nice ftp,
      顧名思義是一套滿好用的ftp程式,它加強了一些傳統ftp的功能,尤其是可以將整個
      目錄包含子目錄完整的搬回來。

      其實這個程式跟ftp的執行方式大同小異,假設我們要連往192.192.73.9這台
      FTP Server,範例如下:




      ncftp 【 -u user 】 192.192.73.9


      如果沒有-u選項,則會自動用anonymous的身分進入FTP Server,
      你可以在【misc>】這個提示下輸入你要執行的指令,其實ncftp跟ftp的指令功能
      是大同小異的,讀者可以執行【?】來查看ncftp這個程式的指令,你可以發現指令
      大部分都是一樣的,有一點不同的是,ncftp這個程式裡有些指令可以另外加上
      參數來提高指令的功能,

      範例如下:

      misc>?get ←在提示符號下,執行【 ? 】來查看【 get 】指令的功能




      get: fetches files from the remote host.
      Usage: get 【-flags】filel 【file2...】
      Flags:
      -C : Force continuation (reget).
      -f : Force overwrite.
      -G : Don't use wildcard matching.
      -R : Recursive. Useful for fetching whole directories.
      -n X : Get selected files only if X days old or newer.
      -z : Get the remote file X, and name it to Y.

      Examples:
      get README
      get README.*
      get -G **Name.with.stars.in.it**
      get -R new-files-directory
      get -z WIN.INI ~/junk/windows-init-file


      從以上的說明中,我們可以清楚的知道【get -R 目錄 】可以將整個目錄都傳輸至你的機器
      上,【get -z 】可以改變檔案名稱,所以筆者建議讀者們要好好的應用【?】來了解每
      一個指令的功能,會有助於讀者們對 ncftp 這個程式更加的熟悉。




  • mail指令 (收信與寄信)

    當讀者要在站上寫信給讀者的朋友時,讀者可以這樣執行 :


    mail (對方的)E-mail Address

    假設我們要寄一封信給 www.xlinux.com.tw 這台機器的 partner 使用者,範例如下 :




    mail partner@www.xlinux.com.tw


    Subject為這封信的標題,我們寫test,按Enter後,就是這封信的內容,我們是寫this
    is test letter.,寫完內容後,按Enter,再按【.】號,再按Enter,這封信就寄出去了。
    假如讀者要寄信的對象,其Mail Server是跟讀者同一台機器的,讀者只要執行mail
    使用者的名字就可以了。又或者讀者是要寄一個文字檔或是讀者編好的檔案,
    讀者可以這樣執行 :


    mail 使用者的E-mail Address < 文字檔案


    假設我要寄test.doc給 www.xlinux.com.tw 這台機器partner這個使用者,則是要這樣寫 :



    mail partner@www.xlinux.com.tw < test. doc

    當讀者有新的信件時,系統會通知讀者有新信件進來,讀者只要執行



    mail


    不加任何參數,就可以看信了。

    You have new mail. ←系統通知讀者有新信件,接下來執行mail看信。範例如下 :




    Mail version 5.5 6/1/90. Type? for help.
    "/var/mail/lee" : 1 message 1 new
    >N 1 root Fri Aug 14 14 : 50 14/406 "test"
    & 1 ←執行 1,看第一封信
    Message 1 :
    From daemon Fri Aug 14 14 : 50 : 17 1998 ←信件的日期
    Date : Fri , 14 Aug 1998 14 : 50 : 17 +0800 (CST) ←信件到達的日期
    From : partner <root》 ←信件的來處
    To : lee@xlinux.com.tw ←收信者的E-mail Address
    Subject : test ←信件的標題

    This is test later. ←信件的內容

    &


    讀者要再看信時,還可以在提示符號"&"之下加一些參數,來處理信件,範例如下:

    當讀者看完一封信,要刪除它時,用

    & d

    假設讀者收到很多封信,想刪除第一封到第五封,則用

    & d 1-5

    刪掉全部則用

    & d*

    將信另儲存成一個檔案(假設我們要將信另存一個新檔 letters)則用

    & s letters

    回信則用

    & r

    讀者想知道其它的參數功能,則用

    & ?

    離開系統,但不將所看過的信儲存成mbox,則用

    & x

    離開系統,將所看過的信儲存成mbox,則用

    & q



  • ping 指令 (測試遠端電腦是否在線上)

    當讀者想要連線到某一個遠端電腦之前,可以先利用ping來測試遠
    端的電腦是否有在線上,若有在線上的話,則可以正常的使用,若沒有在線上時,
    可能是遠端的電腦已關掉,或者是網路線上有台主機已當機,所造成的結果。

    假若讀者在使用網路時,覺得網路異常,讀者可先自行測試一下,便可知道那一台
    主機有當機的情形發生。底下是 ping 192.192.73.1,且有在線上的範例,如下所示:



    ping 192.73.18.6




  • traceroute 指令 (列出所經過的閘道器)

    這個指令是列出當讀者要連線到遠方機器時,所需要經過的閘道器,通
    常是用來查看網路是否能正常運作。

    tranceroute 常用的語法: 【tranceroute IP 位址 】

    假設我們要查出從本身機器連到192.192.180.180 (台中商專)
    這個位址時,要經過哪些閘道器,讀者可以這樣執行。



    wwwl : ~# traceroute 192.192.180.180


    從以上的範例,我們可以知道從本身的機器要連到 192.192.180.180
    這個位址時,可能要要經過的閘道器。




  • ifconfig 指令 (設定與管理網路介面)

    這是用來設定與管理網路介面的指令,網路介面泛指網路卡、PPP、SLIP、Loopback 等等。接下來我們介紹ifconfig的一般用法 :

    ifconfig 常用語法:【 ifconfig -a 】

    這可以查詢所有的網路介面情形,

    舉例 :如果讀者懷疑自己的網路介面當掉了,則可以執行以下指令。

    www1: /# ifconfig de0 down←停止網路介面。

    www1: /# ifconfig de0 up←再啟動網路介面。

    www1: /# ping 192.192.73.1←隨便一台遠端機器。



  • netstat 指令 (查詢網路使用情形)

    這一個指令可以讓讀者查詢現在的網路使用以及連線的情形。

    netstat常用指令:【 netstat「參數」】

    1.現在我們來查看網路介面流量,可鍵入

    netstat -i │more

    以下為代表的值:

    Ipkte:接收到的包封。

    Ierrs:接收到但是受損的包封。

    Opkts:送出去的包封。

    Oerrs:送出去但是受損的包封。

    Coll:表示發生碰撞的次數。

    2.查詢TCP網路連線的情形,可鍵入

    netstat -t │more

    3.查尋所有路網路連線的情形,可鍵入

    netstat -a │more




  • 7.8 QUOTA的使用



    1. 安裝Quota使用者硬碟空間管理:

      Quota的設定在XLinux中將讓您更容易地設定它, 可參考本手冊第六章6.2節
      Genie的預設項目
      中的User/Group/Quota設定。

      以下是傳統的Quota設定方法:

    步驟:


    • 修改/etc/stfab�

      增加欲限制的partition如/dev/hdaI/ext2defaults,usrquota, grpquota 11



    • 重新開機後執行


      quotacheck -a


    • 開啟Quota功能 (2,3執行一次即可日後不必執行)


      quotaon -avug



    • 在設定user的Quota限制, 是使用

    edquota -a username


    來設定user Quota的限制,而要設定group的Quota限制,是使用


    edquota -g groupname


    通常我們的作法是先設定單一user的Quota後,再設定所有
    的使用者,使用剛才所設定的單一user的Quota值,這樣每一個使用者
    的Quota限制就會相同。假如我們先設定一位學生帳號a8530614的Quota
    可用


    edquota -u a8530614


    執行後會出現一個vi畫面,其畫面如下所示:

    Quotas for user a8530614i

    /user:blocks in use:8 , limits(soft=4000 , hard=5000)

    inodes in use:8 , limits(soft=200 , hard=300)

    在上面的圖中,所要更改的只有soft和hard項中的數字,而blocks(容量)數
    字是以「Kbyte」為單位,inodes(檔案)數字是以「個」為單位,其中soft
    是指當該使用者總共所儲存的資料已超過4000K,或是檔案已超過200個時
    ,Quota會出現一個訊息通知該使用者,說能夠所儲存的空間已經快要滿
    了,必須要清除一些已不用的資料,這樣才會有多餘的空間能讓該使用者
    儲存資料,七日後如果仍無法改諄的話,將禁止寫入任何檔案,其中hard
    是指該使用者當使用硬碟到達5000K,或是檔案超過300個時,則Quota就
    不會讓該使用者儲存該資料,立刻禁止寫入檔案。除非使用者去清除一些
    沒用的資料,騰出足夠的空間才能儲存。


    假如讀者想要關閉Quota功能,讀者只要將soft、hard的值,改成0就可以
    關閉Quota。

    在設定完單一使用者的Quota後,我們就要把:user1、user2、user3使用者
    都設定成為剛剛所設定單一使用者的Quota值,可用


    edquota -p user_source user1_target, user2_target, user3_target


    其中user_source是指要copy的來源user,而user_target是指要copy的目的user。
    如果要一次來完成所有學生帳號的Quota設定,我們的作法是先切換到使
    用者目錄所在後,再執行


    edquota -p a8530614 *


    這樣所有使用者的Quota值,就會與a8530614的Quota值相同。而group的設定和user也是一
    樣的,假設我們要設student這個group的quota設定,讀者可以這樣執行:

    edquota -g student


    假若讀者想要查看一位user或一個group的Quota設定,讀者可以使用:


    quota -qv -u uaername

    quota -qv -g groupname


    上面語法中,"-q參數"為顯示當已超過讀者所設定的soft以及hard已到限制; "
    v參數"是使用於讀者還沒有啟動檔案系統的Quota,或者使用於讀者已啟動Quota,但還沒有
    分配任何的blocks。


    系統管理者或是具有Operator group 的使用者,可以執行repquota -v -a
    來查詢所有使用者的QUOTA使用情形。





  • Quota注意事項

    在建立使用者quota硬碟容量配額時,有一個問題時常發生,即是UID和使用者帳號搞混了,
    問題發生的背景是一般教育單位常利用免費的FreeBSD或Linux提供學生電子信箱和個人首頁
    服務,此時系統管埋者大多會使用學生的學號來當作帳號,方便日後的管理,如果不巧的是
    學生的學號全部均是阿拉伯數字的話,問題便發生了。當我們使用edquota -u
    uaername來設定使用者quota硬碟容量配額時,如果uaername為阿拉伯數字的話則系統
    設定是UID(使用者識別號),而非該位使用者!所以在此建議不妨在全部均是阿拉伯數
    字的學生學號前面加個英文字母來當作帳號,避開此一問題。

    有時我們可能新增加使用者後,卻忘了同時限制使用者quota硬碟容量配額,使得系統
    有崩潰的危機,所以日常的檢查是必需的,首先我們切換至使用者有使用者的目錄中,
    一般是/home,


    執行cdhome;quota -u * more/,檢查一下是否有漏網之魚。接下來執行
    cdhome;quota -q -v -u *,more/,檢查一下超過提醒配額的使用者。



  • 如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
    列表为空,暂无数据
      我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
      原文