UNIX命令
?一、UNIX命令格式
1、UNIX命令提示符
??? 在命令行下,操作系統(tǒng)會(huì)顯示一提示符,提示用戶在此提示符后可以輸入一行命令。不同的Shell有不同的缺省提示符:
??????? B Shell和K Shell的缺省提示符為"$";
??????? C Shell的缺省提示符為"%";
??????? 但當(dāng)以root用戶登錄時(shí),系統(tǒng)提示符統(tǒng)一缺省為"#"。
用戶可以更改自己的缺省Shell和提示符。
2、基本命令格式
??? 在Shell提示符下,就可以輸入U(xiǎn)NIX命令。UNIX命令的基本格式如下:
??????????? command? 參數(shù)1? 參數(shù)2? ...? 參數(shù)n
UNIX命令由一個(gè)命令(command)和零到多個(gè)參數(shù)構(gòu)成,命令和參數(shù)之間,以及參數(shù)與參數(shù)之間用空格隔開。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令區(qū)分大小寫,且命令和參數(shù)之間必須隔開。如:對DOS來說是以下四條命令是相同的:
??????????? cd/tmp
??????????? cd /tmp
??????????? CD /tmp
??????????? cd /Tmp
對UNIX操作系統(tǒng)來說,改變目錄的命令也是cd命令,以下是正確的UNIX cd命令:
??????????? cd /tmp
??????????? cd /Tmp
但tmp和Tmp是兩個(gè)不同的目錄。以下兩條命令:
??????????? cd/tmp
??????????? CD /tmp
已經(jīng)不是cd命令了。
3、在一行中運(yùn)行多個(gè)命令
可以在一行中輸入多個(gè)命令,命令間用“;”分開,如:
??????? mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
UNIX會(huì)順序執(zhí)行以上三條命令。
4、在后臺(tái)運(yùn)行程序
??? 要讓程序在后臺(tái)執(zhí)行,只需在命令行的最后加上“&”符號(hào)。
[例1] 在后臺(tái)運(yùn)行find命令,在當(dāng)前目錄及其子目路下查找文件名為abc的文件。
??? 執(zhí)行命令和立即顯示的內(nèi)容如下:
??????? $ find . -name abc -print&
??????? 10722
??????? $?
??????? ...
10722表示進(jìn)程號(hào)(PID)。當(dāng)find命令在后臺(tái)執(zhí)行完后,會(huì)顯示結(jié)果。
當(dāng)在后臺(tái)運(yùn)行命令時(shí),最好將其輸出重定向輸出到一個(gè)文件中去,以便以后檢查。
[例2] 在后臺(tái)運(yùn)行find命令,在當(dāng)前目錄及其子目路下查找文件名為abc的文件并將結(jié)果存到myfind文件中。
??? 執(zhí)行命令如下:
??????? $ find . -name abc -print>myfind&
在運(yùn)行后臺(tái)程序的同時(shí)可以繼續(xù)輸入命令。
5、nohup命令
??? 當(dāng)終端退出后,由該終端啟動(dòng)的后臺(tái)程序自動(dòng)退出。要想終端退出后程序不停止運(yùn)行,則要用nohup命令啟動(dòng)后臺(tái)程序。如對于例2的命令加入nohup后變?yōu)?#xff1a;
??????? $ nohup find . -name abc -print>myfind&
二、特殊按鍵
在UNIX命令操作中有一些特殊鍵,列表如下:
Ctrl + d 結(jié)束鍵盤輸入或退出當(dāng)前shell
Del 中斷鍵,停止當(dāng)前動(dòng)作回到shell
Ctrl+s 暫停屏幕輸出
Ctrl+q 繼續(xù)屏幕輸出
Ctrl+u kill鍵,刪除光標(biāo)所在行的所有字符
Esc 結(jié)束當(dāng)前的操作狀態(tài)(如vi)
三、UNIX常用簡單命令
下表列出了幾個(gè)簡單的UNIX命令:
解釋 UNIX命令 命令舉例
查看幫助信息 man man date
查看日期 date date
顯示日歷 cal cal 1998
顯示大寫大字 banner banner “ABCD”
計(jì)算器 bc bc
修改口令 passwd passwd
查看誰在使用系統(tǒng) who who
查看我是誰 who am i who am i
顯示用戶信息 finger finger 用戶名
清除屏幕 clear clear
1、man命令 - 查看幫助信息
??? 舉例:
??????? 查看man的使用方法: man
??????? 查看finger命令的幫助信息: man finger
2、date命令 - 顯示、修改日期和時(shí)間
顯示時(shí)間的命令如下:
??????? date
顯示如下:
??????? Mon Aug 17 13:43:14 NST 1998
表示NST標(biāo)準(zhǔn)時(shí)間,1998年8月17日13:43:14,星期一。
3、cal命令 - 顯示日歷
??? 舉例:
??????? 顯示1998年全年日歷: cal 1998
??????? 顯示1998年8月日歷: cal 8 1998
4、banner命令 - 顯示大寫大字
??? 舉例:在屏幕上用大字顯示“HUAWEI”,命令如下
??????? banner "HUAWEI"
5、bc命令 - 簡單計(jì)算器
??? bc命令可以進(jìn)行加、減、乘、除、求模、乘方運(yùn)算,運(yùn)算符分別為“+”“-”“*”“/”“%”“^”。bc使用舉例如下
??????? bc
以后輸入算式即可,如:
??????? 1234 * 3 + 2^4
按回車顯示結(jié)果,以后等待輸入其它算式。按<Ctrl>+d鍵退出bc。
6、passwd命令 - 修改口令
要修改自己的口令,只需運(yùn)行:
??????? passwd
以后系統(tǒng)會(huì)提示輸入原來口令,并輸入新口令。
7、who命令 - 查看正在使用UNIX的用戶
??? 用法如下:
??????? who
系統(tǒng)會(huì)顯示正在使用UNIX的用戶名、終端號(hào)和登錄時(shí)間。要查看使用者自己的信息,運(yùn)行:
??????? who am i
8、finger命令 - 顯示用戶信息
??? finger命令比who命令顯示的信息量大,功能強(qiáng)。基本使用方法如下:
??????? 顯示登錄信息:? finger
??????? 顯示smith用戶詳細(xì)信息: finger smith
9、clear命令 - 清除屏幕
??????? clear
四、UNIX用戶間簡單通訊命令
??? UNIX提供許多方式讓用戶相互通信,它允許你以文本的方式發(fā)送及接收信息。你可以傳遞信息給其他用戶、所有用戶、或自己。信息來源可以是文本文件或直接由鍵盤輸入的內(nèi)容。
(一)write 命令
??? 可使用write 實(shí)用程序向已登錄的另一個(gè)用戶發(fā)送一條報(bào)文,當(dāng)對方也使用write 命令時(shí),雙方之間就建立了通信。
??? 當(dāng)用戶使用write 命令時(shí),就在對方用戶終端上顯示提示信息。write 命令的格式如下:
???????? write destination-user [terminal]?
其中,destination-user 是你想與之通信的用戶注冊名,通常使用who 命令查看其注冊名。如果對方在多臺(tái)終端上登錄,可通過用terminal 來控制write 的報(bào)文送向指定的終端。為了建立與其他用戶的雙向通話,用戶和對方每次必須執(zhí)行write 命令,且必須指定注冊名。一般在使用UNIX 進(jìn)行通話時(shí),通信雙方有一些約定:用“o” 表示結(jié)束一條報(bào)文,“oo” 表示結(jié)束這次通信,用ctrl-d 退出write 命令。
[例1] UNIX上兩用戶alex 和jenny 通過write命令通信。
在alex的所在終端上(<CR>表示回車):
??????? $ write? alex? <CR>
??????? Hi Alex, are you there? o<CR>
??????? Message from Alex (tty11)[Sat Jan 5 15:08]….
??????? Yes Jenny, I’m here. o<CR>
??????? ……
??????? Thank you ,Alex, bye! oo<CR>
??????? Ctrl-d
??????? $
該例說明了使用write 命令實(shí)現(xiàn)Alex 和Jenny 的通信過程。首先Jenny 使用前兩行向Alex發(fā)送了一條報(bào)文,接下來的兩行是Alex 發(fā)送的報(bào)文Jenny 收到了,省略號(hào)表示他們的通信繼續(xù)。最后,Jenny 用thank you,Alex,bye!oo 告訴Alex沒有話要說了,并在下一行開始鍵入ctrl-d 來退出write 并回到shell。
(二)使用talk雙方對話
??? talk 命令是一個(gè)虛擬通信命令,它允許登錄雙方通過鍵盤實(shí)時(shí)對話,其格式如下:
??????? talk user-name [terminal]〈CR〉
注意,使用talk 進(jìn)行雙方對話時(shí),雙方使用的機(jī)器體系結(jié)構(gòu)必須相同。當(dāng)對方給出響應(yīng)的talk命令后,雙方終端上都顯示
??????? [connect established]
時(shí),雙方可雙工通信了。雙方可以以任意的速度從鍵盤輸入,talk 把你的輸入一行一行的顯示在你和對方的屏幕上。用<Delete>退出talk 。
(三)使用mesg 拒絕和允許接收報(bào)文
??? mesg 命令允許或拒絕接收由其它終端發(fā)來的write 和talk通訊信息。mesg命令在本地終端運(yùn)行,其使用格式如下:
??????? mesg [y] [n]〈CR〉
其中,y 表示允許接收,n 表示拒絕接收。如既不給出y 也不給出n ,則報(bào)告現(xiàn)在的許可狀態(tài)。例:
[例1] 顯示狀態(tài):
??????? $mesg <CR>
則命令的執(zhí)行結(jié)果為:
??????? is y?
或????? is n?
[例2] 拒絕接收由其它終端發(fā)來的write 和talk通訊信息:
??????? $mesg? n
??????? $mesg
??????? is n
(四)wall 廣播式消息傳遞
??? 所有登錄用戶都可收到該消息。僅超級用戶使用該命令。wall命令有以下幾種格式:
??????? # wall
??????? # wall filename
??????? # wall “send a message to all the people。”
2.4 注銷(退出UNIX系統(tǒng))??
在每次使用完后,一定要進(jìn)行注銷,以防他人通過你的帳號(hào)進(jìn)入系統(tǒng),并保證系統(tǒng)的完整性。注銷過程如下:在UNIX提示符下,運(yùn)行:
??????? $ exit
或
??????? $ logout
或直接按鍵:
??????? Ctrl+d。
由于UNIX操作系統(tǒng)的不同,注銷的命令也可能不同。
3.5 UNIX文件存取權(quán)限
一、文件的存取權(quán)限
??? UNIX文件的存取有三種權(quán)限:
權(quán)限 普通文件的存取權(quán)限 目錄的存取權(quán)限
R 具有讀取文件的權(quán)利 能讀取文件名稱
W 具有寫入文件的權(quán)利 能建立和刪除文件,可以改變文件名
X 具有執(zhí)行文件的權(quán)利 能使用該目錄下的文件(如cd命令)搜索文件等
二、能夠存取文件的用戶類型
??? 有三種類型的用戶可以存取文件:
用戶類型 說明
owner 文件的屬主(擁有者)
group 用戶組內(nèi)成員
other 其他用戶(非owner和非group)
每種類型的用戶都有三種文件存取權(quán)限:r、w、x。
三、文件存取權(quán)限的顯示
??? 可以通過”ls -l”命令顯示,如:
$ ls? -l? file1
顯示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
上行中:
??????? 第2-4字符”rwx”表示此文件屬主wjm對文件file1的權(quán)利為”可讀、可寫、可執(zhí)行”;
??? 第5-7字符”r-x” 表示此用戶組newservice內(nèi)的用戶對文件file1的權(quán)利為:
??????? ”可讀、不可寫、可執(zhí)行”;
??? 第8-10字符”r--” 表示其他用戶對文件file1的權(quán)利為”可讀、不可寫、不可執(zhí)行”
四、文件存取權(quán)限的修改
??? 用chmod命令修改文件的存取權(quán)限,chmod命令的格式如下:
格式1: chmod? symbolic_mode? file…
格式2: chmod? absolute_mode? file…
(一)格式1:符號(hào)模式(symbolic_mode), 符號(hào)模式的命令格式如下:
chmod? [who] op permision? file…
who項(xiàng)表示用戶類型,它的內(nèi)容為以下一項(xiàng)或多項(xiàng):
U 文件屬主(user --- owner)
G 用戶組(group)
O 其他人(other)
A 所有人(all)
op項(xiàng)表示動(dòng)作:
+ 表示要加上permission指定的權(quán)利
- 表示要取消permission指定的權(quán)利
permission項(xiàng)為存取權(quán)限,它的內(nèi)容為以下一項(xiàng)或多項(xiàng):
r 表示可讀
w 表示可寫
x 表示可執(zhí)行
舉例:
chmod u+w test report 屬主對test和report文件“可寫”
chmod u-x abc.c 屬主對abc.c文件不可執(zhí)行
chmod u+rwx myfile1 屬主對myfile1“可讀、可寫、可執(zhí)行”
chmod ugo+rwx myfile2 任何人都對myfile1“可讀、可寫、可執(zhí)行”
(二)格式2:絕對模式(absolute_mode), 符號(hào)模式的命令格式如下:
chmod? xyz? file…
x、y、z分別是0-7的數(shù)字,分別表示屬主、用戶組、其他人對該文件的存取權(quán)限。x、y、z的取值公式均為:
a*4 + b*2 + c
其中,
??????? a=1分別表示可讀,a=0表示不可讀;
??????? b=1分別表示可寫,b=0表示不可寫;
??????? c=1分別表示可執(zhí)行,c=0表示不可執(zhí)行;
舉例:
chmod 751 ncp 屬主對ncp擁有“可讀、可寫、可執(zhí)行”的全部權(quán)利;組內(nèi)成員對ncp只有“可讀、可執(zhí)行”的權(quán)利;其他用戶對ncp只有“可執(zhí)行”的權(quán)利。
五、改變文件屬主及文件所在組
??? 改變文件屬主的格式如下:
chown? 屬主名 文件名
必須對文件具有write權(quán)利才可改變文件的屬主。
??? 改變文件所在組的格式如下:
chgrp? 組名 文件名
必須是文件的屬主或supervisor才能改變文件組別的歸屬。
??? 舉例:
chown? wjm? test1 將文件test1的屬主改為wjm
chgrp? newservice? test1 將文件test1的用戶組改為newservice
3.6 UNIX重定向與管道
UNIX重定向? 將文件的標(biāo)準(zhǔn)輸出重新定向輸出到文件,或?qū)?shù)據(jù)文件作為另一程序的標(biāo)準(zhǔn)輸入內(nèi)容。重定向符號(hào)如下:
??????? <?? 重定向輸入
??????? >? 重定向輸出
??????? >> 重定向輸出并追加到尾部
例如:
ls -l > file1 將ls -l命令顯示的內(nèi)容存到file1中,
ls >> file1 將ls 命令顯示的內(nèi)容附加存到file1的尾部
grep abc < file1 將file1的內(nèi)容作為grep abc命令的輸入
其中,">"和">>"為輸出重定向符,">"將輸出內(nèi)容存到重定向文件中,若文件存在,則先刪除原有內(nèi)容;">>"將輸出內(nèi)容存到重定向文件的尾部。
UNIX管道? 將一文件的輸出作為另一文件的輸入。管道符號(hào)如下:
??????? | 將左邊命令的輸出,作為右邊命令的輸入
例如:
ls|more 將ls的輸出作為more命令的輸入
ps -ef|grep smith ps -ef的輸出作為grep smith命令的輸入
3.7 UNIX文件系統(tǒng)常用命令
UNIX命令 UNIX命令舉例 類似DOS命令
顯示當(dāng)前目錄 pwd pwd cd
改變目錄 cd cd /usr cd c:/usr
進(jìn)入家目錄 cd cd
創(chuàng)建目錄 mkdir mkdir abc md abc
刪除空目錄 rmdir rmdir abc rd abc
刪除目錄及其內(nèi)容 rm -r rm -r abc deltree abc
顯示目錄內(nèi)容 ls ls abcls -l abc(文件長列表)ls -a abc(所有類型文件)ls -d * (不進(jìn)子目錄) dir abc
顯示文本文件內(nèi)容 cat cat file1.c type file1.c
一次一屏顯示文本文件內(nèi)容 more more file1.c
拷貝文件 cp cp file1 file2 copy file1 file2
移動(dòng)(重命名)文件 mv? mv call.test call.list move call.tst call.lstren call.test bbb
刪除文件 rm rm call.list del call.lst
一、pwd命令
?? pwd命令用來顯示當(dāng)前目錄路徑,命令如下:
??????? pwd
二、cd命令
??? cd命令用于改變當(dāng)前的目錄,如:
??????? 命令舉例 說明
??????? cd /usr/smith 改變到/usr/smith目錄
??????? cd ../wjm 改變到父目錄下的wjm子目錄
??????? cd exam1???????????? 改變到當(dāng)前目錄下的exam1子目錄
??????? cd 改變到家目錄
不帶參數(shù)的cd命令表示進(jìn)入家目錄,這點(diǎn)與DOS有本質(zhì)區(qū)別。
三、rm命令
??? rm命令可以刪除文件及目錄,舉例如下:
??????? 命令舉例 說明
??????? rm file2???? 刪除當(dāng)前目錄下的文件file2
??????? rm file*? 刪除當(dāng)前目錄下以file開頭的文件
??????? rm -r /usr/wjm/exam2 刪除目錄/usr/wjm/exam2及其內(nèi)容
四、ls命令
ls命令可以顯示目錄內(nèi)容,命令格式如下:
??????? ls -選項(xiàng) 文件名
其中的常用選項(xiàng)說明如下:
??????? -l 長列表顯示目錄內(nèi)容
??????? -a 顯示所有類型文件,包括隱含文件
??????? -d 如果顯示內(nèi)容包含目錄名,則只顯示目錄名字不顯示目錄內(nèi)容
命令舉例如下:
??????? 命令舉例 說明
??????? ls????? 顯示當(dāng)前目錄內(nèi)容
??????? ls file*? 顯示除當(dāng)前目錄下以file開頭的文件
??????? ls -l /usr/wjm/exam2 長列表顯示目錄/usr/wjm/exam2內(nèi)容
??????? ls -adl????????? 顯示當(dāng)前目錄內(nèi)容(同時(shí)帶-l、-d、-a參數(shù))
[注]? ”ls -l”命令顯示格式如下:
??????? drwxrwxr-x?? 2 smith??? group???????? 48 Jan 05? 1998 john
??????? -rwxr-xr--?? 1 wjm????? newservice?? 321 Oct 17 09:33 file2
上面每行中:
??? 第一列:
??????? 第1個(gè)字符表示文件的類型(d表示目錄,-表示普通文件);
??????? 第2-4字符表示文件屬主對此文件的訪問權(quán)限(如:“rwx”和“rwx”);
??????? 第5-7字符表示用戶組對此文件的訪問權(quán)限(如:“rwx”和“r-x”);
??????? 第8-10字符表示其他用戶對此文件的訪問權(quán)限(如:“r-x”和“r--”);
??????? 其中,訪問權(quán)限用三個(gè)字符表示,順序是“rwx”,“r”表示可讀、“w”表示
??????????? 可寫、“x”表示可執(zhí)行。若某項(xiàng)禁止訪問則為“-”,如:“r-x”表示可讀、
??????????? 不可寫、可執(zhí)行;
??? 第二列:此文件的鏈接數(shù)(如:2和1);
??? 第三列:此文件的屬主名(如:smith和wjm);
??? 第四列:用戶組名(如:group和newservice);
??? 第五列:文件所占字節(jié)數(shù)(如:48和321);
??? 第六至八列:最后修改的日期和時(shí)間(如:“Jan 05? 1998”和“Oct 17 09:33”);
??? 第九列:文件名(如:john和file2)。
五、mkdir、rmdir、cat、more、cp、mv命令
?? 這些命令和DOS的相應(yīng)命令功能和用法基本一致,它們和DOS命令的對應(yīng)關(guān)系如下:
??????? UNIX命令 DOS命令
??????? mkdir mkdir或md
??????? rmdir rmdir或rd
??????? cat? type
??????? more more
??????? cp copy
??????? mv move或ren
4.1 vi編輯器的最基本用法
??? vi編輯器是UNIX的強(qiáng)有力的文本文件編輯工具,利用它可以建立、修改文本文件。
????
??? vi編輯器常用的兩種狀態(tài)方式
1) 文本輸入方式 用于文本的輸入
2) 命令方式 用于輸入控制命令
??? vi編輯器的進(jìn)入
vi 文件名
自動(dòng)進(jìn)入命令方式。
??? 文本輸入方式的進(jìn)入
a 將在光標(biāo)所在位置之后插入文本(append)
A 將在光標(biāo)所在行末插入文本
i 將在光標(biāo)所在位置之前插入文本(insert)
I 將在光標(biāo)所在行的第一個(gè)非空字符前插入文本
o 將在光標(biāo)所在行的下一行開始插入文本(open)
O 將在光標(biāo)所在行的上一行開始插入文本
??? 光標(biāo)位置移動(dòng)
h 左移
j 下移
k 上移
l 右移
行號(hào)G 光標(biāo)移到某行(如1G表示光標(biāo)移到第一行)
G 光標(biāo)移到文件結(jié)尾
??? 文本輸入方式的退出
ESC? 按ESC鍵進(jìn)入命令方式
??? 刪除更改操作
在命令方式下運(yùn)行。
x 刪除光標(biāo)所在字符
dd 刪除光標(biāo)所在行
??? 退出vi編輯器
??? 在命令方式下運(yùn)行。不管在什么狀態(tài),最好在運(yùn)行下面命令前,先按以下ESC鍵,以防出錯(cuò)。
:wq 存盤退出
:q 不存盤退出
:q! 不存盤強(qiáng)制退出
:w 只存盤不退出
4.2 利用find命令查找文件
??? find命令會(huì)在指定目錄及其子目錄下查找符合條件的特定文件。此命令的最大用處是當(dāng)忘了文件的正確所在,而想找到該文件。
??? 命令格式
find? 目錄名? 條件
目錄名 ---? 欲開始尋找的目錄所在。find會(huì)尋找此目錄及其子目錄。可以有多個(gè)目錄名稱,只要目錄與目錄之間用空格分開即可。
條件?? ---? 欲搜索文件的條件,可包含文件名稱、屬主、最后修改時(shí)間等等。
??? 條件列表說明
-name name 指定要被尋找的文件或目錄名稱,? 可用通配符,如, -name ‘*.c’
-print 將符合條件的路徑打印出來
-size n 尋找占用n個(gè)block的文件
-type x 以文件類型作為尋找條件。文件類型x如下:? d --- 目錄(directory),??? f --- 文件(file),? b --- 塊(block),???????? c -- 字符(character),? p --- 管道(pipe)
-user user 尋找屬于user所擁有的文件,? user可為用戶名或uid號(hào)
-group group 尋找用戶組為group的所有文件,? group可為組名稱或gid號(hào)
-links n 尋找鏈接數(shù)等于n的所有文件
-atim n 尋找n天之前曾被存取的文件
-mtime n 尋找n天之前曾被修改的文件
-exec command {}/; 用尋找到的文件作為執(zhí)行command的對象,? {}內(nèi)存欲執(zhí)行command時(shí)所需的參數(shù)
條件的邏輯運(yùn)算符:
邏輯運(yùn)算符 邏輯意義 舉例 說明
! 非 !-name “*.c” 所有不以.c為擴(kuò)展名的文件
-o 或 -size +10 -o -links 3 所有大于10block或鏈接數(shù)為3的文件
與 -size +10 -links 3 大于10block且鏈接數(shù)為3的文件
注:上表中的“+10”表示大于10,“-10”表示小于10。
??? 基本用法舉例
find /temp -name “abc*” -print 在/temp目錄下查找文件名以abc開始的文件
find . -name test -print 在當(dāng)前目錄下查找文件名為test的文件
4.3 grep命令基本用法
???? grep在整個(gè)文本文件中尋找特定字符串,并將所有出現(xiàn)該字符串的行打印。
??? 命令格式
grep 字符串 文件名
舉例
grep abcd temp 在temp中查找abcd字符串
grep "This is a book" temp 在temp中查找”This is a book”字符串,由于字符串中含有空格,故要用引號(hào)括起來
4.4 利用cmp命令比較文件
cmp可比較兩個(gè)文件,這兩個(gè)文件可以是文本文件也可以是非文本文件。cmp命令會(huì)顯示兩個(gè)文件第一次數(shù)據(jù)不同的位置。若兩個(gè)文件內(nèi)容相同,則不顯示任何信息。
命令格式
cmp? [-ls]? 文件名1? 文件名2
??? 參數(shù)說明
-l 顯示每個(gè)不同之處不同字節(jié)的內(nèi)容
-s 只顯示cmp命令的返回值(相同為0,不相同為1)
??? 舉例
cmp temp1 temp2 比較temp1和temp2兩個(gè)文件的內(nèi)容
4.5 文件的備份和恢復(fù)實(shí)用程序
一、tar命令
??? 使用tar 命令,可將多個(gè)文件合并成一個(gè)文件庫(archival)的方式存放于磁帶或磁盤上。當(dāng)需要時(shí),可由文件庫獲取所需的文件。tar 的指令格式:
??????? $ tar? [function-option[modifier]]? [files]
tar 命令選項(xiàng)分為兩部分:功能選項(xiàng)和修改選項(xiàng)。功能選項(xiàng)用來設(shè)定tar的動(dòng)作(如讀取,寫入等),而修改選項(xiàng)則用來修改tar的動(dòng)作。tar命令選項(xiàng)前沒有“-”。
??? 功能選項(xiàng)(function-option):
??????? r? 將所指的文件附加在文件庫后
??????? x? 讀取文件庫內(nèi)的文件,如文件名為目錄,則連子目錄也會(huì)被讀取 (常用)
??????? c? 建立一個(gè)新文件庫 (常用)
??????? g? 將文件由文件庫的最前頭開始建立,而不是寫在最后一個(gè)文件后
??? 修改選項(xiàng)(modifier):
??????? v? 啟動(dòng)顯示模式,tar 會(huì)顯示所處理的文件名 (常用)
??????? w? 啟動(dòng)確認(rèn)模式,tar處理每個(gè)文件之前,要求用戶先加以確認(rèn)
??????? f?? 表示文件庫為file,省略此項(xiàng),以預(yù)設(shè)的磁帶或磁盤為對象 (常用)
(一)利用tar 命令備份
[例1]?
??????? $ tar? cv? work
在當(dāng)前目錄下,對work 目錄中的所有文件及子目錄作備份,備份到缺省設(shè)備,且在備份時(shí)顯示文件信息。
[例2]
??????? $ tar? cvf? /dev/rfd0135ds18? work?
f 選項(xiàng)表示不使用缺省設(shè)備,而使用提供的設(shè)備。
注:在不同的UNIX 系統(tǒng)中,軟盤和磁帶設(shè)備的名稱不通用。請使用時(shí)注意查正。
(二)利用tar 命令復(fù)原:
[例3]
??????? $tar? xv??
x 表示將缺省設(shè)備中的文件復(fù)原到硬盤,v 表示復(fù)原時(shí)顯示文件提示。
[例4]
??????? $tar? xv? /work/aaro1d? /work/all.bak? /work/state.wp
復(fù)原更具有選擇性,這里列出三個(gè)文件。注意,必須輸入備份文檔的全名。
[例5]
??????? $tar? xvf? /dev/rfd0135ds18
從給定的設(shè)備中復(fù)原文件。
二、cpio命令
??? 利用cpio 可將文件或目錄從文件庫獲取出來或?qū)?shù)據(jù)拷貝到文件庫。cpio 的指令格式:
??????? cpio –i[bcdmrtuv] [patterns]
??????? cpio –o [abcv]
??????? cpio –p [adlmuv][directory]
說明:cpio 共有三種基本模式,-o即copy-out 模式,將一組文件copy到一個(gè)文件庫,-i 即copy-in 模式,讀取文件庫,并將其展開在當(dāng)前目錄。-p 能從某個(gè)目錄讀取所有文件(包括子目錄到另一個(gè)目錄),且不以archive(歸檔)的方式存放。
??? cpio 常配合shell使用。-o常用標(biāo)準(zhǔn)輸入設(shè)備讀取要copy 的文件名稱,并將copy成的archive file 通過標(biāo)準(zhǔn)輸出設(shè)備輸出。一般利用輸入/輸出重定向或管道的原理,達(dá)到真正復(fù)制的功能。
(一)利用cpio備份:
[例1]
??????? $ find work –print | cpio –ocdv > /dev/rfd0135ds18
將work目錄下的文件備份到軟盤上。-o表示輸出模式,-c生成一個(gè)帶有頭信息的文件。 -d表示按需要生成目錄,-v表示命令執(zhí)行時(shí)不斷顯示信息。用“>”把結(jié)果定向到軟盤。
[例2]
??????? $ ls |cpio –o >/usr/linfs/old1
將當(dāng)前目錄下的所有文件復(fù)制成old1 archive file
[例3]
??????? $ ls *.c | cpio –o>oldc
復(fù)制工作目錄中的所有的c程序.
[例4]
??????? $ ls| cpio –p /usr/linfs/tempdir
復(fù)制當(dāng)前工作目錄下的文件到/usr/linfs/tempdir 目錄,不生成archive? file
(二)利用cpio 復(fù)原:
[例5]
??????? $ cpio –icdv < /dev/rfd0135ds18
將軟盤中的文件復(fù)原。-i告訴cpio把文件作為它的輸入,-d按需要生成目錄,-v顯示執(zhí)行時(shí)的所有信息,-c具有頭文件格式。
[例6]
??????? $ cpio –icdv "*stat.wp" < /dev/rfd0135ds18
僅復(fù)原*stat.wp的文件
[例7]
??????? $ cpio –i </usr/linfs/old1 *.f
僅復(fù)原*.f 文件
4.6 文件壓縮和解壓程序
一、compress 壓縮命令
compress命令可將文件壓縮以減少存儲(chǔ)空間。壓縮后的文件以“.Z”結(jié)尾。展開命令為uncompress。壓縮命令格式:
??????? compress? filename??
展開命令格式為:
??????? uncompress compressed-filename
[例1] 對file 文件進(jìn)行壓縮和解壓縮
??????? compress file
則壓縮后的文件名為file.Z,解壓命令為:
??????? uncompress file.Z
二、pack 壓縮文件
pack 壓縮文件對應(yīng)的解壓縮文件unpack。壓縮后文件的名稱為“.z”其壓縮后的空間因文件類型而定。命令格式:
??????? pack? name
??????? unpack? name
注:pack對太小的文件不壓縮,若要強(qiáng)制壓縮,用-f選項(xiàng):
??????? pack? -f name
三、gzip 壓縮文件
gzip 壓縮文件對應(yīng)的解壓縮文件為gunzip。壓縮后的文件名稱為“.gz”。命令格式:
??????? gzip? filename
??????? gunzip? filename?
四、pkzip壓縮文件
pkzip 壓縮文件對應(yīng)的解壓縮文件為pkunzip。壓縮后的文件名稱為“.zip”。命令格式:
??????? pkzip? filename?
??????? pkunzip? filename
5.1 UNIX開機(jī)舉例
? 以SCO UNIX為例。SCO UNIX的開機(jī)過程如下:
??????? (1) 打開SCO UNIX主機(jī)電源
??????? (2) 出現(xiàn)boot:后打回車
??????? (3) 按Ctrl+d進(jìn)入多用戶模式,輸入root的密碼后進(jìn)入單用戶模式
??????? (4) 輸入日期時(shí)間
??????? (5) 出現(xiàn)”login:”表示SCO_UNIX開機(jī)成功,以后可以進(jìn)行登錄
5.2 UNIX關(guān)機(jī)舉例
SCO UNIX主機(jī)的關(guān)機(jī)過程為,在root用戶下鍵入:
# shutdown? -g0 -y
表示立即關(guān)機(jī)。由多用戶模式進(jìn)入單用戶模式,執(zhí)行如下命令:
# shutdown? -g0 -y su
[注意] 必須在運(yùn)行完shutdown命令,并出現(xiàn)允許關(guān)機(jī)的信息時(shí),再關(guān)掉主機(jī)電源。未出現(xiàn)允許關(guān)機(jī)的信息,千萬不要關(guān)主機(jī)電源。
5.3 修改系統(tǒng)時(shí)間
??? 修改系統(tǒng)時(shí)間的命令如下:
date -t 199808101536
將日期改為1998年8月10日15時(shí)36分。
5.4 如何控制后臺(tái)進(jìn)程
一、顯示進(jìn)程信息
UNIX命令 解釋
ps? 顯示使用終端有關(guān)的進(jìn)程信息
ps -u 用戶名 顯示某用戶的進(jìn)程(如ps -u abc)
ps -e 顯示所有正在運(yùn)行的進(jìn)程信息
ps -f 長列表顯示每個(gè)進(jìn)程信息
??? 長列表顯示所有正在運(yùn)行的進(jìn)程信息,UNIX命令如下:
??????? ps -ef
二、用kill命令殺掉后臺(tái)進(jìn)程
UNIX命令 解釋
kill 進(jìn)程號(hào)? 刪除進(jìn)程
kill -9 進(jìn)程號(hào) 強(qiáng)制刪除進(jìn)程
三、停止失控進(jìn)程步驟
(1) 在未鎖死的終端以root登錄
(2) 用”ps -ef”和"grep 關(guān)鍵字"命令找到失控進(jìn)程pid號(hào)
(3) kill pid號(hào),若殺不掉,再運(yùn)行”kill -9 pid號(hào)”
(4) 若還殺不掉,則shutdown
5.5 如何查看磁盤使用情況
解釋 UNIX命令
查看磁盤自由空間 df -v
查看磁盤使用情況 du [文件名]
5.6 掉電故障及處理
??? 系統(tǒng)意外掉電,會(huì)造成如下問題:
(1) 文件系統(tǒng)被破壞,造成文件丟失
(2) 高速緩存中的數(shù)據(jù)未寫到磁盤而使數(shù)據(jù)丟失
解決:開機(jī)后系統(tǒng)會(huì)自動(dòng)運(yùn)行fsck命令,提示是否檢查/dev/root文件系統(tǒng),輸入y檢查并修復(fù)文件系統(tǒng)。
fsck命令 用來檢查和維護(hù)不一致的文件系統(tǒng)。若系統(tǒng)掉電或磁盤發(fā)生問題,可利用fsck命令對文件系統(tǒng)進(jìn)行檢查。fsck的命令格式如下:
??????? fsck [-y][-n][-b][-D][-f] [fs_device]
其中:
fsck參數(shù) 解釋
-y 對fsck執(zhí)行過程中的所有問題都回答y (yes),fsck會(huì)更正所有錯(cuò)誤
-n 對fsck執(zhí)行過程中的所有問題都回答n (no)
-b 若是檢查根文件系統(tǒng)(root file system),并且造成文件系統(tǒng)改變,系統(tǒng)會(huì)重新啟動(dòng)(reboot)
-D 檢查壞掉的區(qū)塊
-f 以快速方式檢查文件系統(tǒng)
fs_device 描述相對于硬件設(shè)備的特殊文件名。若去掉此項(xiàng)會(huì)自動(dòng)檢查存在于/etc/checklist文件內(nèi)的文件系統(tǒng)
6.1 TCP/IP協(xié)議
??? 在當(dāng)今世界,UNIX系統(tǒng)被廣泛使用的原因之一,就是UNIX的強(qiáng)大聯(lián)網(wǎng)功能。UNIX的網(wǎng)絡(luò)協(xié)議缺省為TCP/IP。UNIX已成為Internet上各種服務(wù)器的首選操作系統(tǒng)。
TCP/IP協(xié)議由一系列協(xié)議組成,統(tǒng)稱TCP/IP協(xié)議族。TCP/IP協(xié)議是TCP/IP協(xié)議族中的基本協(xié)議,協(xié)議族常用協(xié)議有:
l 傳輸控制協(xié)議/互網(wǎng)絡(luò)協(xié)議(TCP/IP - Transmission Control Protocol/Internet Protocol)是協(xié)議族的基本協(xié)議。
l 用戶數(shù)據(jù)報(bào)協(xié)議(UDP - User Datagram Protocol)提供無連接的傳輸層協(xié)議,但不保證傳輸?shù)目煽啃浴?
l 遠(yuǎn)程登錄協(xié)議(telnet)是用戶層協(xié)議,定義了遠(yuǎn)程登錄的標(biāo)準(zhǔn)。
l 文件傳輸協(xié)議(FTP - File Transfer Protocol)也是用戶層協(xié)議,定義了不同系統(tǒng)間進(jìn)行文件拷貝的標(biāo)準(zhǔn)。
6.2 查看網(wǎng)上用戶信息
??? 用finger命令來顯示正在使用UNIX系統(tǒng)的用戶信息。finger的命令格式如下:
??????? finger [用戶名][@主機(jī)域名或ip地址]
finger命令舉例
命令舉例 說明
Finger 查看本地所有用戶信息
finger root 查看root用戶的信息
finger @xywsyb2 查看主機(jī)xywsyb2上的所有用戶信息
finger abc@xywsyb2.huawei.com.cn 查看主機(jī)xywsyb2.huawei.com.cn上的所有用戶信息
finger abc@xywsyb2 查看主機(jī)xywsyb2上的abc用戶信息
finger abc@129.6.114.202 查看主機(jī)129.6.114.202上的abc用戶信息
6.3 使用mail 發(fā)送和接收電子郵件
??? mail 命令用來發(fā)送和接收電子郵件。用戶不僅可使用mail 與本系統(tǒng)的用戶通信,還可與網(wǎng)絡(luò)中的用戶通信。mail 的兩種功能:發(fā)送電子郵件和接收電子郵件。
一、發(fā)送電子郵件
??????? $ mail alex?
??????? Subject: test
??????? This is a test message。
一般用句號(hào)來結(jié)束信件,有些版本用ctrl-d 來結(jié)束。
二、閱讀電子郵件
??? mail 會(huì)顯示所有郵件的標(biāo)題。這時(shí),用戶按回車一個(gè)一個(gè)的閱讀,直到所有的郵件都閱讀完畢,鍵入q 退出并返回到shell。
??????? $ mail?
一、telnet
telnet是通過網(wǎng)絡(luò)遠(yuǎn)程登錄UNIX的軟件(tel指遠(yuǎn)程,net指network即網(wǎng)絡(luò)),其功能是在用戶使用的本地計(jì)算機(jī)上通過計(jì)算機(jī)網(wǎng)絡(luò)登錄到遠(yuǎn)程UNIX主機(jī)上,把本地計(jì)算機(jī)當(dāng)成遠(yuǎn)程UNIX主機(jī)的一個(gè)仿真終端。當(dāng)用戶利用telnet完成與遠(yuǎn)程UNIX主機(jī)的登錄后,自己的計(jì)算機(jī)似乎已經(jīng)消失,完全成為對方主機(jī)的一個(gè)遠(yuǎn)程仿真終端用戶,就象在UNIX主機(jī)終端上操作一樣。此時(shí)用戶所能夠使用的功能和資源以及整個(gè)工作方式完全取決于對方的系統(tǒng)和登錄帳號(hào)的權(quán)限。
telnet的一般運(yùn)行格式如下:
telnet IP地址或域名
以上的IP地址或域名是指遠(yuǎn)程UNIX主機(jī)的IP地址和域名。在本地計(jì)算機(jī)屏幕上就會(huì)出現(xiàn)信息,提示用戶輸入U(xiǎn)NIX的用戶名和口令,接著要求輸入終端類型,最后進(jìn)入U(xiǎn)NIX系統(tǒng),并出現(xiàn)UNIX操作系統(tǒng)提示符,以后的操作就象在UNIX主機(jī)終端上操作一樣。 在PC兼容機(jī)上的Windows下運(yùn)行telnet時(shí),終端類型最好選xterm。
[注意事項(xiàng)] 在運(yùn)行telnet之前必須保證本地計(jì)算機(jī)和遠(yuǎn)程主機(jī)間的TCP/IP協(xié)議已經(jīng)連通。
(三) 在Windows 95上運(yùn)行telnet,遠(yuǎn)程登錄SCO UNIX,假設(shè)SCO UNIX主機(jī)的IP地址為129.6.114.201。
telnet軟件是Windows 95自帶的軟件,只要設(shè)置好TCP/IP協(xié)議后就可運(yùn)行telnet。telnet的運(yùn)行過程如下:點(diǎn)擊Windows 95上的“開始”按紐,再選則“運(yùn)行”菜單,出現(xiàn)運(yùn)行框,輸入:
telnet 129.6.114.201
點(diǎn)擊運(yùn)行框上的“確定”按紐,出現(xiàn)Telnet框,提示輸入U(xiǎn)NIX用戶名:
???????? UNIX System V Release 3.2 (xywsyb2.huawei.com.cn) (ttyp2)
???????? login:
以后的操作就象在UNIX主機(jī)終端上操作一樣。
[例2] 在Windows 3.x上運(yùn)行telnet,遠(yuǎn)程登錄Digital UNIX,假設(shè)Digital UNIX主機(jī)的IP地址為129.6.5.2。
由于Windows 3.x自身沒有攜帶TCP/IP和telnet軟件,在使用telnet之前必須先進(jìn)行安裝。這里不介紹安裝過程,只介紹軟件的簡單設(shè)置和使用。Netterm軟件是telnet的變種,完全包含telnet的功能,這里只對Netterm進(jìn)行介紹。
Netterm的設(shè)置:先啟動(dòng)Netterm,在File菜單下選”Phone Directory …”,出現(xiàn)”Phone Directory”框,在”Host Name”項(xiàng)下輸入一個(gè)名字(任意取名,表示UNIX主機(jī)名),在”Host/IP”下輸入U(xiǎn)NIX主機(jī)的IP地址”129.6.5.2”,”Telnet Port”取值23,在”Connection”下選中TCPIP,點(diǎn)擊”Add”按紐,再點(diǎn)擊”O(jiān)k”按紐。
Netterm的運(yùn)行:先啟動(dòng)Netterm,點(diǎn)擊電話機(jī)圖標(biāo)就會(huì)出現(xiàn)一工作框,提示輸入U(xiǎn)NIX用戶名:
????????? Digital UNIX (xyw) (ttyp6)
????????? login:
以后的操作就象在UNIX主機(jī)終端上操作一樣。?????????????????????????????
二、ftp
ftp是telnet的“近親”。telnet允許在遠(yuǎn)程主機(jī)上登錄并使用其資源,ftp允許在本地計(jì)算機(jī)與遠(yuǎn)程主機(jī)之間傳遞文件。ftp是File Transfer Protocal的縮寫,意為文件傳輸協(xié)議,它可以將遠(yuǎn)程UNIX系統(tǒng)上的一個(gè)或多個(gè)文件拷貝到本地計(jì)算機(jī),也可以將本地計(jì)算機(jī)上的一個(gè)或多個(gè)文件拷貝到遠(yuǎn)程UNIX系統(tǒng)上。
(三) 基本文件類型
當(dāng)我們使用ftp時(shí),可簡單地把文件分為兩大類:文本文件和二進(jìn)制文件。文本文件也稱為ASCII文件,其文件內(nèi)容遵循ASCII的定義,主要特征如下:ASCII文件由若干行組成;可以用操作系統(tǒng)顯示和編輯命令來顯示和編輯ASCII文件內(nèi)容。二進(jìn)制文件(Binary File)是指除ASCII文件以外的所有文件格式。可惜的是,不同操作系統(tǒng)的ASCII文件格式一般是不兼容的,ftp在不同的操作系統(tǒng)之間進(jìn)行ASCII文件的傳輸時(shí),自動(dòng)進(jìn)行了格式轉(zhuǎn)換,而對于二進(jìn)制文件來說,ftp不進(jìn)行任何轉(zhuǎn)換。
[注意事項(xiàng)] 可以將ASCII文件按二進(jìn)制方式傳輸,但決不能將二進(jìn)制文件按ASCII方式傳輸,否則二進(jìn)制文件的內(nèi)容會(huì)遭到破壞而無法使用。
(二)ftp的使用
ftp的一般運(yùn)行格式如下:
ftp IP地址或域名
以上的IP地址或域名是指遠(yuǎn)程UNIX主機(jī)的IP地址和域名。在本地計(jì)算機(jī)屏幕上就會(huì)出現(xiàn)信息,提示用戶輸入U(xiǎn)NIX的用戶名和口令,最后出現(xiàn)ftp提示符:
ftp>
以后就可以在此提示符下輸入ftp命令。
[注意事項(xiàng)] 在運(yùn)行ftp之前必須保證本地計(jì)算機(jī)和遠(yuǎn)程主機(jī)間的TCP/IP協(xié)議已經(jīng)連通。
(三)ftp常用命令
ftp的常用命令和解釋列表如下:
ftp命令 解釋
?或help [command] 命令幫助
binary 設(shè)定以二進(jìn)制方式傳送文件
ascii 設(shè)定以ASCII方式傳送文件(缺省值)
cd [directory] 改變遠(yuǎn)程目錄
pwd 列出當(dāng)前遠(yuǎn)端主機(jī)目錄
dir [r-dir] [l-file] 顯示遠(yuǎn)程目錄內(nèi)容,r-dir表示遠(yuǎn)程目錄,l-file表示本地文件。如果有本地文件,就將結(jié)果寫至本地文件
ls? [r-dir] [l-file] 同dir,只是顯示格式不同
lcd [directory] 改變本地目錄
put file1 [file2] 將本地file1文件拷貝到遠(yuǎn)程file2
get file1 [fine2] 將遠(yuǎn)程file1文件拷貝到本地file2
mput files 將本地多個(gè)文件files拷貝到遠(yuǎn)程
mget files 將遠(yuǎn)程多個(gè)文件files拷貝到本地
status 顯示當(dāng)前FTP狀態(tài)
!command 執(zhí)行本地命令,并立即返回FTP
open IP地址或域名 重新建立新的連接
close 關(guān)閉遠(yuǎn)程連接
quit或bye 退出ftp
(四)ftp實(shí)例
??? 假設(shè)遠(yuǎn)程主機(jī)的IP地址為129.6.114.201,操作系統(tǒng)為SCO UNIX,本地計(jì)算機(jī)為PC機(jī),操作系統(tǒng)為DOS,且ftp客戶端程序放在C:/FTP目錄下。
[例1] ftp的運(yùn)行
??????? c:
??????? cd /ftp
??????? ftp 129.6.114.201
??????? (輸入U(xiǎn)NIX用戶名和口令,會(huì)出現(xiàn)提示符:)
??????? ftp>
?[例2] 將本地計(jì)算機(jī)C:/DOS目錄下的help.hlp拷貝到遠(yuǎn)程主機(jī)的/usr/xyw/tmp目錄下。??? 命令如下:
??????? ftp> binary?
??????? ftp> lcd c:/dos
??????? ftp> cd /usr/xyw/tmp
??????? ftp> put help.hlp
[例3] 將本地計(jì)算機(jī)C:/TEMP/TO目錄下的所有文件拷貝到遠(yuǎn)程主機(jī)的/usr/xyw/tmp目錄下。命令如下:
??????? ftp> binary?
??????? ftp> lcd c:/temp/to
??????? ftp> cd /usr/xyw/tmp
??????? ftp> mput *.*
[例4] 將遠(yuǎn)程主機(jī)的/usr/xyw/bin/dispdate文本文件拷貝到本地計(jì)算機(jī)C:/TEMP/FROM目錄下。命令如下:
??????? ftp> ascii?
??????? ftp> lcd c:/temp/from
??????? ftp> cd /usr/xyw/bin
??????? ftp> get dispmesg
???
[例5] 將遠(yuǎn)程主機(jī)的/usr/xyw/doc目錄下的所有文件按文本文件格式拷貝到本地計(jì)算機(jī)C:/TEMP/FROM目錄下。命令如下:
??????? ftp> ascii?
??????? ftp> lcd c:/temp/from
??????? ftp> cd /usr/xyw/doc
??????? ftp> mget *
[例6] ftp的退出
??????? ftp> close
??????? ftp> quit
?
?
總結(jié)
- 上一篇: web服务器监控工具
- 下一篇: 如何在 Lightroom 中使用预设更