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 有兩大流派: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 標準。
Linux 系統的主要程式碼,與傳統的 Unix 原始碼並無關係,但 Linux 的發展與操作介面,卻受到現有 Unix 系統相當大的影響。對於最初的 發展者 Linus Torvalds 而言,整個 Linux 核心的發展演進,並沒有 太多預先的規畫與期許,大抵是順應「實用主義」的概念來走。 雖然架構上主要是依照 POSIX 這個標準,對於 POSIX 標準中遺漏的部份, 則採用 System V 的實作方法。但網路介面上則完全引入 BSD 的設計, 連 System V 的 TLI 介面都沒有模擬,因此 Linux 在核心設計上, 大抵以實用與效率為考量。
跳出核心系統來看,原本 Unix 系統裡常見的 X 視窗系統,也順利地 被整合成為 Linux 操作管理介面的重要部份,近來 GNOME 與 KDE 整合式環境的廣受討論,已顯示 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%,日後成長率預計會大幅領先其他作業系統平台。
「版本」問題在 Unix 的世界裡,很容易令人混淆,特別是對初入 Unix / Linux 殿堂的朋友,用慣了 DOS / Win95 / WinNT ,由於 MicroSoft 會定期公告 Windows 的「最新版本」,然後大家可以很快透過媒體得知出版消息。舉例來說:
「您知道 MS Windows NT 出到幾版了嗎﹖」 ( 當然,5.0 版, 中文版都有了 ) 「那您知道 MS Office 出到幾版了嗎﹖」 ( 當然也知道, Office 2000 市面上也看得到了 ) 「您知道 Windows NT kernel 是幾版嗎﹖」 ( 咦? 有這個「產品」嗎? 哪裡有在賣? 」
狹義的定義,會將 Linux 版本限定在「核心程式的發展版本」,但一般 媒體,大多採用極廣義的說法,使得 Linux 版本「認定」上容易產生 以訛傳訛的誤解。
在 Linux 的世界裡,整個系統可被概分為列以下兩個部分:
●「核心程式」(kernel)
●「工具程式」(utilities/applications) 兩個部分,
它們的發展通常是互相獨立的,自然它們可以有各自的版本序號。 您絕對不會因為 Office 97 的問世, 而認為 Windows NT 也是 97 了吧。
Linux 核心的版本,一般又分為「正式版」(release) 與「測試版」(beta), 截至今日為止,Linux 的核心程式正式版為 2.2.9,而測試版為 2.3.5。 或許您讀本文的同時,新版的核心更新程式又在網路上出現了。 不必覺得驚奇, Linux 整個系統在網際網路各路好手集思廣益下, 目前仍持續蓬勃發展當中,更新速度算是相當快。
自動補全的功能,是假設要下的指令很長,或者指令後面要給的檔名很長� A這個時候只要按 一個【Tab】鍵,bash 就會在可能的指令或檔名裡面找尋匹配的,找到的話就會自動幫您補齊,當然啦!使用者打的字元越多,bash收循匹配的檔名或指令就越容易找到。
比如說有一個檔名或指令叫做Iorikyo,使用者只記得iori這四個字元的話,在提示符號下� 擗Jiori之後在按【Tab】鍵,如果Iorikyo這個名字是獨一無二的話,這時就會幫你補齊kyo 這三個字囉!要是不是獨一無二的話,比如說還有Iorikyo1、Iorikyo2 等,這時你按【T ab】鍵當然不會跑出來囉!這時你必須連續按兩下【Tab】,你會聽到嗶一聲bash 就會把所有符合的名稱給列出來,然後你在參考bash所列出來的名稱再輸入更多字元以便ba sh來辨認你所要的名稱!
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】鍵。
所謂的命令歷程就是把你曾經輸入過的指令紀錄起來,方便日後的查詢與使用。而這也是我 們最常用的功能,就好像是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,編號的號碼越大,表示所執行過的指令離目� 前時間最近,使用者可以這樣來辨別。
在UNIX系統裡,有一組更完備的特殊意義字元,這就是所謂的萬用字元(meta - character),曾經用過DOS系統的人,應該感到不陌生,像 * 這種符號可以方便我們執行系統檔案的查詢,在此我們將介紹有關於UNIX的特殊字元,如果 善加利用這些特殊字元的話,跟linux溝通可說是得心應手!
使用萬用字元的好處為:
● 減少輸入【key in】時間
● 鼓勵使用者使用良好的檔案命名方式
● 簡化Shell Script的設計工作
現在我們要列出一些常用的萬用字元的意義,供您參考:
萬用字元 | 意義 |
.. | 上一層目錄,與cd指令配合用比較多 |
. | 表目前工作的目錄 |
* | 任意長度的字元 |
? | 長度為一個的任意字元 |
[ .. ] | 括號內的一個字元 |
\m | 等於某個萬用字元,如*、? 等 |
[ a- z ] * | 小寫字母開頭的所有字串 |
\ | 跳脫符號,用以解除特殊字元的特殊意義 |
~ | 使用者目錄 |
; | 分隔符號,當命令列有多個指令時,做分隔用 |
$ | Bourne shell的提示符號,同時也為shell語言的位址參數 |
# | 做註解用 |
| | 建立一個管線,使一命令的輸出作為另一個命令的輸入 |
& | 將命令以幕後的方式執行 |
> | 將命令的輸出重導入檔案中 |
< | 將命令的輸入流指定為由檔案中載入,跟>相反就對了! |
>> | 將命令的輸出加在一個已經存在的檔案後面 |
{ .. } | 括號內的一個字串 |
|
由於Linux系統對您來說,可能是一套全新的作業系統 倘若您以前有使用過Unix,那Linux對您來說一定不陌生,在此要對Linux的常用基本 指令來做個簡介,至於指令中的選擇項用法,我們也是簡介常用的參數,這樣對於 Linux的初學者來說,可能會有莫大的幫助。
倘若您覺得您還想更深的了解指令的其它強大功能,您可以用Linux提供的man指令
[線上手冊],來讓您有更深的了解,假如您想用一個這裡沒有提到的指令,
而您卻也不會使用,這時也可用man指令來幫助您。man的常用語法請參閱本手冊的
第十一章
。
指令一定有名稱,但不一定需要選擇項和參數,只要任何時候看到系統提示 字元[$:表示bash《Linux預設》、%:表示tcsh、#:表示為系統管理者], 就可執行系統指令。
很多指令都有選擇項,利用選擇項您可以去指揮指令,使執行動作產生不同的結果。 而選擇項皆以 "-"或"─"來引導。當您要使用很多的選擇項時,其前後的次序不會 影響指令的動作,但要注意的是大小寫的區分。參數的目的是描述指令所需的一些 訊息[如:檔案名稱],而這些訊息在每次執行該指令時都會有所不同。 w
以下將介紹一些基本的指令:
指令名稱: more
功能: 一次以一個page顯示
語法:
more 檔案名稱
描述:通常我們要看一篇很長的文件,都希望是從頭看到尾,在Linux中,more指 令可以讓您以一個page為單位,來看完您的文件。
當您使用more, 您可看一下螢幕的左下方,有個--more--的訊息, 這時您若按下【Enter】鍵,則會顯示下一行;若按下【Spacebar】鍵, 則會顯示下一個page。 至於more的範例,我們將要把more應用於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 [-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 目錄名稱
描述:
接下來我們要敘述 在Linux中如何建構目錄、如何刪除目錄, 其實這些指令操作方法與Dos中的md、rd是完全相同,差別只是指有的名稱不同而已。 令外, 在使用rmdir時,要確保該目錄內已無任何的檔案存在,才可使用該指令。
指令名稱: cd
功能: 切換目錄
語法:
cd 目錄名稱�
描述:cd除了有切換目錄的功能外,還有一個功能就是當您不管在那個目錄內,只 要下cd指令不用接任何參數,就可回到您的使用者目錄內[home directory], 通常使用者目錄[home directory]都可用" "來代表。還有Linux的樹狀結構 目錄與Dos完全相同(其實是Dos學Unix而來)。
指令名稱: 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指令通常都用來搬移檔案,當我們要做檔案更名時,只要改變一下就可。 例如:我們要把現在所在的目錄中的netscape檔案,搬到/usr內,可用:
mv netscape /usr
例如:我們要把/temp的目錄,更名為/tmp,其作法為:
mv /temp /tmp
[注意:舊名稱與新名稱要一樣的路徑才行]
系統管理(system administration)是保持電腦系統持續運作良好,所必需做的 工作,現在幾乎大部份的電腦都已經上網路了,因此有另一部份工作是去保 持網路暢通。這部份又叫網路管理(network administration),一個普通節點可能 會有個全職的系統管理者(system administrator)來進行所有的系統與網路管理 工作。大的節點則可能會將系統與網路管理工作作更細的個人區分,如果你只 是在家跑Linux,或只是管小公司裡的小規模系統,那就可能身兼系統與網路 管理者。
Linux有著系統與網路管理所需的基本指令與工具.本章會講到其中一些命 令,第7.7章則會描述網路管理基本指令。
指令名稱: 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 -s 要指向的檔案或目錄 鏈結檔名
使用者: 每一位使用者�
描述:
鏈結檔通常用於要編譯程式的時後,通常鏈結檔都是指向某個lib函式庫, 或者include檔案等,其實這樣做都是為了方便編譯或執行,
例如:您要將x指向XF86_W32*的執行檔,其作法為:
ln -s XF86_W32 X
指令名稱: top
功能: � 程序監視指令
語法:
top
使用者: 每一位使用者�
描述:
top可以動態監視程序執行狀態[Process state],其每五秒鐘自動更新監視
畫面,以顯示最新的情況。 要結束正在執行的top,您可以按下"q"鍵就可離開。
指令名稱: sudo
功能: 以root的身分執行命令�
語法:
sudo 其他指令
使用者: 被root加入『/etc/sudoers』檔案中的使用者
描述:
sudo這一個指令需要額外安裝,基本上,sudo可說是比su安全 性更高的指令,為什麼呢?
1.root的密碼除了root本人知道外,不需被其他需要用到root權限使 用者知道,因為使用sudo時,要求輸入的密碼是『該位使用者自己 的密碼。』
2.把所有可執行sudo指令的使用者都規範在『/etc/sudoers』這個檔案 中,root可以很容易的掌控整個系統。
Linux上每一個檔案都明確的定義所有人名稱(Owner)、群組名稱(Group) 和檔案的使用權限等。因此每一位系統上的使用者都有權力也有義務適當的 規定自己Home目錄下的檔案權限,以維護自己的檔案安全。以下的幾個常用的指 令介紹,希望讀者都能常記在心。
指令名稱: 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 群屬名稱(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 權限參數 檔案或目錄名稱�
使用者: 每一位使用者
描述:
本手冊在介紹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相加任意的組 合。
指令名稱: chsh
功能: 改變使用者所用的Shell�
語法:
chsh
使用者: 每一位機器上的使用者
描述:
當初root在新增使用者時,可能都用一個內定的Shell,例如用Bash當作一般使用者 的內定Shell,但有些使用者可能不喜歡用Bash,而想改成其他 Shell,如csh、Tcsh 等,此時就可以使用chsh這個指令改變自己目前正在使用的Shell。
範例:
$ chsh
password: 輸入使用者自己的密碼
[/bin/Bash]:/bin/Tcsh 改成使用Tcsh
指令名稱: 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輸入的資料。
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容易使用。
在一般模式下,您所能進行的動作只有移動游標螢幕上的位置,標記、
刪除、搬移、複製字元或文字區塊。此外您可以由命令模式進人輸入
模式雖命令列模式。
只有在輸入模式下,才可進行文字資料輸入,按
ESC鍵可以回到一般模式。
將檔案寫入或離開編輯器,亦可設定編輯環境,如 尋找字串、列出行號‥等。
在系統提示符號下輸入vi及檔案名稱後即進入
vi全螢幕編輯畫面,且在一般模式下。
輸入模式下編輯文件:
在一般模式下可按'i'或'a'或'o'三鍵進入編輯模式.
在一般模式下可按 ':' 鍵進人命令列模式,
:w filename(存入指定檔案).
:wq (寫入並離開vi).
:q!(強迫離開並放棄編輯的檔案).
:n[檔案] - 引入下一個檔案.
:l,l2d - 刪除自行l至行l2的文字.
:l,l2s/patternl/pattern2/g - 將行l至行l2的文字, patternl的字串改為pattern2的字串,如無g則僅更換 每一行所匹配的第一個字串,如有g則將每一個字串均做更換.
h、j、k、l:分別控制游標左、下、土、右移一格
u:undo,復原至上一動作
g:列出行號,及相關資訊
注意:使用前請先按ESC鍵確定在一般模式下
按':'或'/'或'?'三鍵即可進入命令列模式
:set nu
:100-可跳至第100行
這是一套文書編輯軟體,類似在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】 儲存檔案但不離開
底下介紹一些常用的解壓縮、壓縮工具:
-9 數字9表示最佳壓縮,如果是-l的話,表示快速壓縮
-r recusive,如果您想要壓整個目錄底下的檔案的話就會
用到最一參數,
但是此是會對底下的檔案做個別壓縮,底下會介紹怎麼將整個目錄壓成一個
檔案.
-r resusive,和gzip-d-r file.gz功能相同
-d decompress,解壓縮的意思!
-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就可解壓縮了.
由字面上看來,網路代表了電腦和電腦彼此的資料交換,範圍從很低階的實際連 線到協定(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,
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上執行是很容易的。
不是每個人都能用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。
在 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(UNIX-to-UNIX Copy)是一個較舊但是仍很重要的協定.這個協定仍然是 電子郵件和網路新聞(news)交換的方法之一。使用者網路新聞(USENET news)- Internet的佈告欄系統的發明,催生了UUCP,當電腦是以電話線和Modem連 通時,都是以UUCP這個協定來交換電子郵件訊息,新聞項目,檔案等等。基 本上,這些訊息和新聞是以接力的方式從一台電腦傳到另一台。這花費非常 低。雖然現在的電子郵件和新聞大都是在不間斷連線的網路傳送,但UUCP 仍然提供了許多偏遠系統一個可以使用USENET news和電子郵件的簡易方 法,同時也讓它們成為Internet的一份子。 Linux裡有UUCP。如果你有Modem,而且你想利用撥接的方式和其它系統交 換檔案,可以考慮UUCP,
在Internet上由於有很多的網點位址,當讀者想要進入遠端的電腦時,可以利用telnet來 做與遠端終端機連線的動作。其語法如下:
● telnet常用語法 : 【 telnet 網路位址/該機名稱 】
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離開。
在本節要介紹的是一套有關於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 (對方的)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 192.192.73.1,且有在線上的範例,如下所示:
ping 192.73.18.6
這個指令是列出當讀者要連線到遠方機器時,所需要經過的閘道器,通 常是用來查看網路是否能正常運作。
tranceroute 常用的語法: 【tranceroute IP 位址 】
假設我們要查出從本身機器連到192.192.180.180 (台中商專) 這個位址時,要經過哪些閘道器,讀者可以這樣執行。
wwwl : ~# traceroute 192.192.180.180
從以上的範例,我們可以知道從本身的機器要連到 192.192.180.180 這個位址時,可能要要經過的閘道器。
這是用來設定與管理網路介面的指令,網路介面泛指網路卡、PPP、SLIP、Loopback 等等。接下來我們介紹ifconfig的一般用法 :
ifconfig 常用語法:【 ifconfig -a 】
這可以查詢所有的網路介面情形,
舉例 :如果讀者懷疑自己的網路介面當掉了,則可以執行以下指令。
www1: /# ifconfig de0 down←停止網路介面。
www1: /# ifconfig de0 up←再啟動網路介面。
www1: /# ping 192.192.73.1←隨便一台遠端機器。
這一個指令可以讓讀者查詢現在的網路使用以及連線的情形。
netstat常用指令:【 netstat「參數」】
1.現在我們來查看網路介面流量,可鍵入
netstat -i │more
以下為代表的值:
Ipkte:接收到的包封。
Ierrs:接收到但是受損的包封。
Opkts:送出去的包封。
Oerrs:送出去但是受損的包封。
Coll:表示發生碰撞的次數。
2.查詢TCP網路連線的情形,可鍵入
netstat -t │more
3.查尋所有路網路連線的情形,可鍵入
netstat -a │more
Genie的預設項目
中的User/Group/Quota設定。步驟:
Quotas for user a8530614i
/user:blocks in use:8 , limits(soft=4000 , hard=5000)
inodes in use:8 , limits(soft=200 , hard=300)
在建立使用者quota硬碟容量配額時,有一個問題時常發生,即是UID和使用者帳號搞混了,
問題發生的背景是一般教育單位常利用免費的FreeBSD或Linux提供學生電子信箱和個人首頁
服務,此時系統管埋者大多會使用學生的學號來當作帳號,方便日後的管理,如果不巧的是
學生的學號全部均是阿拉伯數字的話,問題便發生了。當我們使用edquota -u
uaername來設定使用者quota硬碟容量配額時,如果uaername為阿拉伯數字的話則系統
設定是UID(使用者識別號),而非該位使用者!所以在此建議不妨在全部均是阿拉伯數
字的學生學號前面加個英文字母來當作帳號,避開此一問題。
有時我們可能新增加使用者後,卻忘了同時限制使用者quota硬碟容量配額,使得系統
有崩潰的危機,所以日常的檢查是必需的,首先我們切換至使用者有使用者的目錄中,
一般是/home,
執行cd home;quota -u * more/,檢查一下是否有漏網之魚。接下來執行
cd home;quota -q -v -u *,more/,檢查一下超過提醒配額的使用者。