more less:
less的作用與more十分相似,都可以用來浏覽文字檔案的內容,不同的是less允許使用者往回卷動以浏覽已經看過的部份,同時因為less並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。
UNIX命令
一、UNIX命令格式
1、UNIX命令提示符
在命令行下,操作系統會顯示一提示符,提示用戶在此提示符後可以輸入一行命令。不同的Shell有不同的缺省提示符:
B Shell和K Shell的缺省提示符為"$";
C Shell的缺省提示符為"%";
但當以root用戶登錄時,系統提示符統一缺省為"#"。
用戶可以更改自己的缺省Shell和提示符。
2、基本命令格式
在Shell提示符下,就可以輸入UNIX命令。UNIX命令的基本格式如下:
command 參數1 參數2 ... 參數n
UNIX命令由一個命令(command)和零到多個參數構成,命令和參數之間,以及參數與參數之間用空格隔開。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令區分大小寫,且命令和參數之間必須隔開。如:對DOS來說是以下四條命令是相同的:
cd\tmp
cd \tmp
CD \tmp
cd \Tmp
對UNIX操作系統來說,改變目錄的命令也是cd命令,以下是正確的UNIX cd命令:
cd /tmp
cd /Tmp
但tmp和Tmp是兩個不同的目錄。以下兩條命令:
cd/tmp
CD /tmp
已經不是cd命令了。
3、在一行中運行多個命令
可以在一行中輸入多個命令,命令間用“;”分開,如:
mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
UNIX會順序執行以上三條命令。
4、在後台運行程序
要讓程序在後台執行,只需在命令行的最後加上“&”符號。
[例1] 在後台運行find命令,在當前目錄及其子目路下查找文件名為abc的文件。
執行命令和立即顯示的內容如下:
$ find . -name abc -print&
10722
$
...
10722表示進程號(PID)。當find命令在後台執行完後,會顯示結果。
當在後台運行命令時,最好將其輸出重定向輸出到一個文件中去,以便以後檢查。
[例2] 在後台運行find命令,在當前目錄及其子目路下查找文件名為abc的文件並將結果存到myfind文件中。
執行命令如下:
$ find . -name abc -print>;myfind&
在運行後台程序的同時可以繼續輸入命令。
5、nohup命令
當終端退出後,由該終端啟動的後台程序自動退出。要想終端退出後程序不停止運行,則要用nohup命令啟動後台程序。如對於例2的命令加入nohup後變為:
$ nohup find . -name abc -print>;myfind&
二、特殊按鍵
在UNIX命令操作中有一些特殊鍵,列表如下:
Ctrl + d 結束鍵盤輸入或退出當前shell
Del 中斷鍵,停止當前動作回到shell
Ctrl+s 暫停屏幕輸出
Ctrl+q 繼續屏幕輸出
Ctrl+u kill鍵,刪除光標所在行的所有字符
Esc 結束當前的操作狀態(如vi)
三、UNIX常用簡單命令
下表列出了幾個簡單的UNIX命令:
解釋 UNIX命令 命令舉例
查看幫助信息 man man date
查看日期 date date
顯示日歷 cal cal 1998
顯示大寫大字 banner banner “ABCD”
計算器 bc bc
修改口令 passwd passwd
查看誰在使用系統 who who
查看我是誰 who am i who am i
顯示用戶信息 finger finger 用戶名
清除屏幕 clear clear
1、man命令 - 查看幫助信息
舉例:
查看man的使用方法: man
查看finger命令的幫助信息: man finger
2、date命令 - 顯示、修改日期和時間
顯示時間的命令如下:
date
顯示如下:
Mon Aug 17 13:43:14 NST 1998
表示NST標准時間,1998年8月17日13:43:14,星期一。
3、cal命令 - 顯示日歷
舉例:
顯示1998年全年日歷: cal 1998
顯示1998年8月日歷: cal 8 1998
4、banner命令 - 顯示大寫大字
舉例:在屏幕上用大字顯示“HUAWEI”,命令如下
banner "HUAWEI"
5、bc命令 - 簡單計算器
bc命令可以進行加、減、乘、除、求模、乘方運算,運算符分別為“+”“-”“*”“/”“%”“^”。bc使用舉例如下
bc
以後輸入算式即可,如:
1234 * 3 + 2^4
按回車顯示結果,以後等待輸入其它算式。按
;+d鍵退出bc。
6、passwd命令 - 修改口令
要修改自己的口令,只需運行:
passwd
以後系統會提示輸入原來口令,並輸入新口令。
7、who命令 - 查看正在使用UNIX的用戶
用法如下:
who
系統會顯示正在使用UNIX的用戶名、終端號和登錄時間。要查看使用者自己的信息,運行:
who am i
8、finger命令 - 顯示用戶信息
finger命令比who命令顯示的信息量大,功能強。基本使用方法如下:
顯示登錄信息: finger
顯示smith用戶詳細信息: finger smith
9、clear命令 - 清除屏幕
clear
四、UNIX用戶間簡單通訊命令
UNIX提供許多方式讓用戶相互通信,它允許你以文本的方式發送及接收信息。你可以傳遞信息給其他用戶、所有用戶、或自己。信息來源可以是文本文件或直接由鍵盤輸入的內容。
(一)write 命令
可使用write 實用程序向已登錄的另一個用戶發送一條報文,當對方也使用write 命令時,雙方之間就建立了通信。
當用戶使用write 命令時,就在對方用戶終端上顯示提示信息。write 命令的格式如下:
write destination-user [terminal]
其中,destination-user 是你想與之通信的用戶注冊名,通常使用who 命令查看其注冊名。如果對方在多台終端上登錄,可通過用terminal 來控制write 的報文送向指定的終端。為了建立與其他用戶的雙向通話,用戶和對方每次必須執行write 命令,且必須指定注冊名。一般在使用UNIX 進行通話時,通信雙方有一些約定:用“o” 表示結束一條報文,“oo” 表示結束這次通信,用ctrl-d 退出write 命令。
[例1] UNIX上兩用戶alex 和jenny 通過write命令通信。
在alex的所在終端上(;表示回車):
$ write alex ;
Hi Alex, are you there? o;
Message from Alex (tty11)[Sat Jan 5 15]….
Yes Jenny, I’m here. o;
……
Thank you ,Alex, bye! oo;
Ctrl-d
$
該例說明了使用write 命令實現Alex 和Jenny 的通信過程。首先Jenny 使用前兩行向Alex發送了一條報文,接下來的兩行是Alex 發送的報文Jenny 收到了,省略號表示他們的通信繼續。最後,Jenny 用thank you,Alex,bye!oo 告訴Alex沒有話要說了,並在下一行開始鍵入ctrl-d 來退出write 並回到shell。
(二)使用talk雙方對話
talk 命令是一個虛擬通信命令,它允許登錄雙方通過鍵盤實時對話,其格式如下:
talk user-name [terminal]〈CR〉
注意,使用talk 進行雙方對話時,雙方使用的機器體系結構必須相同。當對方給出響應的talk命令後,雙方終端上都顯示
[connect established]
時,雙方可雙工通信了。雙方可以以任意的速度從鍵盤輸入,talk 把你的輸入一行一行的顯示在你和對方的屏幕上。用;退出talk 。
(三)使用mesg 拒絕和允許接收報文
mesg 命令允許或拒絕接收由其它終端發來的write 和talk通訊信息。mesg命令在本地終端運行,其使用格式如下:
mesg [y] [n]〈CR〉
其中,y 表示允許接收,n 表示拒絕接收。如既不給出y 也不給出n ,則報告現在的許可狀態。例:
[例1] 顯示狀態:
$mesg ;
則命令的執行結果為:
is y
或 is n
[例2] 拒絕接收由其它終端發來的write 和talk通訊信息:
$mesg n
$mesg
is n
(四)wall 廣播式消息傳遞
所有登錄用戶都可收到該消息。僅超級用戶使用該命令。wall命令有以下幾種格式:
# wall
# wall filename
# wall “send a message to all the people。”
2.4 注銷(退出UNIX系統)
在每次使用完後,一定要進行注銷,以防他人通過你的帳號進入系統,並保證系統的完整性。注銷過程如下:在UNIX提示符下,運行:
$ exit
或
$ logout
或直接按鍵:
Ctrl+d。
由於UNIX操作系統的不同,注銷的命令也可能不同。
--------------------------------------------------------------------------------
3.5 UNIX文件存取權限
一、文件的存取權限
UNIX文件的存取有三種權限:
權限 普通文件的存取權限 目錄的存取權限
R 具有讀取文件的權利 能讀取文件名稱
W 具有寫入文件的權利 能建立和刪除文件,可以改變文件名
X 具有執行文件的權利 能使用該目錄下的文件(如cd命令)搜索文件等
二、能夠存取文件的用戶類型
有三種類型的用戶可以存取文件:
用戶類型 說明
owner 文件的屬主(擁有者)
group 用戶組內成員
other 其他用戶(非owner和非group)
每種類型的用戶都有三種文件存取權限:r、w、x。
三、文件存取權限的顯示
可以通過”ls -l”命令顯示,如:
$ ls -l file1
顯示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
上行中:
第2-4字符”rwx”表示此文件屬主wjm對文件file1的權利為”可讀、可寫、可執行”;
第5-7字符”r-x” 表示此用戶組newservice內的用戶對文件file1的權利為:
”可讀、不可寫、可執行”;
第8-10字符”r--” 表示其他用戶對文件file1的權利為”可讀、不可寫、不可執行”
四、文件存取權限的修改
用chmod命令修改文件的存取權限,chmod命令的格式如下:
格式1: chmod symbolic_mode file…
格式2: chmod absolute_mode file…
(一)格式1:符號模式(symbolic_mode), 符號模式的命令格式如下:
chmod [who] op permision file…
who項表示用戶類型,它的內容為以下一項或多項:
U 文件屬主(user --- owner)
G 用戶組(group)
O 其他人(other)
A 所有人(all)
op項表示動作:
+ 表示要加上permission指定的權利
- 表示要取消permission指定的權利
permission項為存取權限,它的內容為以下一項或多項:
r 表示可讀
w 表示可寫
x 表示可執行
舉例:
chmod u+w test report 屬主對test和report文件“可寫”
chmod u-x abc.c 屬主對abc.c文件不可執行
chmod u+rwx myfile1 屬主對myfile1“可讀、可寫、可執行”
chmod ugo+rwx myfile2 任何人都對myfile1“可讀、可寫、可執行”
(二)格式2:絕對模式(absolute_mode), 符號模式的命令格式如下:
chmod xyz file…
x、y、z分別是0-7的數字,分別表示屬主、用戶組、其他人對該文件的存取權限。x、y、z的取值公式均為:
a*4 + b*2 + c
其中,
a=1分別表示可讀,a=0表示不可讀;
b=1分別表示可寫,b=0表示不可寫;
c=1分別表示可執行,c=0表示不可執行;
舉例:
chmod 751 ncp 屬主對ncp擁有“可讀、可寫、可執行”的全部權利;組內成員對ncp只有“可讀、可執行”的權利;其他用戶對ncp只有“可執行”的權利。
五、改變文件屬主及文件所在組
改變文件屬主的格式如下:
chown 屬主名 文件名
必須對文件具有write權利才可改變文件的屬主。
改變文件所在組的格式如下:
chgrp 組名 文件名
必須是文件的屬主或supervisor才能改變文件組別的歸屬。
舉例:
chown wjm test1 將文件test1的屬主改為wjm
chgrp newservice test1 將文件test1的用戶組改為newservice
3.6 UNIX重定向與管道
UNIX重定向 將文件的標准輸出重新定向輸出到文件,或將數據文件作為另一程序的標准輸入內容。重定向符號如下:
< 重定向輸入
>; 重定向輸出
>;>; 重定向輸出並追加到尾部
例如:
ls -l >; file1 將ls -l命令顯示的內容存到file1中,
ls >;>; file1 將ls 命令顯示的內容附加存到file1的尾部
grep abc < file1 將file1的內容作為grep abc命令的輸入
其中,">;"和">;>;"為輸出重定向符,">;"將輸出內容存到重定向文件中,若文件存在,則先刪除原有內容;">;>;"將輸出內容存到重定向文件的尾部。
UNIX管道 將一文件的輸出作為另一文件的輸入。管道符號如下:
| 將左邊命令的輸出,作為右邊命令的輸入
例如:
ls|more 將ls的輸出作為more命令的輸入
ps -ef|grep smith ps -ef的輸出作為grep smith命令的輸入
3.7 UNIX文件系統常用命令
UNIX命令 UNIX命令舉例 類似DOS命令
顯示當前目錄 pwd pwd cd
改變目錄 cd cd /usr cd c:\usr
進入家目錄 cd cd
創建目錄 mkdir mkdir abc md abc
刪除空目錄 rmdir rmdir abc rd abc
刪除目錄及其內容 rm -r rm -r abc deltree abc
顯示目錄內容 ls ls abcls -l abc(文件長列表)ls -a abc(所有類型文件)ls -d * (不進子目錄) dir abc
顯示文本文件內容 cat cat file1.c type file1.c
一次一屏顯示文本文件內容 more more file1.c
拷貝文件 cp cp file1 file2 copy file1 file2
移動(重命名)文件 mv mv call.test call.list move call.tst call.lstren call.test bbb
刪除文件 rm rm call.list del call.lst
一、pwd命令
pwd命令用來顯示當前目錄路徑,命令如下:
pwd
二、cd命令
cd命令用於改變當前的目錄,如:
命令舉例 說明
cd /usr/smith 改變到/usr/smith目錄
cd ../wjm 改變到父目錄下的wjm子目錄
cd exam1 改變到當前目錄下的exam1子目錄
cd 改變到家目錄
不帶參數的cd命令表示進入家目錄,這點與DOS有本質區別。
三、rm命令
rm命令可以刪除文件及目錄,舉例如下:
命令舉例 說明
rm file2 刪除當前目錄下的文件file2
rm file* 刪除當前目錄下以file開頭的文件
rm -r /usr/wjm/exam2 刪除目錄/usr/wjm/exam2及其內容
四、ls命令
ls命令可以顯示目錄內容,命令格式如下:
ls -選項 文件名
其中的常用選項說明如下:
-l 長列表顯示目錄內容
-a 顯示所有類型文件,包括隱含文件
-d 如果顯示內容包含目錄名,則只顯示目錄名字不顯示目錄內容
命令舉例如下:
命令舉例 說明
ls 顯示當前目錄內容
ls file* 顯示除當前目錄下以file開頭的文件
ls -l /usr/wjm/exam2 長列表顯示目錄/usr/wjm/exam2內容
ls -adl 顯示當前目錄內容(同時帶-l、-d、-a參數)
[注] ”ls -l”命令顯示格式如下:
drwxrwxr-x 2 smith group 48 Jan 05 1998 john
-rwxr-xr-- 1 wjm newservice 321 Oct 17 09:33 file2
上面每行中:
第一列:
第1個字符表示文件的類型(d表示目錄,-表示普通文件);
第2-4字符表示文件屬主對此文件的訪問權限(如:“rwx”和“rwx”);
第5-7字符表示用戶組對此文件的訪問權限(如:“rwx”和“r-x”);
第8-10字符表示其他用戶對此文件的訪問權限(如:“r-x”和“r--”);
其中,訪問權限用三個字符表示,順序是“rwx”,“r”表示可讀、“w”表示
可寫、“x”表示可執行。若某項禁止訪問則為“-”,如:“r-x”表示可讀、
不可寫、可執行;
第二列:此文件的鏈接數(如:2和1);
第三列:此文件的屬主名(如:smith和wjm);
第四列:用戶組名(如:group和newservice);
第五列:文件所占字節數(如:48和321);
第六至八列:最後修改的日期和時間(如:“Jan 05 1998”和“Oct 17 09:33”);
第九列:文件名(如:john和file2)。
五、mkdir、rmdir、cat、more、cp、mv命令
這些命令和DOS的相應命令功能和用法基本一致,它們和DOS命令的對應關系如下:
UNIX命令 DOS命令
mkdir mkdir或md
rmdir rmdir或rd
cat type
more more
cp copy
mv move或ren
--------------------------------------------------------------------------------
4.1 vi編輯器的最基本用法
vi編輯器是UNIX的強有力的文本文件編輯工具,利用它可以建立、修改文本文件。
vi編輯器常用的兩種狀態方式
1) 文本輸入方式 用於文本的輸入
2) 命令方式 用於輸入控制命令
vi編輯器的進入
vi 文件名
自動進入命令方式。
文本輸入方式的進入
a 將在光標所在位置之後插入文本(append)
A 將在光標所在行末插入文本
i 將在光標所在位置之前插入文本(insert)
I 將在光標所在行的第一個非空字符前插入文本
o 將在光標所在行的下一行開始插入文本(open)
O 將在光標所在行的上一行開始插入文本
光標位置移動
h 左移
j 下移
k 上移
l 右移
行號G 光標移到某行(如1G表示光標移到第一行)
G 光標移到文件結尾
文本輸入方式的退出
ESC 按ESC鍵進入命令方式
刪除更改操作
在命令方式下運行。
x 刪除光標所在字符
dd 刪除光標所在行
退出vi編輯器
在命令方式下運行。不管在什麼狀態,最好在運行下面命令前,先按以下ESC鍵,以防出錯。
:wq 存盤退出
:q 不存盤退出
:q! 不存盤強制退出
:w 只存盤不退出
4.2 利用find命令查找文件
find命令會在指定目錄及其子目錄下查找符合條件的特定文件。此命令的最大用處是當忘了文件的正確所在,而想找到該文件。
命令格式
find 目錄名 條件
目錄名 --- 欲開始尋找的目錄所在。find會尋找此目錄及其子目錄。可以有多個目錄名稱,只要目錄與目錄之間用空格分開即可。
條件 --- 欲搜索文件的條件,可包含文件名稱、屬主、最後修改時間等等。
條件列表說明
-name name 指定要被尋找的文件或目錄名稱, 可用通配符,如, -name ‘*.c’
-print 將符合條件的路徑打印出來
-size n 尋找占用n個block的文件
-type x 以文件類型作為尋找條件。文件類型x如下: d --- 目錄(directory), f --- 文件(file), b --- 塊(block), c -- 字符(character), p --- 管道(pipe)
-user user 尋找屬於user所擁有的文件, user可為用戶名或uid號
-group group 尋找用戶組為group的所有文件, group可為組名稱或gid號
-links n 尋找鏈接數等於n的所有文件
-atim n 尋找n天之前曾被存取的文件
-mtime n 尋找n天之前曾被修改的文件
-exec command {}\; 用尋找到的文件作為執行command的對象, {}內存欲執行command時所需的參數
條件的邏輯運算符:
邏輯運算符 邏輯意義 舉例 說明
! 非 !-name “*.c” 所有不以.c為擴展名的文件
-o 或 -size +10 -o -links 3 所有大於10block或鏈接數為3的文件
與 -size +10 -links 3 大於10block且鏈接數為3的文件
注:上表中的“+10”表示大於10,“-10”表示小於10。
基本用法舉例
find /temp -name “abc*” -print 在/temp目錄下查找文件名以abc開始的文件
find . -name test -print 在當前目錄下查找文件名為test的文件
4.3 grep命令基本用法
grep在整個文本文件中尋找特定字符串,並將所有出現該字符串的行打印。
命令格式
grep 字符串 文件名
舉例
grep abcd temp 在temp中查找abcd字符串
grep "This is a book" temp 在temp中查找”This is a book”字符串,由於字符串中含有空格,故要用引號括起來
4.4 利用cmp命令比較文件
cmp可比較兩個文件,這兩個文件可以是文本文件也可以是非文本文件。cmp命令會顯示兩個文件第一次數據不同的位置。若兩個文件內容相同,則不顯示任何信息。
命令格式
cmp [-ls] 文件名1 文件名2
參數說明
-l 顯示每個不同之處不同字節的內容
-s 只顯示cmp命令的返回值(相同為0,不相同為1)
舉例
cmp temp1 temp2 比較temp1和temp2兩個文件的內容
4.5 文件的備份和恢復實用程序
一、tar命令
使用tar 命令,可將多個文件合並成一個文件庫(archival)的方式存放於磁帶或磁盤上。當需要時,可由文件庫獲取所需的文件。tar 的指令格式:
$ tar [function-option[modifier]] [files]
tar 命令選項分為兩部分:功能選項和修改選項。功能選項用來設定tar的動作(如讀取,寫入等),而修改選項則用來修改tar的動作。tar命令選項前沒有“-”。
功能選項(function-option):
r 將所指的文件附加在文件庫後
x 讀取文件庫內的文件,如文件名為目錄,則連子目錄也會被讀取 (常用)
c 建立一個新文件庫 (常用)
g 將文件由文件庫的最前頭開始建立,而不是寫在最後一個文件後
修改選項(modifier):
v 啟動顯示模式,tar 會顯示所處理的文件名 (常用)
w 啟動確認模式,tar處理每個文件之前,要求用戶先加以確認
f 表示文件庫為file,省略此項,以預設的磁帶或磁盤為對象 (常用)
(一)利用tar 命令備份
[例1]
$ tar cv work
在當前目錄下,對work 目錄中的所有文件及子目錄作備份,備份到缺省設備,且在備份時顯示文件信息。
[例2]
$ tar cvf /dev/rfd0135ds18 work
f 選項表示不使用缺省設備,而使用提供的設備。
注:在不同的UNIX 系統中,軟盤和磁帶設備的名稱不通用。請使用時注意查正。
(二)利用tar 命令復原:
[例3]
$tar xv
x 表示將缺省設備中的文件復原到硬盤,v 表示復原時顯示文件提示。
[例4]
$tar xv /work/aaro1d /work/all.bak /work/state.wp
復原更具有選擇性,這裡列出三個文件。注意,必須輸入備份文檔的全名。
[例5]
$tar xvf /dev/rfd0135ds18
從給定的設備中復原文件。
二、cpio命令
利用cpio 可將文件或目錄從文件庫獲取出來或將數據拷貝到文件庫。cpio 的指令格式:
cpio –i[bcdmrtuv] [patterns]
cpio –o [abcv]
cpio –p [adlmuv][directory]
說明:cpio 共有三種基本模式,-o即copy-out 模式,將一組文件copy到一個文件庫,-i 即copy-in 模式,讀取文件庫,並將其展開在當前目錄。-p 能從某個目錄讀取所有文件(包括子目錄到另一個目錄),且不以archive(歸檔)的方式存放。
cpio 常配合shell使用。-o常用標准輸入設備讀取要copy 的文件名稱,並將copy成的archive file 通過標准輸出設備輸出。一般利用輸入/輸出重定向或管道的原理,達到真正復制的功能。
(一)利用cpio備份:
[例1]
$ find work –print | cpio –ocdv >; /dev/rfd0135ds18
將work目錄下的文件備份到軟盤上。-o表示輸出模式,-c生成一個帶有頭信息的文件。 -d表示按需要生成目錄,-v表示命令執行時不斷顯示信息。用“>;”把結果定向到軟盤。
[例2]
$ ls |cpio –o >;/usr/linfs/old1
將當前目錄下的所有文件復制成old1 archive file
[例3]
$ ls *.c | cpio –o>;oldc
復制工作目錄中的所有的c程序.
[例4]
$ ls| cpio –p /usr/linfs/tempdir
復制當前工作目錄下的文件到/usr/linfs/tempdir 目錄,不生成archive file
(二)利用cpio 復原:
[例5]
$ cpio –icdv < /dev/rfd0135ds18
將軟盤中的文件復原。-i告訴cpio把文件作為它的輸入,-d按需要生成目錄,-v顯示執行時的所有信息,-c具有頭文件格式。
[例6]
$ cpio –icdv "*stat.wp" < /dev/rfd0135ds18
僅復原*stat.wp的文件
[例7]
$ cpio –i 僅復原*.f 文件
4.6 文件壓縮和解壓程序
一、compress 壓縮命令
compress命令可將文件壓縮以減少存儲空間。壓縮後的文件以“.Z”結尾。展開命令為uncompress。壓縮命令格式:
compress filename
展開命令格式為:
uncompress compressed-filename
[例1] 對file 文件進行壓縮和解壓縮
compress file
則壓縮後的文件名為file.Z,解壓命令為:
uncompress file.Z
二、pack 壓縮文件
pack 壓縮文件對應的解壓縮文件unpack。壓縮後文件的名稱為“.z”其壓縮後的空間因文件類型而定。命令格式:
pack name
unpack name
注:pack對太小的文件不壓縮,若要強制壓縮,用-f選項:
pack -f name
三、gzip 壓縮文件
gzip 壓縮文件對應的解壓縮文件為gunzip。壓縮後的文件名稱為“.gz”。命令格式:
gzip filename
gunzip filename
四、pkzip壓縮文件
pkzip 壓縮文件對應的解壓縮文件為pkunzip。壓縮後的文件名稱為“.zip”。命令格式:
pkzip filename
pkunzip filename
--------------------------------------------------------------------------------
5.1 UNIX開機舉例
以SCO UNIX為例。SCO UNIX的開機過程如下:
(1) 打開SCO UNIX主機電源
(2) 出現boot:後打回車
(3) 按Ctrl+d進入多用戶模式,輸入root的密碼後進入單用戶模式
(4) 輸入日期時間
(5) 出現”login:”表示SCO_UNIX開機成功,以後可以進行登錄
5.2 UNIX關機舉例
SCO UNIX主機的關機過程為,在root用戶下鍵入:
# shutdown -g0 -y
表示立即關機。由多用戶模式進入單用戶模式,執行如下命令:
# shutdown -g0 -y su
[注意] 必須在運行完shutdown命令,並出現允許關機的信息時,再關掉主機電源。未出現允許關機的信息,千萬不要關主機電源。
5.3 修改系統時間
修改系統時間的命令如下:
date -t 199808101536
將日期改為1998年8月10日15時36分。
5.4 如何控制後台進程
一、顯示進程信息
UNIX命令 解釋
ps 顯示使用終端有關的進程信息
ps -u 用戶名 顯示某用戶的進程(如ps -u abc)
ps -e 顯示所有正在運行的進程信息
ps -f 長列表顯示每個進程信息
長列表顯示所有正在運行的進程信息,UNIX命令如下:
ps -ef
二、用kill命令殺掉後台進程
UNIX命令 解釋
kill 進程號 刪除進程
kill -9 進程號 強制刪除進程
三、停止失控進程步驟
(1) 在未鎖死的終端以root登錄
(2) 用”ps -ef”和"grep 關鍵字"命令找到失控進程pid號
(3) kill pid號,若殺不掉,再運行”kill -9 pid號”
(4) 若還殺不掉,則shutdown
5.5 如何查看磁盤使用情況
解釋 UNIX命令
查看磁盤自由空間 df -v
查看磁盤使用情況 du [文件名]
5.6 掉電故障及處理
系統意外掉電,會造成如下問題:
(1) 文件系統被破壞,造成文件丟失
(2) 高速緩存中的數據未寫到磁盤而使數據丟失
解決:開機後系統會自動運行fsck命令,提示是否檢查/dev/root文件系統,輸入y檢查並修復文件系統。
fsck命令 用來檢查和維護不一致的文件系統。若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。fsck的命令格式如下:
fsck [-y][-n][-b][-D][-f] [fs_device]
其中:
fsck參數 解釋
-y 對fsck執行過程中的所有問題都回答y (yes),fsck會更正所有錯誤
-n 對fsck執行過程中的所有問題都回答n (no)
-b 若是檢查根文件系統(root file system),並且造成文件系統改變,系統會重新啟動(reboot)
-D 檢查壞掉的區塊
-f 以快速方式檢查文件系統
fs_device 描述相對於硬件設備的特殊文件名。若去掉此項會自動檢查存在於/etc/checklist文件內的文件系統
--------------------------------------------------------------------------------
6.1 TCP/IP協議
在當今世界,UNIX系統被廣泛使用的原因之一,就是UNIX的強大聯網功能。UNIX的網絡協議缺省為TCP/IP。UNIX已成為Internet上各種服務器的首選操作系統。
TCP/IP協議由一系列協議組成,統稱TCP/IP協議族。TCP/IP協議是TCP/IP協議族中的基本協議,協議族常用協議有:
l 傳輸控制協議/互網絡協議(TCP/IP - Transmission Control Protocol/Internet Protocol)是協議族的基本協議。
l 用戶數據報協議(UDP - User Datagram Protocol)提供無連接的傳輸層協議,但不保證傳輸的可靠性。
l 遠程登錄協議(telnet)是用戶層協議,定義了遠程登錄的標准。
l 文件傳輸協議(FTP - File Transfer Protocol)也是用戶層協議,定義了不同系統間進行文件拷貝的標准。
6.2 查看網上用戶信息
用finger命令來顯示正在使用UNIX系統的用戶信息。finger的命令格式如下:
finger [用戶名][@主機域名或ip地址]
finger命令舉例
命令舉例 說明
Finger 查看本地所有用戶信息
finger root 查看root用戶的信息
finger @xywsyb2 查看主機xywsyb2上的所有用戶信息
finger [email protected] 查看主機xywsyb2.huawei.com.cn上的所有用戶信息
finger abc@xywsyb2 查看主機xywsyb2上的abc用戶信息
finger [email protected] 查看主機129.6.114.202上的abc用戶信息
6.3 使用mail 發送和接收電子郵件
mail 命令用來發送和接收電子郵件。用戶不僅可使用mail 與本系統的用戶通信,還可與網絡中的用戶通信。mail 的兩種功能:發送電子郵件和接收電子郵件。
一、發送電子郵件
$ mail alex
Subject: test
This is a test message。
一般用句號來結束信件,有些版本用ctrl-d 來結束。
二、閱讀電子郵件
mail 會顯示所有郵件的標題。這時,用戶按回車一個一個的閱讀,直到所有的郵件都閱讀完畢,鍵入q 退出並返回到shell。
$ mail
一、telnet
telnet是通過網絡遠程登錄UNIX的軟件(tel指遠程,net指network即網絡),其功能是在用戶使用的本地計算機上通過計算機網絡登錄到遠程UNIX主機上,把本地計算機當成遠程UNIX主機的一個仿真終端。當用戶利用telnet完成與遠程UNIX主機的登錄後,自己的計算機似乎已經消失,完全成為對方主機的一個遠程仿真終端用戶,就象在UNIX主機終端上操作一樣。此時用戶所能夠使用的功能和資源以及整個工作方式完全取決於對方的系統和登錄帳號的權限。
telnet的一般運行格式如下:
telnet IP地址或域名
以上的IP地址或域名是指遠程UNIX主機的IP地址和域名。在本地計算機屏幕上就會出現信息,提示用戶輸入UNIX的用戶名和口令,接著要求輸入終端類型,最後進入UNIX系統,並出現UNIX操作系統提示符,以後的操作就象在UNIX主機終端上操作一樣。 在PC兼容機上的Windows下運行telnet時,終端類型最好選xterm。
[注意事項] 在運行telnet之前必須保證本地計算機和遠程主機間的TCP/IP協議已經連通。
(三) 在Windows 95上運行telnet,遠程登錄SCO UNIX,假設SCO UNIX主機的IP地址為129.6.114.201。
telnet軟件是Windows 95自帶的軟件,只要設置好TCP/IP協議後就可運行telnet。telnet的運行過程如下:點擊Windows 95上的“開始”按紐,再選則“運行”菜單,出現運行框,輸入:
telnet 129.6.114.201
點擊運行框上的“確定”按紐,出現Telnet框,提示輸入UNIX用戶名:
UNIX System V Release 3.2 (xywsyb2.huawei.com.cn) (ttyp2)
login:
以後的操作就象在UNIX主機終端上操作一樣。
[例2] 在Windows 3.x上運行telnet,遠程登錄Digital UNIX,假設Digital UNIX主機的IP地址為129.6.5.2。
由於Windows 3.x自身沒有攜帶TCP/IP和telnet軟件,在使用telnet之前必須先進行安裝。這裡不介紹安裝過程,只介紹軟件的簡單設置和使用。Netterm軟件是telnet的變種,完全包含telnet的功能,這裡只對Netterm進行介紹。
Netterm的設置:先啟動Netterm,在File菜單下選”Phone Directory …”,出現”Phone Directory”框,在”Host Name”項下輸入一個名字(任意取名,表示UNIX主機名),在”Host/IP”下輸入UNIX主機的IP地址”129.6.5.2”,”Telnet Port”取值23,在”Connection”下選中TCPIP,點擊”Add”按紐,再點擊”Ok”按紐。
Netterm的運行:先啟動Netterm,點擊電話機圖標就會出現一工作框,提示輸入UNIX用戶名:
Digital UNIX (xyw) (ttyp6)
login:
以後的操作就象在UNIX主機終端上操作一樣。
二、ftp
ftp是telnet的“近親”。telnet允許在遠程主機上登錄並使用其資源,ftp允許在本地計算機與遠程主機之間傳遞文件。ftp是File Transfer Protocal的縮寫,意為文件傳輸協議,它可以將遠程UNIX系統上的一個或多個文件拷貝到本地計算機,也可以將本地計算機上的一個或多個文件拷貝到遠程UNIX系統上。
(三) 基本文件類型
當我們使用ftp時,可簡單地把文件分為兩大類:文本文件和二進制文件。文本文件也稱為ASCII文件,其文件內容遵循ASCII的定義,主要特征如下:ASCII文件由若干行組成;可以用操作系統顯示和編輯命令來顯示和編輯ASCII文件內容。二進制文件(Binary File)是指除ASCII文件以外的所有文件格式。可惜的是,不同操作系統的ASCII文件格式一般是不兼容的,ftp在不同的操作系統之間進行ASCII文件的傳輸時,自動進行了格式轉換,而對於二進制文件來說,ftp不進行任何轉換。
[注意事項] 可以將ASCII文件按二進制方式傳輸,但決不能將二進制文件按ASCII方式傳輸,否則二進制文件的內容會遭到破壞而無法使用。
(二)ftp的使用
ftp的一般運行格式如下:
ftp IP地址或域名
以上的IP地址或域名是指遠程UNIX主機的IP地址和域名。在本地計算機屏幕上就會出現信息,提示用戶輸入UNIX的用戶名和口令,最後出現ftp提示符:
ftp>;
以後就可以在此提示符下輸入ftp命令。
[注意事項] 在運行ftp之前必須保證本地計算機和遠程主機間的TCP/IP協議已經連通。
(三)ftp常用命令
ftp的常用命令和解釋列表如下:
ftp命令 解釋
?或help [command] 命令幫助
binary 設定以二進制方式傳送文件
ascii 設定以ASCII方式傳送文件(缺省值)
cd [directory] 改變遠程目錄
pwd 列出當前遠端主機目錄
dir [r-dir] [l-file] 顯示遠程目錄內容,r-dir表示遠程目錄,l-file表示本地文件。如果有本地文件,就將結果寫至本地文件
ls [r-dir] [l-file] 同dir,只是顯示格式不同
lcd [directory] 改變本地目錄
put file1 [file2] 將本地file1文件拷貝到遠程file2
get file1 [fine2] 將遠程file1文件拷貝到本地file2
mput files 將本地多個文件files拷貝到遠程
mget files 將遠程多個文件files拷貝到本地
status 顯示當前FTP狀態
!command 執行本地命令,並立即返回FTP
open IP地址或域名 重新建立新的連接
close 關閉遠程連接
quit或bye 退出ftp
(四)ftp實例
假設遠程主機的IP地址為129.6.114.201,操作系統為SCO UNIX,本地計算機為PC機,操作系統為DOS,且ftp客戶端程序放在C:\FTP目錄下。
[例1] ftp的運行
c:
cd \ftp
ftp 129.6.114.201
(輸入UNIX用戶名和口令,會出現提示符:)
ftp>;
[例2] 將本地計算機C:\DOS目錄下的help.hlp拷貝到遠程主機的/usr/xyw/tmp目錄下。 命令如下:
ftp>; binary
ftp>; lcd c:\dos
ftp>; cd /usr/xyw/tmp
ftp>; put help.hlp
[例3] 將本地計算機C:\TEMP\TO目錄下的所有文件拷貝到遠程主機的/usr/xyw/tmp目錄下。命令如下:
ftp>; binary
ftp>; lcd c:\temp\to
ftp>; cd /usr/xyw/tmp
ftp>; mput *.*
[例4] 將遠程主機的/usr/xyw/bin/dispdate文本文件拷貝到本地計算機C:\TEMP\FROM目錄下。命令如下:
ftp>; ascii
ftp>; lcd c:\temp\from
ftp>; cd /usr/xyw/bin
ftp>; get dispmesg
[例5] 將遠程主機的/usr/xyw/doc目錄下的所有文件按文本文件格式拷貝到本地計算機C:\TEMP\FROM目錄下。命令如下:
ftp>; ascii
ftp>; lcd c:\temp\from
ftp>; cd /usr/xyw/doc
ftp>; mget *
[例6] ftp的退出
ftp>; close
ftp>; quit
基礎篇小結
第一章主要介紹了UNIX的特點、組成和幾個基本概念,同時介紹了UNIX常見的三種Shell: B Shell、K Shell 和 C Shell。
第二章本章介紹了UNIX的常見命令和操作方法。
l 在使用UNIX操作系統之前必須先登錄,使用完成後要注銷。
l UNIX簡單命令格式和幾個常用命令。
l 幾個常用UNIX命令和命令操作中常用的特殊按鍵。
l 用戶通訊命令:write、talk、mesg和wall。
第三章主要介紹了文件系統的基本概念和基本命令:
l UNIX文件系統分為根文件系統和附加文件系統。
l UNIX的文件類型可分為:一般文件、目錄文件、特殊文件和符號鏈接文件。
l UNIX采用樹型目錄結構。每個用戶擁有自己的家目錄。
l UNIX支持長文件名。UNIX的文件名對大小寫敏感。
l UNIX文件的存取權限分為:r、w 、x。
l UNIX支持重定向和管道。
l 最後介紹了UNIX文件系統常用命令。
第四章介紹了UNIX文件系統幾個常用工具軟件:
l 利用vi可以對文本文件進行編輯。
l 利用find可以在目錄中查找文件名。
l 利用grep可以在文本文件中查找指定字符串。
l 利用cmp可以比較兩個文件的內容是否相同。
l tar和cpio是文件備份和恢復兩個實用程序。
l 文件的壓縮和解壓程序很多,本章簡要介紹了compress、pack、pkzip、和gzip。
第五章主要介紹了UNIX的簡單維護操作:UNIX的開關機、修改系統時間、進程管理、查看磁盤空間和掉電故障處理。
第六章主要介紹了幾個與網絡有關命令的功能和使用:
l 用finger命令來顯示正在使用UNIX系統的用戶信息。
l UNIX可以用mail命令收發電子郵件。
l telnet和ftp用於遠程登錄和文件拷貝。
基礎篇習題
1、什麼是UNIX shell? UNIX有哪幾種shell? 它們各自的啟動命令是什麼?
2、解釋進程、設備。
3、UNIX有哪幾種常用文件類型?分別用什麼符號表示?
4、UNIX文件名通配符“abc*th”,和“abc?”分別表示什麼含義?
5、UNIX的文件存取權限有哪些?分別表示什麼含義?
6、舉例說明UNIX文件系統中常用目錄的作用?
7、在後台運行find命令,在/usr/abc目錄及其子目錄查找以a開頭的文件,並將結果存到ddd.dat文件中。
8、為什麼UNIX在關機前要先shutdown?
9、如何停止失控的進程?
10、將本地計算機C:\FILE1\目錄下的文本文件TTT.SQL拷貝到遠程UNIX主機(ip地址129.6.114.201)的/usr/abc/ttt文件中去,請寫出ftp命令。
第二篇 深入篇
第一章 UNIX啟動和定時管理
1.1 UNIX啟動過程
UNIX系統的啟動過程如下:
l 用戶打開計算機電源。
l 計算機自動執行ROM引導程序。
l 將第一塊硬盤的boot區調入內存並執行。硬盤的boot區存有硬盤的分區信息和驅動程序。
l 將硬盤的活動分區上的bootstrap程序調入內存並執行。bootstrap程序位於該活動分區上的第0號塊中。
l 將UNIX的啟動程序/boot調入內存並執行。
l 將UNIX的內核程序/unix調入內存並執行。
l 檢測並配置內存和硬件設備。
l 啟動/etc/init進程。init將/etc/inittab調入內存,並根據啟動層次的不同,選擇/etc/inittab內不同的程序來執行。對於多用戶來說,init會執行/sbin/bcheckrc和/sbin/brc進程,最後由/sbin/rc2進程將系統帶入多用戶使用環境,並為每個終端啟動/etc/getty一個進程等待接收用戶的登錄。
1.2 UNIX用戶的登錄過程
UNIX用戶的登錄過程如下:
l 用戶打開終端電源(或運行telnet)。
l getty進程將登錄提示信息送到用戶終端顯示,並等待用戶輸入用戶名。
l 用戶輸入用戶名。
l getty進程接收到用戶名後,啟動login進程。
l login進程要求用戶輸入口令。
l 用戶輸入口令。
l login進程對username和password進行檢查。
l login啟動shell進程。
l shell進程根據/etc/password中的shell類型,啟動相應的shell。並啟動/etc/profile文件和$HOME/.profile文件(或$HOME/.login文件)。最後出現UNIX提示符,等待用戶輸入命令。
以上過程簡述如下(以B Shell為例):
打開終端 ->; getty ->; login ->; sh ->; /etc/profile ->; $HOME/.profile ->; 出現提示符$
1.3 daemon進程
在UNIX系統中,有許多關鍵的功能都是由一些好象是自動運行的進程來實現的,這些進程稱為daemon進程,它們在後台自動運行並負責對系統的管理。
在系統啟動時這些進程就應該啟動,此後它們會按照自己的調度方式運行自己。可以用手動方式啟動daemon進程,也可以把它放在初始化文件中來進行。例如,名叫update的daemon進程每30秒便自動地更新盤上的內容。該命令可用下列命令來啟動:
# /etc/update &
但是更好的辦法是把這條命令放在系統的/etc/rc文件中,以便每次引導系統時都會執行它。
1.4 UNIX系統的定時器
UNIX允許在指定的時刻執行指定的程序,這一功能是靠cron進程來實現的。cron是一個daemon進程,在UNIX的多用戶模式下執行,它使某程序在一特定的時間被執行。cron會按照crontabs文件所指定的時間執行命令,crontabs文件內容舉例如下:
#min hour day month day_of_week command
#0-59 0-23 1-31 1-12 0-6(Sunday=0)
#-----------------------------------------------------------
30 0 * * * /usr/abc/rj
0 7 * 1,3,6,8 1-5 /usr/abc/makfile
crontabs文件由若干行組成,每行表示一個事件。每行由若干字段組成,字段間用空格分開。每行中字段名依次為:分、時、日、月、星期、要執行的命令。每個字段取值舉例:
各字段取值舉例 說明
* 表示任何時間
1,3,4 表示離散數字
1-5 表示從1到5
上例crontabs文件中的:
30 0 * * * /usr/abc/rj
一行,表示在每天的午夜0:30啟動/usr/abc/rj文件運行,而如下一行:
0 7 * 1,3,6,8 1-5 /usr/abc/makfile
表示每當1、3、6和8月的周1到周五,啟動/usr/abc/makfile文件運行。
crontabs文件是不能直接通過編輯命令修改的。要對crontabs文件進行操作可使用crontab命令。crontab命令的幾種格式舉例如下:
crontab命令舉例 說明
crontab 刪除crontabs原內容,並通過鍵盤輸入新內容
crontab myfile 將myfile的內容取代crontabs原內容
crontab -r 刪除現有的crontabs文件
crontab -l 顯示現有的crontabs文件內容
[例1] 在原crontabs內容的基礎上增加如下事件:每月1日凌晨3時啟動/usr/abc/stat文件運行。
做法如下:
(1) 運行 crontab -l >; tmp
(2) 對tmp文件進行編輯,追加下面一行:
0 3 1 * * /usr/abc/stat
(3) 運行 crontab tmp
第二章 UNIX用戶管理
本章簡單介紹的用戶和用戶組的管理,主要說明了增加和刪除用戶的過程。UNIX用戶管理常見命令如下:
useradd 增加用戶
userdel 刪除用戶
usermod 修改用戶
userls 顯示用戶和系統登錄信息
passwd 修改用戶口令
groupadd 增加用戶組
groupdel 刪除用戶組
groupmod 修改用戶組
groupls 顯示用戶組的屬性
只有root用戶和授權用戶才能對用戶和用戶組進行增加、修改、刪除操作。
2.1用戶管理
一、增加新用戶
步驟1 創建用戶
要在UNIX系統中增加新用戶,可采用useradd命令,常用命令格式如下:
/etc/useradd [-c comment] [-d directory]] [-g group] [-m] [-s shell] username
其中,
-c comment 表示注釋
-d directory 表示家目錄
-g group 表示屬於哪個用戶組
-m 表示若家目錄不存在,則自動創建
-s shell 表示該用戶使用的shell
username 用戶名
例1:要創建一個名為devos的用戶,其它默認,創建命令如下:
useradd -m devos
若directory不出現,則自動創建缺省家目錄,如/usr/ devos,缺省shell為B Shell。
例2:要創建一個名為ncp的用戶,shell為ksh,其它默認,創建命令如下:
useradd -m -s /bin/ksh ncp
例3:下面的命令:
useradd -c "Test User" -m -d /test/test02 -g xyw -s /bin/ksh test02
表示要創建一個名為test02的用戶,屬於xyw用戶組,家目錄為/test/test02(自動創建)。“Test User”表示注釋。
步驟2 設密碼
對用戶devos建立密碼的命令為:
passwd devos
二、刪除用戶
刪除用戶的命令常用格式為:
/etc/userdel username
有的UNIX系統可能不允許徹底刪除該用戶,userdel只能回收該用戶的使用權(retire).2.2用戶組管理
一、增加新用戶組
要在UNIX系統中增加新用戶組xyw,命令如下:
/etc/groupadd xyw
命令執行完後就增加了一個名為xyw的用戶組。
二、刪除用戶組
要將在UNIX系統中用戶組gp11刪除,命令如下:
/etc/groupdel gp11
命令執行完後就將gp11用戶組刪除了。
2.2 采用另外一種方法增加和刪除用戶
下面介紹另外一種方法增加和刪除用戶,只有在特殊情況下使用,一般不推薦使用這種方法。
一、增加用戶
要在UNIX系統中增加新用戶需要下列步驟:
(1)在/etc/passwd文件中新增一行數據,表示給該用戶的信息;
(2)為該用戶選擇用戶組,將該用戶標識符加在/etc/group文件內適當位置;
(3)為該用戶創建一個家目錄(home directory),將其家目錄的屬主改為該用戶所有,組別也改為該用戶的組別;
(4)為該用戶設置密碼。
(一)/etc/passwd文件
/etc/passwd是一文本文件,用來存放用戶信息,每行表示一個用戶。/etc/passwd每行的格式如下:
user_name:password:uid:gid:comment:home:shell
每行有很多項組成,項與項之間用":"隔開。每項的說明如下:
user_name 用戶名
password 登錄密碼,初始設置時為空
uid 用戶識別號(User ID),是一數值,每個用戶的識別號不同
gid 用戶組識別號,參見/etc/group文件
comment 注釋,可以任意字符,一般用來說明用戶的身份特征
home 家目錄名
shell 該用戶缺省shell,一般取值為:/bin/sh、/bin/ksh、/bin/csh
/etc/passwd的內容舉例如下:
cfl:201:50:Cao Feilong:/usr/cfl:/bin/sh
abc:206:50:abc:/usr/abc:/bin/sh
要增加一新用戶,用戶名devos,需要在/etc/passwd文件末尾增加如下一行:
devos::207:50ick Devos:/usr/devos:/bin/sh
(二)/etc/group文件
/etc/group是一文本文件,用來存放用戶組信息,每行表示一個組。/etc/group每行的格式如下:
group_name:password:gid:members_list
每行有四項組成,項與項之間用":"隔開。
group_name 用戶組名
password 用戶組密碼,一般為空
gid 用戶組識別號(Group ID),是一數值,每個組的識別號不同
members_list 該組成員列表,由一個或多個用戶名組成,用戶名之間用逗號隔開
/etc/group的內容舉例如下:
other::1:root,daemon
group::50:ingres,sybase,cfl,abc
值得說明的是,一個用戶可以是多個組的成員。
若要使devos用戶屬於group組,還需要在/etc/group文件中group組所在行末加上devos:
group::50:ingres,sybase,cfl,abc,devos
(三)創建家目錄
# mkdir /usr/devos 在/usr目錄下創建與用戶名同名的目錄devos
# chown devos /usr/devos 設置/usr/devos的屬主為devos
# chgrp group /usr/devos 設置/usr/devos的用戶組為group
# chmod 755 /usr/devos 設置存取權限,一般為755
(四)設密碼
對用戶devos建立密碼的命令為:
# passwd devos
早期的UNIX版本,用戶密碼經加密後存放在/etc/passwd中的password字段。而在SVR3以後的版本則借用/etc/shadow存放用戶密碼。
二、刪除用戶
刪除用戶的步驟如下:
(1)刪除/etc/passwd內該用戶的信息行
(2)刪除/etc/group內有關該用戶的項。
(3)將該用戶的家目錄刪除
第三章 存儲設備的使用
本章主要介紹UNIX中常用存儲設備的使用。本章涉及的存儲設備有:軟盤、硬盤、CD-ROM。
3.1創建設備
設備必須創建後,才有可能工作。創建設備的UNIX命令為:
/etc/mkdev 設備類型 [參數列表]
其中常見設備類型如下表所示
設備類型 說明
fd 軟盤
hd 硬盤
cdrom CD-ROM
tape 磁帶機
serial 串口
parallel 並口
mouse 鼠標
lp 打印機
設備創建好後,系統會在/dev目錄下生成設備文件。下表列出了SCO UNIX下的幾個設備:
設備文件舉例 說明
/dev/fd0 boot的軟盤驅動器
/dev/fd0135ds18 135磁道、雙密度軟盤,每磁道18個扇區
/dev/cd0 第1個光盤驅動器
/dev/hd00 第1個物理硬盤
本章只涉及存儲設備。
3.2 mount和umount命令
在使用某設備上的文件系統之前,必須將該設備上的文件系統掛接(mount)到根文件系統的某個目錄上,此目錄稱為掛接點(mount point)。此時該設備上的文件系統相當於該目錄的延伸,對該目錄的操作就等於對該設備文件系統的操作。使用完該設備的文件系統後,還要將它卸出(umount)。
一、mount命令
mount的過程(步驟)如下:
第1步:創建一目錄
第2步:對目錄權限進行修改
第3步:執行mount命令,將設備掛接到該目錄上
塊設備的mount命令格式如下:
/etc/mount [-v] [-r] [-f fstyp ] special directory
/etc/mount
其中,不帶參數的mount只是顯示mount列表。帶參數的mount真正執行掛接操作,參數說明如下:
mount參數 說明
-r 只讀
-v 在掛接的同時,顯示掛接信息
-f 文件系統類型開關
ftype 文件系統類型
special 塊設備文件
directory 掛接目錄,在掛接前必須預先創建好
注意:必須將設備准備好後,再進行掛接,否則掛接會失敗。例如,要掛接軟盤,必須將相應軟盤插入驅動器後,再進行掛接。
二、umount命令
umount命令將設備從文件系統中卸出。umount命令格式如下:
umount 設備文件
或 umount 掛接目錄
[例1] 卸出CD-ROM的命令如下:
umount /dev/cd0
執行完umount命令後,再將CD-ROM從驅動器中取出。
3.3 軟盤的使用
一、軟盤設備的創建
UNIX在安裝時,已經創建了fd設備。下面列出了SCO UNIX的磁盤驅動器設備文件名:
第一個軟盤驅動器設備文件 說明(相當於DOS的A盤)
/dev/fd0 boot的軟盤驅動器
/dev/fd0135ds18 135磁道,雙面,每磁道18個扇區(1.44M)
/dev/fd0135ds9 135磁道,雙面,每磁道9個扇區
/dev/fd048 48磁道的軟盤驅動器
/dev/fd048ds8 48磁道,雙面,每磁道8個扇區
/dev/fd048ds9 48磁道,雙面,每磁道9個扇區
/dev/fd048ss8 48磁道,單面,每磁道8個扇區
/dev/fd048ss9 48磁道,單面,每磁道9個扇區
/dev/fd096 96磁道的軟盤驅動器
/dev/fd096ds15 96磁道,雙面,每磁道15個扇區
/dev/fd096ds18 96磁道,雙面,每磁道18個扇區
/dev/fd096ds9 96磁道,雙面,每磁道9個扇區
若將上面的/dev/fd0換成/dev/fd1,其余不變,則認為是第二個軟盤驅動器(相當於DOS的B盤)。
二、軟盤的格式化
軟盤的格式化命令如下:
format 軟盤原始設備文件名
例如,要格式化135磁道、雙面、每磁道18個扇區的軟盤(即1.44M),format命令如下:
format /dev/rfd0135ds18
三、安裝文件系統
用下面命令安裝文件系統:
/etc/mkfs 軟盤原始設備文件名
如,要在上面格式化過的軟盤上安裝文件系統,運行下面命令:
/etc/mkfs /dev/fd0135ds18
四、軟盤的掛接
軟盤的掛接命令舉例如下:
# mkdir /diska 創建一目錄
# chmod 777 /diska 改變該目錄權限
# mount /dev/fd0135ds18 /diska 將/dev/fd0135ds18掛接到/diska目錄
3.4 硬盤的使用
大多數服務器都采用SCSI總線硬盤,本節主要介紹SCSI硬盤。
一、SCSI接口卡
SCSI接口卡(SCSI Host Adapter)插在計算機總線插槽內,硬盤、CD-ROM或其它設備通過SCSI總線與SCSI接口卡相連。在進行軟硬件設置時常用到以下參數。
(一) SCSI主接口卡卡號:ha
一台計算機最多可插多塊主接口卡,每塊卡有一個編號,稱為SCSI主接口卡卡號(ha --- Host Adaptor Number)。卡號的取值范圍為:0 – 1 。
(二) SCSI主接口卡類型:hatype
SCSI主接口卡由不同廠家制造,沒有統一的軟件驅動程序。在使用之前,應先選擇相應的軟件驅動程序。一般用驅動程序名字作為該卡的類型(hatype - Host Adapter Type)。常見的驅動程序如下:
ad Adapter 154x、154x emlation、164x
ciha 386/486 CBUS SCSI
dpt DPT PM2012
eiad Adaptec 174x
esc Olivetti ESC-1
fdha Future Domain TMC-1660、TMC-1680、MCS-700
(三)控制器地址:id
一個主接口卡由八個控制器組成,每個控制器有一個編號,稱為id號(ID Number),取值為:0 – 7。
(四)邏輯單元號:lun
一個控制器可最多帶8個設備,邏輯單元號(lun --- Logical Unit Number)就是設備地址,取值為0 - 7。但對於大多數硬盤或光盤來說,只有一個lun,即0。
二、SCSI硬盤設備的創建
UNIX在安裝時,至少已經創建了第一張硬盤設備。下面列出了SCO UNIX的硬盤驅動器設備文件名:
第一個硬盤驅動器設備文件 說明(相當於DOS的C盤)
/dev/hd00 驅動器0的整個硬盤
/dev/hd01 驅動器0的第1個磁盤分區
若將上面的/dev/hd0換成/dev/hd1,其余不變,則認為是第二個硬盤驅動器。
在使用之前可先查看該文件是否存在,若不存在,可以創建硬盤設備。SCSI硬盤硬盤設備的創建命令如下:
/etc/mkdev hd id ha lun hatype
其中,id是主接口卡控制器地址;ha是主接口卡卡號;lun是邏輯單元號;hatype是主接口卡類型(參見本節第一部分SCSI接口卡)。
例如,在Compaq服務器的第一塊SCSI適配器上增加第二塊硬盤,並設硬盤的ID號為2,SCO UNIX的運行如下命令:
# mkdev hd 2 0 0 cha
# reboot
# mkdev hd 2 0 0 cha
創建硬盤也可以直接運行:
mkdev hd
會出現菜單,以後按菜單操作即可。
三、硬盤的分區
硬盤設備創建好後,還應對硬盤進行分區。SCO UNIX的分區命令格式是:
divvy [硬盤設備名]
如:
divvy /dev/hd10
是對/dev/hd10硬盤進行分區。
在分區時還要選擇分區名以及要安裝的操作系統類型,分區結束後自動安裝操作系統。
四、硬盤的掛接
硬盤的掛接命令舉例如下:
# mkdir /hd1_dir 創建一目錄
# chmod 777 /hd1_dir 改變該目錄權限
# mount /dev/linda /hd1_dir 將/dev/linda掛接到/hd1_dir目錄
其中/dev/linda是分區設備名。
3.5 CD-ROM的使用
一、CD-ROM設備的創建
絕大多數UNIX在安裝時,已經創建了CD-ROM設備。CD-ROM的設備文件名為:
/dev/cd0 第1個CD-ROM驅動器
/dev/cd1 第2個CD-ROM驅動器
在使用之前可先查看該文件是否存在,若都不存在,再創建CD-ROM設備。CD-ROM設備的創建命令如下:
mkdev cdrom
會出現菜單,以後按菜單操作即可。
二、CD-ROM的掛接
CD-ROM的掛接命令如下:
# mkdir /cdrom 創建一目錄
# chmod 555 /cdrom 改變該目錄權限
# mount -r /dev/cd0 /cdrom 將/dev/cd0掛接到/cdrom目錄, "-r"表示只讀
第四章 網絡、主機和路由參數設置
本節介紹了UNIX上的網絡、主機和路由參數設置。在進行網絡(主機)地址設置時一般用到/etc目錄下三個文本文件:networks、hosts、gateways,分別存放網絡、主機、路由列表。
4.1 /etc/networks文件
/etc/networks文件存放網絡列表,一般把所用到的網絡號都放到此表。此文件每行表示一個網絡,由以下三個域構成:
name number aliases
這裡,
name 表示網絡的正式名稱
number 表示網絡號,把IP地址中的主機地址去掉就是網絡號
aliases 表示網絡別名,若有多個別名,用空格分開
# 表示注釋
/etc/networks內容舉例:
loopback 127
huawei 129.9 #Huawei Tech. Co. Ltd.
training 129.6 peixun qqsj #Training Center
其中,第一行,loopback是網絡名,它的網絡號是127(A類地址);第二行,huawei是網絡名,它的網絡號是“129.9”(B類地址), “#Huawei Tech. Co. Ltd.”是注釋;第三行,training是網絡名,它的網絡號是“129.6”,它的別名有兩個:peixun和qqsj,“#Training Center”是注釋。
4.2 /etc/hosts文件
/etc/hosts文件存放主機列表,一般把所用到的主機號都放到此表,該主機可以不在同一個網絡上。此表每行表示一個主機,由以下三個域構成:
address name aliases
這裡,
address 表示主機IP地址
name 表示主機的正式名稱
aliases 表示主機別名,若有多個別名,用空格分開
# 表示注釋
建議將hostname和node name(參見UNIX的hostname和uname命令)作為主機名或別名。
/etc/hosts內容舉例:
127.0.0.1 localhost
129.6.114.201 xyw01.huawei.com.cn xyw01 intess114
129.6.114.202 xyw02.huawei.com.cn xyw02 intess112
129.6.0.1 px_hw_r #Router to huawei
129.7.10.21 lihong #Li Hong
129.9.6.218 www.huawei.com.cn
其中,第一列,“127.0.0.1”、“129.6.114.201”等是IP地址; 第二列,“localhost”、“xyw01.huawei.com.cn”、“xyw02.huawei.com.cn”等是主機名稱; 其它,“xyw01”、“intess114”、“xyw02”、“intess114”是別名, “#Router”是注釋。
4.3 /etc/gateways文件
/etc/gateways文件存放網關列表,每行表示一個網關參數,由以下域構成:
; name1 gateway name2 metric value ;
這裡,
net,host 表示路由指向網絡還是指向某一特定主機,net和host為關鍵字
name1 目的網絡名或主機名(或IP地址)
gateway 關鍵字
name2 網關名或網關IP地址
metric 關鍵字
value 表示表示到目的網絡或主機的hop計數值
passive 關鍵字,表示被動方式,路由器不交換路由信息
active 關鍵字,表示主動方式,路由器交換路由信息
external 關鍵字,表示外部方式,其它進程已安裝了路由
# 表示注釋
;表示只能選net和host兩個關鍵字中的其中一個,;表示只能選其中一個關鍵字。
/etc/gateways內容舉例:
net huawei gateway px_hw_r metric 1 passive
host lihong gateway px_xx_r metric 1 passive
其中,huawei是目的網絡名(在/etc/networks中定義),px_hw_r是路由器名,lihong是目的主機名(在/etc/hosts中定義),px_xx_r是路由器名。當然,以上所有名稱均可用網絡號或IP地址代替:
net 129.9 gateway 129.6.0.1 metric 1 passive
host 129.7.10.21 gateway 129.6.0.2 metric 1 passive
4.4 設置步驟
(1) 以root用戶登錄UNIX
(2) 查看/etc目錄下hosts、networks和gateways文件是否存在,若不存在創建之
(3) 修改三文件內容,確保參數正確,注意三文件參數之間的關系
(4) 對內核進行重新連接(對於SCO UNIX可運行sysadmsh選system->;kernal->;relink)
(5) 運行reboot重新啟動UNIX
4.5 測試
假設本服務器的IP地址為129.6.114.201, /etc目錄下的hosts、networks和gateways文件的內容為以上1、2和3中的實例參數。這裡用UNIX的ping命令進行測試。
(一) 同一網絡內測試
ping 129.6.114.201 自身測試,查看IP協議是否已經驅動
ping intess114 自身測試,查看hosts設置是否正確
ping xyw02 本網絡是否通
ping px_hw_r 路由器是否連上
(二)網間測試
ping 129.9.6.218 測試/etc/networks和/etc/gateways,以及路由器
ping www.huawei.com.cn 測試三文件
深入篇小結
第一章介紹了UNIX的啟動和登錄過程、daemon進程。重點介紹了UNIX的定時執行文件的功能。
第二章介紹了增加用戶和刪除用戶的過程。推薦使用命令方式,一般不要使用直接對文件進行修改的方式。
第三章主要介紹了軟盤、硬盤和CD-ROM的使用前的配置和使用過程。
第四章介紹了的網絡和路由參數設置:介紹了/etc/目錄下的networks、hosts、gateways三文件的格式和設置。
深入篇習題
1、讓UNIX在每天的凌晨1點,執行/usr/abc/stat程序。
2、/etc/passwd文件內容每行由哪幾部分組成?/etc/group文件內容每行由哪幾部分組成?
3、請寫出掛接(mount)軟盤的過程。
4、/etc目錄下的networks、hosts、gateways三文件內容的存放格式分別是什麼?
第三篇 UNIX上機指導
第一部分 上機環境
1.1 UNIX主機環境
UNIX主機信息
1、操作系統:SCO UNIX
2、IP地址129.6.114.201
3、用戶名:xyw
UNIX文件
假設已經存在下列目錄及文件:
/usr/xyw xyw用戶的家目錄
/usr/xyw/.profile 批處理文件
/usr/xyw/pwdhlp 文本文件
/usr/xyw/doc/readme.doc 文本文件
/usr/xyw/doc/who.txt 文本文件
/usr/xyw/bin/calendar 二進制文件
/usr/xyw/bin/dispmesg 文本文件
/usr/xyw/bin/calling 二進制文件
/usr/xyw/tmp 目錄
1.2 工作站環境
工作站硬件配置
1、計算機:Pentium PC機
2、網卡
工作站軟件配置
1、操作系統為DOS 6.22
2、中文Windows 3.2
3、NetWare上網軟件(for DOS)
4、TCP/IP協議驅動軟件(for DOS and Windows 3.x)
5、NetTerm軟件(for Windows)
6、FTP軟件(for DOS)
並假設已經存在下列目錄
f:\apps\netterm.ins NetTerm安裝盤(目錄)
f:\apps\ftp ftp軟件(目錄)
c:\dos\help.hlp 二進制文件
c:\temp\to\auto.bat 文本文件
c:\temp\to\print.exe 二進制文件
c:\temp\from 目