SCOUNIX講座 文:Santa Cruz Operation, Inc. UNIX向來是強勁的作業系統,屹立多年不倒,但是,對一般使用 個人電腦的用戶來說,確是比較陌生,有見及此,編輯部選擇了 在個人電上也可運行自如,毋須龐大的Mainframe或甚麼大機器的 SCU UNIX,介紹給大家,讓各位對另一廣闊無限的作業領域探首 一下,也許玩起Internet時,會有另一番天地,別錯過這一連十 二期的「UNIX自學篇」了。 可能有些人會誤以為UNIX只是那些功能強勁的龐然大機方會使用 的作業系統,誰不知道在個人電腦上,一樣可以使用,只不過所 使用的是特別為個人電腦設計的PC UNIX,SCO UNIX就是其 中的表表者。 對於慣用DOS或視窗環境的朋友來說,UNIX的第一重關卡就是那 些「敏感標號」(Sensitive Case),字母的大小寫俱有不同的 意思,Ls、IS、LS或Is這些指令全不相同,所謂「差之毫□,謬 之千里」,它對大小寫可是絕對敏感的。 文件名稱 在SCO UNIX下,建立的文件檔案名稱,可以是包含最多十四個 字母數字字符的任意組合,既可使用下橫「□」,也可使用句號 「。」。 不過,文件名稱卻不能使用某些特定字符,因為它們對Shell來說 有特定意義。這些不能用作文件名的字符,分別是「;」「|」、 「〈」、「〉」、「』」「$」、「!」 、「%」、「(」和「 )」,而文件名稱中也不能含有空白空格等。 文件存取權 每個文件都可以擁有不同的存取權限,界定其它用戶能否存取文 件和目錄。 每個文件分為三類所有權:文件的屬性、屬主所在小組的成員( 即組員),可存取系統的其它用戶。用「|」的指令,就可以查 看文件的權限。 drwxrwx… 好像上列的文件存取權限,第一個符號指示文件類型,減號為普 通文件,d則表示目錄文件。接著的九個字符分成三組,分別表 示屬主、組員和其它用戶的存取權;每組有三種存取權:「代表 讀(Read)、w代表寫(Write)和x代表執行(Execute)。而沒 有存取權的相應位置則會出現減號(-)代替。 目錄存取權 基本上,文件與目錄之間的存取權的設置大致一樣,但仍有些微 分別。 首先,要查看目錄的存取權限,就要在「|」之後,加一個空白 處,再加上「-d」。如果要改變當前目錄,則用「cd」。 改變存取權限 要加文件或目錄的存取權限,可用「chmod」的指令,例子如下: $chmod g+rw filename g代表更改組員可以享有的存取權限,+rw就是讓組員可以讀與寫 該文件。而u則代表文件的屬性,o代表其它用戶;減號(-)則 代表取消某類人的某些存取權限。 另一種更改權限的方法,就是使用八進制的數值指定存取權。每 個符號賦與一個數值,r是4,w是2和x是1。例如組合讀與寫,其 存取權的數值就是6。又譬如欲使文件對文件屬主、組員和其它用 戶均具讀寫權,指令如下: $chmod 666 filename 更改用戶屬主 每當創建新檔案與目錄時,標記你是屬主,你的同組人員為組員, 如果要把文件的使用權交給別人,只有屬主方可更改,指令如下: $chown owner file chown改變了文件的身分ID (UID) 改變屬組要改變文件所屬的組別──文件組ID(GID),指令變 為: $chgrp group file 瀏覽文件內容 需要求助,可按?鍵。至於,瀏覽文件內容有幾種方法,可使用 more,顯示大文件,指令如下: $more filename 按〈space bar〉,顯示正文的下一全螢幕;按〈return〉,轉往 下一行;按q進出文件;鍵入模式前綴(/),就可鍵入需要查找 的匹配模式,若模式找不到,則會顯示「pattern not found」的 信息。 按pg則逐次翻一個螢幕,而每個全螢幕後,都隨提示符(:), 按〈return〉,看下一螢幕,鍵入+n,向前移動n個螢幕;-n, 向後移動n個螢幕;打入$,則移到文件尾。 如果使用Cat看文件內容,就可以在全熒幕上滾動文件內容。在任 何位置,按<ctrl>s,文件就會停止滾動;按<ctrl>q,則會 繼續滾動;按〈del〉則中斷不看。 處理文件 cp指令為複製文件,可以有多種用法。 (一)$cp old.file new. file 備份一個文件 (二)$cp file 1 file 2 Test 將file 1和file 2複製到Test目錄下 至於,mv則為改名指令,譬如 $mv fruit apples 就是fruit改名為apples rm則是刪除文件的指令。文件一經刪除,就不能恢復它,故此, 要加倍小心。 $rm- i filename 加上「-i」,刪除前,系統需要確認。 SCO UNIX UNIX 自學篇:第二講shell環境 文:Santa Cruz Operation,Inc. 何謂shell shell是用戶與作業系統之間的交互層,用戶修改其環境,設置或 取消shell的環境變量,迎合用戶的需要和愛好。 shell本身就是一個電腦程序,用C語言編寫,為協助用戶與作業 系統之間通訊而設計,管理用戶與核心(Dernel)之間對話,並 把作業系統指令換成機器代碼,其實PC用戶常用的DOS,本身就 是一個shell。 sshell的用途 shell的主要任務是:提示用戶打入指令,讀指令,轉換指令為核 心所能理解的語言。其實,shell可以看作為指令解釋程序,提供 一些工具,亦可以利用shell的編寫工具,構造電腦程序。 System V shell類 SCO System V的shell可分為四大類:Bourne shell;C shell; Korn Shell;和菜單驅動shell。而菜單驅動shell可再細分為三 類,分別是Open Desktop,Sysadmsh或scoadmin和客戶應用程序。 每個shell都有自己特定的環境文件,可以自行修改至合用,這些 環境文件就仿如DOS的批次檔案(Batch File)。 Bourne shell 對普遍用戶來說,Bourne shell可以說是第一個UNIX shell , 它是由AT&T貝爾實驗室Stephen Bourne所編寫。默認提示( Prompt)是美元符($),其環境文件為profile文件,由於文件 檔案不大,可以馬上啟動執行。 profile是存放在主目錄下的普通正文文件(Text File),通過 設置環境變量(Variable)和終端模式,可以使環境個人化,每 次註冊進入系統時,shell會讀入profile文件,並執行所列出的 指令。 每當系統管理員創建新用戶的戶口時,系統都會自動構造一個相 應的.profile文件;而整個系統的環境文件就放置在 /etc/.profile中。 用戶可以使用vi或其他正文編器修改。若要使用env命令顯示,由 於註冊時已設置了這些變量,也不一定需要另行設置。 C shell C shell是由Berkeley的Bill Joy編寫,是標準BSD(Berkeley System Distributou)命令解釋,其默認提示是份符(%),環境 文件則是cshrc和.login。 C shell采用C語言,是UNIX和XENIX系統上公共軟件的開發語 言,提供了方便工具,快速打入,校正和再打入命令行。 .login是C shell的註冊環境文件,負責啟動shell,註冊時執行 一次,而.cshrc則存放常用指令如alias等指令。譬如我們要創建 一個永久別名,把命令who|sort|more別名化為wh,在提示(%) 後,只需要鍵入wh即可。用戶可在.cshrc□鍵入下面一行: alias wh 'who/sort/more' Korn shell Korn shell是AT&T貝爾實驗室David Korn所開發,是Bourne shell的增強版本,綜合了Bourne shell和C shell的特點和約定, 而Korn shell則比Bourne和C shell執行得更快。 Korn shell的默認提示與環境文件,跟其前身──Bourne shell一 樣,同為美元符號($)和.profile文件。 進程控制 雖然同一時間,系統中運行許多進程,但是某一特定時刻,CPU只 會讓一個進程使用,而CPU則在行使中的進程之間快速輪換,每 個進程所占用的時間,稱為時間片。SCO System V為了保持、跟 蹤或調度每個進程,會給每個進程一個進程標識號ID或PID。 要確定那些進程正在運行,用戶可以使用ps顯示閣下的進程;或 加上-e選項,顯示所有進程;加-f選項,則顯示的進程還包括已 啟動指令的執行中進程;-u login顯示某註冊用戶的進程。 在SCO UNIX System V中,如果閣下擁有Root指令的作用權, 就更可以看到所有進程。 當一個指令需要較長時間完成,可以在指令行後尾加入&元字符, 該指令就會在後台執行,但對交互工作方式的指令就不適用了。 菜單驅動shell 菜單驅動(Menu-Driven)shell可再細分為三項: 一、Open Desktop Open Desktop采用XWindow圖形用戶介面,用戶可用圖符(Icon) 窗口和菜單操作,如Open Desktop的作業系統就是SCO UNIX System V/386。 二、系統管理員Shell:Sysadmsh或scoadmin Sysadmsh或scoadmin則是字符介面,用戶可不用學習指令行語法 和選項,就可以執行大批指令。大多數系統管理任務僅由系統管 理處理,系統管理員則有特定的根口令(Root Password)。 三、客戶應用程序 某些用戶為了存取內部郵件、字處理或報表等應用程序時,方會 使用SCO System V,系統管理員可以裝上這些程序,令它們在注 冊時呈現。 許多程序提供一個菜單選項,用簡單打鍵選取一個選項,用戶毋 須記著指令和指令選項,亦能操控。 -- 第三講vi editor 文:Santa Cruz Operation,Inc 任何用戶最常做的事要數創建和編輯文件,包括文檔、報告和文 字,vi(Visual Editor)是一個有效而相對簡單的全熒幕編輯, 使用vi,只要記著少量基本指令,就可以開始起步,再學習其他 更複雜的指令,而系統管理員則使用vi管理和維護系統。 vi是包含在SCO System V作業系統中的全熒幕編輯,其實,vi不 獨存在於SCO UNIX內,而是UNIX內相當普及的文件編輯。開 啟文件 無論是開啟新檔或修改舊文件,都可以使用vi,所需指令為: $ vi filemane 如果文件是新的,就會在熒幕底部看到一個信息,告訴用戶正在 創建新文件。如果文件早已存在,vi則會顯示文件的首廿四行, 用戶可再用游標(cursor)移動文件。 This is what vi looks like. ∼ ∼ 上面是一個經vi開啟的模擬文件,一行開始處的波折號(∼)表 示文件的結尾。指令態與插入態 vi使用了兩種狀態,一是指令態(Command Mode),另一是插入 態(Insert Mode)。當vi處於指令態時,打入的內容會視作指令 來解釋;另一方面,當vi處於插入態時,就可以打入正文(text) 給文件。 大多數vi指令是單字符,由插入態改變為指令態,指〈Esc〉鍵; 而由命令態轉為插入態,則可以使用下面的插入令,直接打入, 無需再按〈Return〉鍵。 —指令i在游標處插入正文 —指令I在一行開始處插入正文 —指令a在游標後追加正文 —指令A在行尾追加正文 —指令o在游標下面新開一行 —指令O在游標上面新開一行 要記著一點,在插入態處,不能打入指令,必需先按〈Esc〉鍵, 返回指令態。假若戶不知身處何態,也可以按〈Esc〉鍵,不管處 於何態,都會返回指令態。 存檔及退出 在修改文件時,如何存檔及退出指定文件都非常重要。在vi內, 行使存檔或退出的指令時,要先按冒號(:),改變為指令態,用 戶就可以看見在熒幕左下方,出現冒號(:),顯示vi已經改為指 令態,可以進行存檔或退出等工作。 下面就是一些這方面常用的指令。 :q!放棄任何改動而退出vi,也就是強行退出 :w存檔 :wq存檔並退出vi :x與wq的工作一樣 :zz與wq的工作一樣刪除正文 刪除或修改正文都是利用插入態,故此,下面所提及的指令只需 在插入態內,直接選入指令即行。 —x刪除游標處字符(Character) —nx刪除游標處後n個字符 —nX刪除游標處前n個字符 —ndw刪除游標處下n個單詞(word) —dd刪除整行 —d$或D刪除由游標至該行最末 —u恢復前一次所做的刪除 修改正文 當使用vi修改正文,加減字符時,就會采用另一組在插入態操作 的指令。 — r char由char代替游標處的字符 —Rtext〈Esc〉由text代替游標處的字符 —cwtext〈Esc〉由text取代游標處的單詞 —Ctext〈Esc〉由text取代游標處至該行結尾處 —cc使整行空白,但保留游標位置,讓你開始打入 —如刪除指令一樣,在指令前打入的數,表示執行該指令多少次。 正文模式檢索 要檢索文件,必需在指令態下進行。所謂「模式」,就是一個特 定字符串,其中可含空格符。 —/str〈Return〉向前搜尋str直至文件結尾處 —?str〈Return〉往後搜尋str直至文件開首處 —n同一方向上重複檢索 —N相反方向上重複檢索 —vi纏繞整個文件,不斷檢索,直至找到與模式相匹配的下一個 出現。其他 如果要在 vi執行期間,轉到shell執行,使用驚歎號(!)執行系 統指令,例如在vi期間,列出當前目錄內容,可以打入 :!If 另一方面,用戶可以在主目錄中創建.exrc環境文件,用set打入 選項,每次調用vi時,就會讀入.exrc中的指令與設置。下面是 .exrc環境文件的實例: set wrapmarging=8 set showmode set autoindent set number -- SCO第四講:系統管理 文:Santa Cruz Operation, Inc. 今次要談的系統管理員負責管理SCO UNIX的系統,擁有獨特的 註冊名──root,能夠讀取任何文件,寫入和刪除任何文件,執 行任何實用程序和指令,亦可以執行和終止任何用戶程序。 系統管理員的工作包括系統控制的任務,例如後援加鎖和解鎖終 端和記帳號、增加、隱退和撤消用戶。亦可以給用戶一些特權, 讓他們實現特權系統任務。 基本指令 shell指令的基本數據結構是文件,因此,基本指令和操作包含以 下功能: -顯示及管理文件中的指令 -管理目錄的指令 -輸入輸出重新定向和管道,重定向標準I/O,並執行組合指令$ W|grep 'john'〉john,file -輸出重定向符(>)把標準輸出重新定向輸出到文件 ──輸入重定向符(<)把標準輸入重定向從文件輸入 -管道符(|)把標準輸出重定向輸出到別一指令 尋找文件 find(c)指令可以在層次目錄中查找文件,例如: $find/-name filename -exec rm {}; -name filename指定filename -exec rm表示在所找的文件中執行rm移動這個指令 另外,用戶亦可以加入,-print表達式,顯示找到文件的全路徑 名。 除此之外,find(c)也可以用來找出特定用戶或用戶組所持有的 文件,譬如: $find/-user bin -print $find/-group mmdf -print 又或者,用find(c)重新定向過濾程序,輸出錯誤信息,例如: $find/-name motd -print 2〉/dev/null SCO shell 使用SCO shell,可以讓用戶從單個菜單中選出應用程序,管理 文件和目錄,運行系統實用程序,要調用SCO shell,可鍵入: $scosh 可以利用空格條鍵〈Space Bar〉或箭頭鍵〈Pointer〉移動光標, 加亮所選的菜單項 -按〈Esc〉 回到上一級,或放棄當前操作 -按〈F3〉 顯示所在字段中可用選項表 -按〈Ctrl〉v 在字段選項表中選出每一項 -按〈F1〉 顯示求助信息 -按Quit或打入q 退出SCO shell 系統管理shell 需要調用系統管理員shell,應該打入: $sysadmsh或$scoadmin 雖然每個用戶都可以調用sysadmsh,但是,只有實權的用戶才可 執行有關特權管理任務。 基本上,使用方法與SCO shell差不了多少,只是多了幾個功能 鍵(Function Key),例如〈F5〉搜索,〈F6〉改變目綠和〈F7〉 執行格式。而且,scoadmin更可以在XWindow的圖形環境下執行, 用戶在圖符(lcon)上找到不同的管理任務。 多重註冊螢幕 控制台上,可以允許用戶最多具有十二個不同註冊期的螢幕。多 重螢幕令系統管理員可以同時執行幾個任務。 系統啟動時,控制台上的多重螢幕就會自動活動起來。同時按〈 Alt〉鍵與〈F1〉至〈F12〉功能鍵,實現螢幕之間轉換。 至於,在終端上,啟動多重註冊螢幕,則可用mscreen實用程序, 為正確工作,mscreen要求為tty。例如啟動兩個螢,應該打入 $mscreen-n2 然後按〈Shift〉鍵與〈F1〉或〈F2〉鍵,在兩個螢幕之間轉換, 當註銷時,確保所有螢幕註銷。 -- SCO第五講:電子郵件 文:Santa Cruz Operation,Inc. 在SCO System V下,每個用戶都有一個系統維護的私人郵箱, 用戶能夠與系統任何用戶或用戶組之間收發電子郵件,所收發的 信息可以保留在郵箱內或作獨立文件處理。 發送郵件 打入mail指令,後跟收件人註冊名,就可發送郵件。假如發送郵 件給多個收件人,名字用空格符〈space〉分隔,而不是逗號。收 件人可以是一個單獨註冊名或一個別名,別名代表用戶組,例如: $mail peter amy 接著,螢幕上會出現subject:的提示符,用戶即可打入簡短的信 息說明,完成後,按〈Return〉鍵,然後,就可以編寫郵件內容。 需要校正錯誤,就該使用空格符或左箭頭鍵,用不當的空格符或 不合適的箭頭鍵,即使在螢幕上看起來對,但是收件人可能只收 到不可讀和篡改了的信息。請記著,mail內的內容編寫,不是「 所見即所得」(What You See is What You Get)。 假若需要取消整個信息,按〈del〉鍵兩次。寫完郵件內容,按〈 Return〉鍵,取得新行後,按〈Ctrl〉d,發送郵件。d就是done( 完成)的縮寫。 閱讀郵件 每次註冊進入系統時,系統都會通知閣下,在閣下的郵箱中可有 郵件,需要翻閱郵件,打入 $mail 若有郵件,每每郵件都會顯示出相應的信息標題,包括信息數, 送件人及發送日期。下面是郵件範例: $mail SCO System V mail(Versin 3.2)Type? for Help "/usr/spool/mail/joesco":2 messages/new/unread u2 mary Sun Aug 05 23:48 47/2109 level 2500 n1 paul Fri Aug 03 08:01 23/6332 Tardy reports! 要閱讀來件,可以使用箭頭鍵移動選取,按〈Return〉鍵閱讀, 或在提示處,直接按入來件編號。若已讀到郵箱中最後一批信息, mail在螢幕上會顯示"Can't go beyond last message" 。 處理mail 當打入一個無效指令時,mail會回答一個問號,或"What" 的信息, 顯示指令不清。假若用戶想顯示mail指令表,可以打入?;或打 入h,顯示郵牛標題表;打入l,則會發送信息至打印機。另有一 些常用的指令,協助處理mail: 一、保留郵件 "s filename"按普通正文文件保存整個信息至filename內,連同 郵件的標題信息,一並送入文件內。 "w filename"撇除郵件標題後,保存信息到filename內。 二、刪除郵件 "d x" 刪除信息x這個信息號數 "u x"恢復被刪除的x信息 三、覆件 "r"發信回答給送件人 "R"發送回答給To:和Cc:表上的所有用戶 四、轉發郵件 "f login"轉發信息,予其它用戶,並分送來件正文(Original Message);login乃用作的注名 "F login"只轉發信息,不分送來件正文 五、退出郵件 "q"退出mail程序,並更新所有改變 "x"退出mail程序,但不作任何改動 其它處理郵件的方法 除了以上所提到的基本指令處理郵件外,SCO UNIX尚有其他較 複雜的指令可整理郵件。在mail內,所有指令前都要加上波折號∼ v,調用vi編輯,一旦完成編輯信息,通過vi的指令,例如保存和 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接發 送郵件信息。 其它mail的增強指令如下 -∼m messate-no.把郵箱中指定信息 (message-no.)放到所編寫的信息中 -∼r filename讀入指定文件(filename),送到當前信息中 -∼p察看信息中的當前內容 -∼?求助 為了方便mail通訊,系統管理員能夠定義不同的特定單用戶或組 別名,通過這些單個組、別名或名字,就可以把郵件信息發送給 全組用戶。發送給別名成員,可鍵入如下指令: $mail aliasname 如果要限制組員和其它用戶的私人郵件的存取權限,可以使用 chmod指令,例子如下: $chmod 600mbox 在普通電子郵件提示處打入set,可以控制選項,改變讀和發送郵 件,這些選項可以由系統管理員為用戶自動建立,也可以自己修 改這些設置,例如: set page═10 mailrc環境文件 mail的環境文件叫做mailrc,負責保存所要文件的永久記錄。 與其它環境文件一樣,mailrc必需放在主目錄中,它是正文文件, 包涵有效的mail指令,mailrc通常包括set指令和alias 定義。 不過,運行mail程序,倒不一定要有.mailrc文件。如要查看 .mailrc,可以打入more .mailrc,下面是.mailrc的一個實例: cd -在mail內,改變主目錄nset autombox 刪除自動把所讀件轉送到私人郵箱 set page═20 -若信息大於二十行,用more顯示 alias crew john wanda frank -發送給crew的郵件轉發給表中列出的用戶 set EDITOR═/us/lib/word -把word作為mail默認編輯unset chron -顯示當前最新郵件 上述的.mailrc例的□面,當打入$mail crew, 就能夠把郵件發送給john,wanda和frank。 監視mbox是默認設置,如果不想設置的話,應該使用unset autombox,而當mbox的內容很快增長時,通常會刪去舊信息。如 果要讀mbox中的郵件,可以使用如下指令:$mail -f mbox 第六講:後援複製 Santa Cruz Operation,Inc. 電腦系統內,數據可是相當重要的一環。貯存數據的方法,可以 經軟盤、硬盤或盒式帶(Cartridge),盒式帶通常為大量數據提 供後援(Backup)。 複製目錄 在安裝的文件系統中,把一個目錄內容複製到另一個目錄中,用 copy 指令: $copy source> destination> #copy -mor source> destination> 轉換並複製文件 使用 dd(c)指令,可以把一個文件轉換成另一個文件,也可以選擇 文件的一部份傳輸,在傳輸的數據中,也可以交換字節順序。 $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k 上面的指令〞/dev/fd0〞 是指電腦上的軟盤,〞skip=n〞代表在 複製到輸出文件之前,跳過輸入文件上的幾個記錄。〞bs=n〞則 表示設置輸入輸出字節塊長度,用 k 表示 1024 字節。〞count=n〞 只複製輸入記錄的指定數。 同時,也可以利用 dd 指令檢查歸檔(archive)情況,指令如下: $dd if=dev/fd0 of=/dev/null bs=1k 1200+0 record read in 1200+0 record read out 歸檔文件:tar(c) tar 是對非特權用戶最易用和最可靠的實用程序(utility),從 歸檔介質上保留和恢覆文件,亦能從多文件歸檔中抽取單個文件。 tar 歸檔使用文件和目錄的相對或絕對路徑名。 打入 tar,即會顯示所有變量選項;」cv」是創建歸檔;」cv#」 用於來自 /etc/default/tar 的設備號 #;」rv」追加已有歸檔;」 uv」更新在已有歸檔上的文件;」tv」顯示歸檔內容表;」xv」 從歸檔中抽取文件;」f」從指定文件中讀入或寫出;」L」使 tar 跟隨符號連接繼續追查下去,默認情況下則會忽略符號連接。 譬如要歸檔指定文件,而覆蓋盤上的已有數據,指令如下: $cd pub $tar cv6 ascii greek volume end at 1199k, block factor=5k seek=0k a ascii 3k seek=3k a greek 1k 要列出 tar 歸納的內容: $tar tv6 rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii rw-r--r-- 2/2475 Jan 2 13:41 1996 greek 創建 tar 歸檔,使用相對路徑名,否則,恢復另一系統就會蓋寫 其他系統的文件。 #tar cv6 /etc/motd #cd /tmp #tar xv6 x /etc/motd, 943 bytes,2k 歸納文件 當需要後援指定設備、後援空設備與使用匹配符的時候,就不能 使用操作容易的 tar,而需要轉用比較複雜的 cpio,用以歸納文件。 譬如,需要選取文件建立歸檔,指令如下: $find /u/bill -print| cpio -oB -O /dev/fd0 20 blocks 又例如,需要抽取 cpio 歸檔文件名時: $cpio -idmuBv -I /dev/fd0 .profile ascii eqnchar greek 20 blocks cpio 主要選項為: -v 顯示工作 -i 讀歸檔 -o 寫入歸檔 -t 內容表 -d 創建目錄 -m 保留原修改日期 -U 無條複製 -B 分割因子置為 5k -Cn 分割因子置為 n -Kn 介質長度置為 n 後援複製 後援就是要平衡運行一般後援的代價與損失數據的代價,確定要 歸檔的數據類,並確定要用何級實現,以及確定所要求磁帶的盤 數和帶的容量,多久存儲一次後援等等問題。 一般來說,後援複製可在 sysadminsh 或 scoadmin 執行。 所謂增量後援(Incremental Backup Levels),就是只需要以上 次歸檔後發生改變的那部分數據後援。當實現調度後援時,在 /usr/lib/sysadmin/last/中,將文件記錄下來,可以透 過使用後援級來實現。 後援級的 0 級就是後援文件系統上全部文件;1 級則後援以上次 0 級後援以來改變的文件:2 級,後援以上次 0 級或 1 級後援以 來改變的文件;3 級,後援以上級 0級、1 級或 2 級後援以後改變 文件。 經定義後援工具後,後援調度(Backup Schedule)就可以更方便 地執行,配置檔案則會被安置在 /usr/lib/sysadmin/schedule 中。 假若在緊急關頭或特殊情況下,用戶亦可以使用非調度放援,進 行緊急後援。 -- Unix自學篇:stepl……step8…… 文:Santa Cruz Operation,Inc. 第七講:用戶管理 系統管理員的用戶理工作包括:為系統中所有用戶建立帳號;以 及當改變用戶環境、口令與組別時,進行維護。 分析用戶需求 每當需要增加用戶時,系統管理員都會先分析用戶需求,對每個 帳號成分,通過使用默認選項來滿足用戶需求。要從sysadmsh中 查看默認記帳選項時,可以使用以下選擇。 Accounts□□〉Defaults 或scoadmin□□〉Account Manager 當建立帳號時,評估用戶需求,查看是否需要修改記帳成分。若 用戶僅用一個應用程序,編輯用戶的.profile文件,在用戶註冊 時,每次均執行此文件。 默認值建立用戶帳號(Default Parameter) 首先,打入用戶註冊名,小寫與三至八個字符;填寫注解欄時, 應包含標識信息,如用戶全名、單位、電話號碼等。另外,指出 是否願意用系統默認方式建立帳號,抑或對帳號修改默認值,若 使用默認方法,則選No。確定你要增加的用戶後,給出創建後的 文件和目錄,再執行/tcb/lib/useshell指令,建立用戶帳號, 不過,在UNIX系統指令中,要通過sysadmsh或scoadmin才能運行 此指令。 若決定改變用戶記帳默認方式,則在建立帳號時選Yes,那麼就需 要填寫每欄,在合適位置上,按〈F3〉或〈Esc〉,下面是關於非 默認的設定。 指定用戶組 每個用戶必須至少屬於一個組。默認情況下,用戶註冊組是group。 在一個組內還包括讀、寫和執行文件的權限,附加用戶權限給那 個組,作為指定組員的存取權限集。如要改變成組別,可用newgrp( c)指令。 增加用戶時,可以創建一個新組,或附加到一個已存在的組內。 有關組別的信息則存放在/etc/group中。凡增加用戶創建新組 時,組名會自動遞加到/etc/group文件內。 組ID能夠由系統產生或人工指定,但必須在100到60,000範圍內, 100號以下的ID留給子系統和其他默認組用。當管理一個網絡系統 時,常需要指定GID(Group ID,組ID),避免混同各網絡結點, 所以,最好先選用默認組ID。 指定邏輯shell 要知道用戶打算選用哪個shell工作,SCO系統可選用以下幾種不 同的shell工作: csh: C shell。 ksh:Korn shell,組合了Bourne shell和C shell的特點以及指 令行編輯。 rksh:加限制的Korn shell。 rsh:加限制的Bourne shell。 scosh:SCO shell(圖型化桌面)。 sh:Bourne shell。 uucp:UNIX到UNIX拷貝功能,它本身不是shell,而是成功注 冊後運行的程序。 默認shell在/etc/default/authsh中指定,從/usr/lib/ mkuser目錄結構內文件中,取到可采用的註冊shell表。 指定主目錄 默認主目錄在/etc/default/authsh中定義,從/usr/lib/ mkuser/homepaths文件中,取到可采用主目錄的選擇。以及為用 戶創建一個新的主目錄。 指定用戶ID(UID)必須是在200到60000範圍內,指定在/etc/ default/authsh文件中,UID必須是獨一無二的,防止在網絡上 有相同的UID,而且,UID一旦設置,永不改變。 指定用戶類 另外,還需要為用戶設立他們的類別,種類如下: -individual:個人記帳類。 -pseudo-usr:為各子系統任務設置帳號,註冊時個人不應給 pseudo□usr記帳類,Operator、security officer和 administrator記帳類是pseudo□usr的其他名字。 -不能設置superuser和retired記帳類。 如果要能使用su(C)(所變用戶身分命令),該用戶必需被指定 為用戶類individual,才能取用此域,為了用su另外記帳,用戶 必須有su授權,知道帳號口令。low、traditional和improved為 安全默認值,被賦予su授權。在high 安全默認值下,則不賦予su授 權。 賦予用戶被始口令 當創建新用戶帳號時,就需要為用戶設立或不選擇不設立初始口 令。 -New:現在賦予口令,用戶在註冊時必需打入這個口令。 -Later:現在不賦予口令,在賦予口令前,用戶不能註冊。 -Blank:賦予空口令,用戶能註冊,但在註冊時,強迫用戶給出 一個口令。 -Remove:不賦予口令,用戶能不用口令註冊。 -Force Password Change:決定在用戶首次註冊時是否要用戶強 迫改變口令。 在high安全性下,必須為每個用戶產生一個口令。若賦予初始口 令,就應該告訴用戶他的口令,希望他在首次註冊時,立即修改 這個口令,修改口令時,不要選用別人能夠輕易猜出來的口令, 如姓名或生日日期等,最好在口令中,加有一個非字符。 系統安全保護:修改用戶默認帳號 為了防止被人濫用別人的用戶帳號註冊進入系統內,保障系統的 完整性,系統管理員需要修改一些用戶的默認帳號,以及檢查用 戶的註冊情況。 首先,管理員會設定不成功註冊最大次數,計算使用不正確口令 註冊的次數;當不成功註冊超過最大次數,就設定加鎖用戶帳號 和終端。如果在完成註冊時間之內,仍未能設置口令,也可加鎖 用戶的系統,甚至根戶用也一樣。在成功註冊後,希望享受優先 CPU調度,則可以用nice(C)值,給用戶she ll及由它啟動的進 程,以調整優先級。設定值會存放在/etc/system/default中。 Unix自學篇──第八講:監視進程管理 文:Santa Gruz Operation, Inc. 程序是一個可執行文件(Process)是正在運行程序一個實例。 SCO UNIX System V支持許多進程同時運行,各種系統通過調 用可用進程去創建新進程,與其他進程通訊,以及終止其他進程。 進程族系 新進程創建時,內核會分配一個進程標識號(PID)給它,並對 進程表中添加說明訊息。 由一個進程創建另一新進程,老進程為父進程,新進程為子進程。 用戶Shell執行的大多數指令又是它的子進程,子進程則運行指令。 而父進程允許有多個子進程來實現任務等,待子進程完成。一個 父進程可以有多個子進程,但是,一個子進程只有一個父進程。 前台及後台進程 在Shell提示處打入指令後,創建一子進程運行命令,Shell等待 命令退出,然回到對用戶提出提示符,這道指令與Shell同步運行, 即在前台運行。 在Shell提示 處打入的指令,若隨一個&,Shell創建的子進程運行 此指令,但不等待指令退出,而直接返回到對用戶提出提示。這 道指令與Shell同步運行,即在台運行。 $ sleep 10 & 精靈進程 精靈進程是一個進程,它與終端和用戶都無聯繫,也有人喜歡稱 他為管家婆。精靈完成一些周期性的事,平時它睡眠。用ps (C) 指令可看到精靈,它在tty區域中帶有問號(?)。 -Sched:PID 0,它完成進程的程序在存儲局和盤交換局之間交 換工作。 -init:PID 1,系統自動建的第一用戶進程,它負責初始化引 導和註冊過程,也就是所有非系統進程的祖先。它會在終端口上, 啟動getty (M)進程。 -vhand:PID 2,頁面精靈,它頻繁地把儲頁面內容送往交換區。 -bdfush:PID 3,定期刷新高速緩到盤(默認情況,每13秒刷 新一次) -logger:歸檔系統出錯訊息。 -cron:在調度時運行作業。 -Ipsched:脫機打印精靈。 孩兒進程 孤兒進程在父進程終止仍舊活動,由init (M)認它為乾兒子。 僵□進程則是進程已終止,但進程還未撤消,因為父進程並未「 等待」它,進程表仍保留著這□體,進程表的□體是僵□進程所 消耗的資源。 隨著新進程的創建,出現大量□體,但總數是有限制的,因此影 響新進程的產生。而孩兒進程與僵□進程不同,並不會影響系統 效率。 通常,在父進程死去時,才會移去僵□進程。若他們還未移去, 應由init (M)繼承並移去它。 監視進程 監視進程監註冊戶的數量,用以記系統的性能;亦會監視用戶進 程,包括掛起進程;以及裝載均值等系統性能問題。 要顯示進程信息,可以利ps (C)指令報告,進程狀態。在默認 情況下,僅會報告與當前終端有聯繫的有關訊息。若用戶沒有root權 限,ps僅限以說明運行進程,報告用戶的進程訊息。若用戶有root權 限,則會報告在所有終端上所有用戶的進程訊息。 $ ps-u joana --u 〈username〉選項顯示指定用戶的訊息。 --t 〈ttynamt〉選項顯示指定終端有關的進程訊息。 而ps -elf指令則提供了需有F、S、C、PRI、NI、TIME字段的 使用訊息。 -F是標記,指示進程位置,20表示在內存,0表示交換在盤上, 31是系統進程。 -S是狀態訊息,指示進程狀態,睡眠還是正在運行。 -C是進程占有CPU的百分率 -TIME是花費CPU的總時間。 -PRI是進程當前優先數 -NI是進程的nice (ADM)菜單 如何創建進程 當進程分岔一個子進程,自己就會進入睡眠狀態。開始時,子進 程運行父進程的同一程序,由內核分配一個新的PID。當子進程 再去執行新的程序,保持新分配的PDI,新程序就會替代子進程 的原先程序。 當子進程完成後,內核會把它從系統中移去,再喚醒父進程,子 進程就會退出。 監視系統裝載 uptime(C)指令顯示裝載均值(一分鐘、五分鐘和十五分鐘), 即在預定時間上,排隊運行進程的平均數:$uptime W(C)指令產生如uptime(C)一樣的裝載均值訊息,並顯示誰在 系統上做甚麼,若用戶擁有root權限,W報告所有用戶的有關訊 息。 若沒有 ,僅顯示與用戶進程有關竹的訊息。 PCPU(Process CPU,進程CPU時間 )顯示某道特定指令已運 行多久了。對控制不了的進程,這種檢查是很有用的。JCPU( Joint CPU,連合CPI時間),顯示一個終端所涉的所有進程的 總時間。 sar (ADM)指令是一個系統活動報告程序,顯示系統資源累積 利用率。為指示系統瓶頸口(Bottleneck),sar 是非常好的實 用程序,指令語法如下:$sar〔-option〕 〔 sample-interval-samples〕 例如:$sar-u120 -u選項顯示CPU利用情況。如果%idle一致地低,使用效能是上升, 不過,運行的進程偷不到未用的CPU周期。 又例如使用-q選項顯示進程吞吐量。假若%swpocc大於20,就發生 交換(Swapping),可以使用大內存能減少交換 /請負活動。 -- UNIX自學篇:第九講:管理進程 文:Santa Cruz Operation, Inc. 用低優先級運行進程 nice(C)指令用於以較低的調度優先級執行命令,每個進程都有 一個 nice 值,用於計算它的優先級。nice 值在 0 到 39 範圍內, 高值獲得低優先級,不給實參的默認情況是 nice 值 20。超級用戶 可指定負值,以提高優先級。 在註銷進程後進程繼續執行 後台啟動的進程,默認情況下,當註銷後就不再存在,但是,可 以使用 nohup(c)指令,讓進程不受掛起和註銷影響,得以繼續 運行,例如: $ nohup sort bigfile>sortfile & 4567 $ exit 當用戶註銷時,用戶未用輸出改向,輸出將送到當前目錄下的 nohup.out 文件中,如果當前目錄不可寫,則輸出改向到 $HOME/nohup.out。 重新啟動安全級精靈進程 根據 C2 安全級要求,某些精靈進程用 LUID (Login User Identifier)標記運行,如此只能用 sd(ADM)實用程序重新啟 動他們。 如果 LUID 限制有效的話(高安全級),只能用 sd(ADM),例 如 cron(C)這樣的精靈,在高安全級下要 sd 重新啟動它。 進程終止實用程序 需要終止實用程序時,可以通過發信息給進程,使它自殺,通常 會用在終止一些已掛起的或是運行的進程。 語法如下: $ kill [-signal] 例如 $ kill 4411 4411:terminated 這樣,只能終止運行優先級大於 25 的進程,小於 25 優先級的進 程只能在重新引導系統中撤注它。 調度單個作業執行 at(C)指令使得在某指定時間執行一組命令一次,主要用於在系統 活動較少的情況下,在預定時限(例如在半夜後或每日固定時間) 內運行指令。 要重新定向,可以使用標準輸入,或可文件輸入;在打入完整的 at 指令後,就會顯示出將要運行的作業號與時間。 語法如下: $ at time [date] [increment] < [filename] 任何用戶都能運行一個 at 作業,但必須給予授權。 指定單個作業調度時間 時間格式為 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午, 有效時間包括 no on,midnight 和 now,指定日期則用「月日 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、 mon、today 或 tomorrow 代替。 .at 指令從標準輸入中,讀入打算在以後某一時刻所執行的命令: $ at 14:00 Jan sort /u/user1/file /u/user1/sort ctrl>d job 61202778.a at Thu Jan 4 14:00:00 1996 記著使用時,要用全路徑名指定文件。指令輸出以電子郵件發送 給用戶,也可輸出改向到文件或終端。 列出單個調度作業 使用命令 $ at -1 job 612027780.a at Wed Jan 24 08:43:00 1996 job 612027900.a at Wed Jan 24 08:43:00 1996 若指定 jod_id,一般用戶會得到一張自己所有作業的表,根用戶 則能取得全部作業的表。 撤消單個調度作業 使用以下指令撤消作業: $ at -r 可以使用匹配符撤銷多個作業。at 的作業存放在 usr/spool/cron/atjobs 在一般數據庫上調度作業 用 crontab (C)指令,從指定文件或標準輸入拷貝或編輯成用戶 的 crontab 文件,該文規定了在指定日期和時間調度運行一些指 令。 crontab 指令提供了對 cron 系統精靈要執行的作業,清理 /tmp , 撤銷在一般數據上日記文件或不想要的文件,以及檢查空間,郵 寄警告予用戶等。 /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用戶, /usr/lib/cron/cron.deny 文件列出了拒絕存取 cron 的用戶,僅 當 cron.allow 文件不存在時,cron.deny 文件才起作用。 指定作業及其調度時間 作業可能是單個指令或包含多道指令的 shell 腳本,指令輸出郵 寄給用戶,也可輸出改向到文件或終端。在文件中打入作業及運 行時間,以運行此作業。文件可取任何名字,但是,不允許包括 首尾部和空白行,而且,最好取 .cronfile ,這種取名反映其功 能,易記易理解。.cronfile 文件可用正文編輯或 vi 創建。 每個用戶僅提供一個 .cronfile文件,每當執行 crontab 指令時, 新文件會蓋寫原先文件。編輯已存在的 .cronfile 文件,增加或 修改一個作業,然後用 crontab 重新提交 .cronfile 。而每個用 戶的登記項會存放在/usr/spool/crontabs/。 列出或修改 cron 作業 要列出當前提供的 cron 作業,可以打入: $ crontab -1 修改 cron 項,使用指令: $ crontab -1 >.cronfile $ vi .cronfile $ crontab .cronfile 如要撤銷 cron 作業,則打入: $ crontab -r 但有一樣,請留意,根用戶沒有 .cronfile 文件。 Unix自學篇第十講:打印管理 Santa Cruz Operation, Inc. 打印假脫機(Spooler)程序在系統引導時自動啟動,負責打印服 務的安裝、配置和管理,在指定打印機上,將用戶打印請求進行 排隊,能在不丟失排隊打印請求下暫停打印。 打印機隊列 打印機會被分組,每組共同存取一個隊列(class)。而打印請求 可以送入一個 class ,也可送往指定打印機上。 在一個 class 中,可隨時移去或增加打印機,用 sysadmsh 菜單或 scoadmin 的 Print Manager,可以增加打印機往已有的 class 中, 又或增加一個新 class。 打印機過濾程序 使用打印機過濾程序,可以轉換用戶文件或數據流,在給定打印 機上,合適地打印出來;處理兩邊打印,草圖或高質量文字打印 等;如發現打印失敗,會通知打印服務,然後告訴用戶使用上出 現問題。 打印機過濾程序又稱為打印機定義的接口腳本,存放在 /usr/spool/lp/bin。 安裝和配置打印機 要把打印機接到並行埠(Parallel Port)上,SCO UNIX System V 支持兩個物理並行設備(/dev/lp[0-2])。當用主並行 埠時,用 LP0 或 LP1,中斷向量為 7。第二個並行埠,/dev/lp2, 中斷向量同為 7。 要把打印機接在串行埠(Serial Port)上,最好接上智能卡工作, 打印機能用任意有效串行埠名聯繫。若不要求硬件流控制,可以 使用非調製解調器控制埠名。 另一方面,可以從終端輔助埠上做局部打印,指令 lprint (C) 使用戶從附在終端上的打印機上打印。 安裝打印機 要安裝打印機,先找一個未用的串行線路接上打印機,連好導線, 打開打印機開關,檢查硬件連接。 然後,調用 sysadmsh 菜單或 Print Manager 上,加入打印機,用 合適的信息填好格式,指定打印機的 Class,若所指定的不存在, 就建立一新 Class,包含接口腳本路徑名。許多打印機都能用 standard 接口腳本。 打印機管理 修改打印機配置時,可以增加或撤消目的地;改變打印機接口腳 本、設備等;以及改變默認打印機目的地。 管理打印機調度時,有幾種選項需要注意: -Stop:為實現某種打印機維護,必需將假脫打印機轉換成 off。 -Begin:假脫機轉換成 on。 -Accept :允許把打印請求送往打印機或 class 中。 -Reject:阻止請求假脫機打印。 -Enable:允許從打印機或 class 上打印。 -Disable:阻止打印,但允許假脫機出現。 每個打印請求都會賦予一個優先數,決定何時打印,優先數據取 值範圍為 0(最高)到 39 (最低)。默認優先數值同樣是 20。 所有打印請求或單個打印請求都能移到不同的隊列或打印機上, 若打印機的隊列阻塞或打印機不能用,就要移去打印請求;打印 機要維護,也要移去打印請求。如果已移去了所有請求,這個打 印機就不再接受新請求,直到打印機啟用為止。 要清理打印機請求,先要指出打印機或請求 ID ,若指定了打印機, 則當前正在打印的作業也被清除,但是,不能使用通配符去匹配 清理打印請求。 第十一講:TCP/IP 管理 Santa Cruz Operation,Inc. IP(Internet Protocol)地址是 TCP/IP 網上為主機之間數據 選擇路徑(交換)的基礎,但是,用戶通常不甚喜歡使用由數字 組成的 IP 地址,而比較喜歡使用多由英文字母組成的主機名字── URL(Uniform Resource Location)。 不過,主機名字必需映像到 IP 地址,而方法就是通過 /etc/hosts 文件完成。 配置 /etc/hosts /etc/hosts 的格式是:地址──名字──別名。 例如: 127.0.0.1 localhost localhost 132.147.18.1 vision vision.sco.com IP 地址必需是一行上的第一項,在它前面不應有任何字符,例如 空格符或製表符;名字是簡單的主機名字;別名則在很多情況下 都不需要,但是,全限主機名字、簡單主機名字和轄區名字都歸 入別名之列。 檢測 TCP/IP 配置 TCP/IP 協議的軟件部份包括 TCP/IP 協議層架的頂三級,即 應用級(Application Protocol)、傳送級(Transport Protocol) 和網際網級(Internet Protocol)。特定的主機名字」Localhost」 是特殊網絡」loopback」上的本地主機的別名。 要檢測 TCP/IP 協議層架的軟件部份,使用 ping 指令: #ping localhost 如果 Ping localhost 失敗,則使用 netstat -i[n],檢查網絡接 口的狀況,顯示網絡接口上分組傳輸的統計訊息,指令如下: #netstat -i[n] n 選項強行顯示編號,而不是名字。netstat 查看自環驅動器 lo0 , 如果 lo0 失敗,則在 /etc/tcp 中」ifconfig lo0」行指示壞了或 有錯誤。 檢測 TCP/IP 硬件 審核引導過程中,會對所職別的網絡接口產生的配置報告,而 TCP/IP 協議的硬件部分包括 TCP/IP 協議層架的底兩級,即 網絡接口級和物理/硬件級。 對網上另一主機的任何通訊都是在「物理」網絡接口上傳輸,並 不會引起數據傳輸到「自環」網絡上。 使用 ping 指令檢測 TCP/IP 協議層架的硬件部份。 #ping hostname 或 #ping IP-address 如果 ping 指令失敗,則改用 netstat -i[n] 審核網絡接口。 了解 netstat -i 的輸出 如果遠地主機上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麼, 網絡接口大概使用了不同的中斷(Interrupt),而不是它的設備 驅動程序。 如果 Ipkts 不是零,而 Opkts 等於 Oerrs,那麼,網卡的 I/O 地址 可能不正確。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麼,可 能是網絡電纜連接的不合格。 通過用 Opkts 除 Cloois ,再用 100 乘所得的結果,計算沖突的百 份比。如果沖突的百份比少於百份之五到十,那麼,所有網絡接 口是有效運行。 如果 ping 失敗,並查出網絡接口有問題,那麼,就該驗證網絡介 質操作。 調整 TCP/IP 的核心參數 沒有足夠的流資源(Stream Parameter),網絡程序是不能進行 通訊;流資源不充份的話,經常會導致較慢的吞吐率。 要核查流資源,使用 netstat -m ;也可以使用 crash 指令考察流 資源,在出現 crash 發出的提示符』>」時,打入」strstat」。 如果在 FAIL 列的下面有不等於零的項目,那麼,同一行中的 ITEM 的項目可能需要調整。如果 FAIL 列下的數目大於或等於 TOTAL 列中數目的百份之十,該資源每次應增加一或二,但不 能將該數目加倍。 由於流資源使用 RAM,當增加流資源時,應加倍小心。用戶亦可 以使用 configure 或 sysadmsh 增加特定的流資源,重新連接核心 或重新引導。 限制通過 ftp 訪問系統的權限 對於不想令其使用 ftp 跨網訪問系統的人,可以通過建立 /etc/ftpusers 文件和設立系統帳戶名字的方法,阻止他獲得利 用 ftp 訪問系統的權限。 如果 /etc/ftpusers 不存在的話,先要建立。在單獨的行上,加 上系統帳戶的名字,表明不能從網中其它系統使用 ftp 訪問該系 統,在安全系統中,不允許 ftp 訪問用戶權和 uucp ,列出任何其 限制使用 ftp 的用戶名字。 -- 第十二講:使用 TCP/IP Santa Cruz Operation,Inc. 向遠地註冊的能力非常有用,它讓我們不用到遠地系統所在處, 就能運行遠地主機上的程序,執行遠地系統管理,有兩道指令可 用於遠地主機註冊,就是 rlogin 和 telnet。 使用 rlogin 向遠地主機註冊 rlogin 允許向具有 UNIX 作業系統和 TCP/IP 協議的任何系統 註冊,而 rlogin 只能註冊到 UNIX 作業系統環境,指令如下: $rlogin remot-host-name 要避免 rlogin 因沒有提供遠地主機上的同名帳戶,可以使用下述 指令: $rolgin remote-host-name -1 remote-user-name -1 選項用於指出遠地用戶帳戶。 要中止 rlogin ,則要打入 ~.,並按 Enter/Return>鍵;亦可使用 logout 或 exit 指令。 使用 Telnet 向遠地主機註冊 不管其作業系統類型,只要能支援 TCP/IP 協議,都可以使用 Telnet 指令,允許註冊。 $telnet hostname 或 $telnet ip-address 使用 ftp 複製或傳送文件 ftp(File Transfer Protocol)允許用戶對遠地主機複製文件, 用戶毋須考慮作業系統類型,即能向或從任何具有 TCP/IP 的系 統複製文件。 ftp指令允許複製目錄中的一個文件或所有文件,但不能複製多層 次目錄。使用 ftp時,必需在遠地主機上設有帳戶。 當 ftp 註冊到遠地系統時,並未得到 shell ,而是通過 ftp 指令 解釋程序同遠地主機進行通訊。 $ftp remote-host-name 或 $ftp remote-host-ip-address 一旦註冊成功,就會出現 ftp 指令解釋程序的提示。 ftp> 用戶可以在此,使用打開指令連接主機。 ftp>open remote-host-name 複製某一文件回自己的系統中,則用: ftp>get filename 如果只想傳送某一文件往遠地主機,則用: ftp>put filename 需要複製遠地主機的全部文件進入自己的系統內,可以使用如下 指令: ftp>mget * 相反,如果想傳送自己的文件往遠地主機,則使用如下指令: ftp>mput * rcmd rcmd 允許用戶不必向遠地主機註冊,而直接運行該主機上的指令, 實際上,也要進行註冊,只不過用戶毋須作其它操作。當使用 rcmd 在遠地主機上運行任何指令時,其輸出的默認設備就會被更改為 終端。 $rcmd remote-host-name man sh 請求特殊終端處理的指令,將不含設備自身的功能,因為對遠地 指令沒有定義終端的類型,要求在遠地主機上配置受托訪問。 要列表輸出遠地主機上磁盤的利用情況,則使用下述指令: $rcmd remote-host-name df 要列表輸出遠地主機上的目錄,使用如下指令: $rcmd remote-host-name ls /usr/games 要把遠地主機上的文件備份到遠地主機上的袖珍磁帶內時,指令 如下: #rcmd remote-host-name tar cvf /dev/rct0/usr 或 #rcmd remote-host-name "find /usr -depth -print|cpio -oc > /dev/rct0 要把本地系統上的文件備份到遠地主機上的袖珍磁帶內時,使用 下述指令: #tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0 或 #find /usr -depth -print|cpio -oc|rcmd remote-host-name dd of=/dev/rct0 另一方面,如果要把遠地主機上的文件備份到本地系統上的袖珍 磁帶內時,可以使用如下指令: #rcmd remote-host-name "tar cvf -/usr" > /dev/rct0 或 #rcmd remote-host-name "find /usr -depth -print|cpio -oc" > /dev/rct0