基本操作
7.1 LINUX系統的基本概念
- 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「不易上手」的刻板印象,將大大被改變。
- Unix 的歷史
- 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 整個系統在網際網路各路好手集思廣益下,
目前仍持續蓬勃發展當中,更新速度算是相當快。
- 無心插柳終成蔭
- 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】鍵。 - 命令歷程(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,編號的號碼越大,表示所執行過的指令離目�
前時間最近,使用者可以這樣來辨別。 - 特殊字元
在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
- cat,more,less指令-顯示文件.ls指令-查看目錄及檔案
- chmod指令─變更檔案使用權限
- chown指令─變更檔案的擁有人及所屬群組
- cp指令─拷貝檔案
- mkdir、rmdir指令一建構目錄、刪除目錄
- rm指令─刪除檔案/目錄
- cd指令─切換目錄
- passwd─修改密碼
- find指令─搜尋檔案與目錄
- mv指令─檔案/目錄更名或搬移
- gzip、tar─壓縮/解壓縮工具
- df、du指令─查詢磁碟空間使用情形
- ps指令─查尋程序執行狀態
- top指令─程序監視
- w、who─線上使用者
- sync、reboot指令
- mount、umount指令─掛上,卸下檔案系統設備
- ln指令─製作鏈結檔
- traceroute
- 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章則會描述網路管理基本指令。
- 系統管理者使用的管理指令
- 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可以很容易的掌控整個系統。
- su
- 使用者檔案權限管理指令
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相加任意的組
合。 - chown 指令
- chsh
指令名稱: chsh
功能: 改變使用者所用的Shell�
語法:
chsh
使用者: 每一位機器上的使用者
描述:當初root在新增使用者時,可能都用一個內定的Shell,例如用Bash當作一般使用者
的內定Shell,但有些使用者可能不喜歡用Bash,而想改成其他 Shell,如csh、Tcsh
等,此時就可以使用chsh這個指令改變自己目前正在使用的Shell。範例:
$ chsh
password: 輸入使用者自己的密碼
[/bin/Bash]:/bin/Tcsh 改成使用Tcsh
- 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容易使用。
- vi(m)的三種模式簡介
- 一般模式
在一般模式下,您所能進行的動作只有移動游標螢幕上的位置,標記、
刪除、搬移、複製字元或文字區塊。此外您可以由命令模式進人輸入
模式雖命令列模式。 - 輸入模式
只有在輸入模式下,才可進行文字資料輸入,按
ESC鍵可以回到一般模式。 - 命令列模式
將檔案寫入或離開編輯器,亦可設定編輯環境,如
尋找字串、列出行號‥等。
- 一般模式
- vi(m)的基本操作
- 進人vi
在系統提示符號下輸入vi及檔案名稱後即進入
vi全螢幕編輯畫面,且在一般模式下。
輸入模式下編輯文件:
在一般模式下可按'i'或'a'或'o'三鍵進入編輯模式.- "i" insert - 在目前游標之處插入所要輸入之文字.
- "a" append - 在目前游標所在的下一行開始輸入文字
- "o" open - 新增一行在游標的下,並從行首開始輸人文字
- 離開vi及存檔
在一般模式下可按 ':' 鍵進人命令列模式,
:w filename(存入指定檔案).
:wq (寫入並離開vi).
:q!(強迫離開並放棄編輯的檔案).
:n[檔案] - 引入下一個檔案.
:l,l2d - 刪除自行l至行l2的文字.
:l,l2s/patternl/pattern2/g - 將行l至行l2的文字,
patternl的字串改為pattern2的字串,如無g則僅更換
每一行所匹配的第一個字串,如有g則將每一個字串均做更換.
- 進人vi
- 一般模式功能鍵簡介
- 移動游標
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:列出行號,及相關資訊
- 移動游標
- 命令列下指令簡介
注意:使用前請先按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 壓縮、解壓縮的工具
底下介紹一些常用的解壓縮、壓縮工具:
- gzip.gz
-9 數字9表示最佳壓縮,如果是-l的話,表示快速壓縮
-r recusive,如果您想要壓整個目錄底下的檔案的話就會
用到最一參數,
但是此是會對底下的檔案做個別壓縮,底下會介紹怎麼將整個目錄壓成一個
檔案. - gunzip解.gz的檔案
-r resusive,和gzip-d-r file.gz功能相同
-d decompress,解壓縮的意思! - 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基本的網路功能
- 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,
- TCP/IP
- 基本網路指令簡介
- 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 這個程式更加的熟悉。
- telnet指令(與遠端終端機連線)
當讀者要在站上寫信給讀者的朋友時,讀者可以這樣執行 :
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
7.8 QUOTA的使用
- 安裝Quota使用者硬碟空間管理:
Quota的設定在XLinux中將讓您更容易地設定它, 可參考本手冊第六章6.2節
中的User/Group/Quota設定。
Genie的預設項目
以下是傳統的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硬碟容量配額時,有一個問題時常發生,即是UID和使用者帳號搞混了,
問題發生的背景是一般教育單位常利用免費的FreeBSD或Linux提供學生電子信箱和個人首頁
服務,此時系統管埋者大多會使用學生的學號來當作帳號,方便日後的管理,如果不巧的是
學生的學號全部均是阿拉伯數字的話,問題便發生了。當我們使用edquota -u
uaername來設定使用者quota硬碟容量配額時,如果uaername為阿拉伯數字的話則系統
設定是UID(使用者識別號),而非該位使用者!所以在此建議不妨在全部均是阿拉伯數
字的學生學號前面加個英文字母來當作帳號,避開此一問題。
有時我們可能新增加使用者後,卻忘了同時限制使用者quota硬碟容量配額,使得系統
有崩潰的危機,所以日常的檢查是必需的,首先我們切換至使用者有使用者的目錄中,
一般是/home,
執行cdhome;quota -u * more/,檢查一下是否有漏網之魚。接下來執行
cdhome;quota -q -v -u *,more/,檢查一下超過提醒配額的使用者。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论