哈爾濱海月數(shù)據(jù)恢復(fù),技術(shù)亞洲領(lǐng)先 設(shè)為首頁加入收藏RSS訂閱
中國區(qū):哈爾濱(總部)鄭州福建深圳沈陽合肥大連包頭淄博上海廣州
    南京杭州嘉興武漢濟(jì)南青島新疆太原
亞太區(qū):印度韓國泰國新加坡馬來西亞澳大利亞
Solaris
Solaris高級系統(tǒng)管理員指南

  目 錄

  第1章、前言7

  1.1了解超級用戶狀態(tài)8

  1.1.1成為超級用戶(su)9

  1.1.2退出超級用戶狀態(tài)9

  1.1.3以root注冊9

  1.2與用戶通信9

  1.2.1在注冊時顯示系統(tǒng)專用信息10

  1.2.2將信息發(fā)送給單個用戶10

  1.2.2.1發(fā)送一個短消息給一個單獨(dú)的用戶10

  1.2.2.2將作為一個文件的消息發(fā)給個別用戶11

  1.2.3將消息發(fā)送給一個系統(tǒng)或網(wǎng)絡(luò)中的所有用戶11

  1.2.4通過電子郵件發(fā)送消息12

  1.3啟動和關(guān)閉系統(tǒng)12

  1.3.1選擇init狀態(tài)12

  1.3.1.1查看系統(tǒng)運(yùn)行級13

  1.3.1.2使用掉電狀態(tài),運(yùn)行級013

  1.3.1.3使用系統(tǒng)管理員狀態(tài),運(yùn)行級113

  1.3.1.4使用多用戶狀態(tài),運(yùn)行級213

  1.3.1.5使用遠(yuǎn)程資源共享狀態(tài),運(yùn)行級313

  1.3.1.6使用替換多用戶狀態(tài),運(yùn)行級414

  1.3.1.7使用交互重引導(dǎo)狀態(tài),運(yùn)行級514

  1.3.1.8使用重引導(dǎo)狀態(tài),運(yùn)行級614

  1.3.1.9使用單用戶狀態(tài),運(yùn)行級s或S14

  1.3.1.10改變運(yùn)行級14

  1.3.2選擇所用的關(guān)閉命令15

  1.3.2.1 shutdown15

  1.3.2.2 telinit和init15

  1.3.2.3 halt15

  1.3.2.4 reboot15

  1.3.3 引導(dǎo)系統(tǒng)15

  1.3.3.1 引導(dǎo)到多用戶狀態(tài)15

  1.3.3.2 引導(dǎo)到單用戶狀態(tài)15

  1.3.3.3交互式引導(dǎo)16

  1.3.3.4查看引導(dǎo)信息17

  1.3.3.5增加新的硬件后引導(dǎo)系統(tǒng)17

  1.3.3.6退回引導(dǎo)進(jìn)程18

  1.3.4關(guān)閉系統(tǒng)18

  1.3.4.1關(guān)閉一個多用戶系統(tǒng)18

  1.3.4.2關(guān)閉系統(tǒng):可選方式19

  1.4監(jiān)視進(jìn)程19

  1.4.1 ps命令報告的內(nèi)容20

  1.4.2使用ps報告22

  1.4.3殺死進(jìn)程23

  1.5基本管理工具24

  1.5.1經(jīng)常使用的命令24

  1.5.1.1在文件系統(tǒng)中移動24

  1.5.1.2查看在文件系統(tǒng)中所處的位置24

  1.5.1.3改變目錄24

  1.5.1.4查看文件的有關(guān)信息24

  1.5.1.5顯示文件信息24

  1.5.1.6查找一個文件25

  1.5.1.7查看一個文件的類型25

  1.5.1.8查看文件中的信息26

  1.5.1.9查找文件中的字符串26

  1.5.1.10查看文件27

  1.5.1.11瀏覽文件27

  1.5.1.12查看文件尾28

  1.5.1.13查看文件頭28

  1.5.1.14改變文件的所有權(quán)和許可權(quán)29

  1.5.1.15改變文件組30

  1.5.1.16設(shè)置或顯示系統(tǒng)環(huán)境30

  1.5.1.17定義Bourne和Korn shell環(huán)境變量31

  1.5.1.18定義C shell環(huán)境變量31

  1.5.1.19顯示環(huán)境變量的設(shè)置31

  1.5.1.20使用PATH變量32

  1.5.1.21設(shè)置Bourne和Korn shell路徑32

  1.5.1.22設(shè)置C shell路徑32

  1.5.2使用管理工具32

  第2章、基本OS命令33

  2.1查找用戶信息33

  2.1.1確定系統(tǒng)中有誰注冊33

  2.1.1.1使用who命令33

  2.1.1.2使用finger命令33

  2.1.1.3使用rusers -1命令33

  2.1.1.4使用whodo命令34

  2.1.2檢查用戶的用戶號和組號(id命令)34

  2.2查尋環(huán)境信息35

  2.3創(chuàng)建和編輯文件35

  2.3.1使用cat命令35

  2.3.2使用touch命令36

  2.3.3文件拷貝(cp)或改名(mv)36

  2.3.4文本編輯器的使用36

  2.3.5 vi的使用37

  2.4命令組合及輸出重新定向37

  2.4.1在同一命令行里鍵入多個命令37

  2.4.2輸出重新定向(<>38

  2.4.3組合命令(|)38

  2.5使用手冊38

  2.5.1顯示手冊(man)39

  2.5.2找命令節(jié)號(whatis、man)39

  2.6查閱磁盤信息40

  2.6.1顯示磁盤空間的信息(df -k)40

  2.6.2判別某文件系統(tǒng)是否為本地文件系統(tǒng)(df)40

  2.6.3找出某種類型已安裝的文件系統(tǒng)(df -F)40

  第3章、設(shè)備管理42

  3.1磁帶的使用42

  3.1.1磁帶設(shè)備的命名習(xí)慣42

  3.1.1.1使用缺省密度規(guī)定驅(qū)動器號43

  3.1.1.2為磁帶機(jī)指定密度43

  3.1.1.3指定"不倒帶"選項(xiàng)44

  3.1.1.4不同磁帶控制器和介質(zhì)的設(shè)備名縮寫44

  3.1.1.5 1/2英寸卷繞式非SCSI內(nèi)接(Rack mounted)磁帶機(jī)44

  3.1.1.6 1/4英寸SCSI盒式和1/2英寸前部裝入的卷繞式磁帶機(jī)45

  3.1.1.7 螺線掃描磁帶機(jī)45

  3.1.2讀寫磁帶的命令45

  3.1.2.1拉緊磁帶45

  3.1.2.2倒帶45

  3.1.2.3列出磁帶機(jī)狀態(tài)46

  3.2 磁帶與軟盤操作46

  3.2.1 tar命令46

  3.2.1.1向磁帶寫文件(tar)46

  3.2.1.2列出磁帶上的文件(tar)47

  3.2.1.3向磁帶上增加文件(tar)47

  3.2.1.4從磁帶中析取文件(tar)48

  3.2.2cpio命令48

  3.2.2.1將某目錄下的所有文件拷入磁帶(cpio)48

  3.2.2.2列出磁帶上的文件(cpio)49

  3.2.2.3析取磁帶上所有文件(cpio)49

  3.2.2.4自磁帶中析取個別文件(cpio)50

  3.2.2.5軟盤的使用50

  3.2.3軟驅(qū)設(shè)備名50

  3.2.4ufs文件系統(tǒng)的軟盤50

  3.2.4.1格式化ufs軟盤50

  3.2.4.2自軟驅(qū)中取出軟盤51

  3.2.4.3將ufs文件拷入單張格式化過軟盤51

  3.2.4.4列出軟盤上的文件51

  3.2.4.5向一個格式化好的軟盤上附加文件(tar)52

  3.2.4.6從軟盤上拷出文件(tar)52

  3.2.4.7自軟盤上拷出bar格式的文件(cpio)53

  3.2.5使用多張軟盤存檔53

  3.2.5.1在軟盤上創(chuàng)建一個ufs文件系統(tǒng)(newfs /dev/rdiskette)53

  3.2.6pcfs(DOS)文件系統(tǒng)的軟盤53

  3.2.6.1 格式化pcfs(DOS)文件系統(tǒng)軟盤54

  3.2.6.2安裝pcfs軟盤54

  3.2.6.3卸下pcfs軟盤54

  3.3硬盤命名管理54

  3.3.1硬盤命名習(xí)慣54

  3.3.1.1帶有總線控制器的硬盤的使用55

  3.3.1.2帶有直接驅(qū)動器的硬盤的使用56

  3.3.2檢查硬盤使用狀況56

  3.3.3檢查硬盤信息(Prtvtoc)57

  3.3.3.1將文件存檔58

  3.3.3.2將硬盤上文件拷出58

  3.3.3.3修復(fù)壞塊58

  3.3.3.4重新格式化硬盤58

  3.3.3.5換下舊硬盤58

  3.3.3.6加入錯誤表對硬盤進(jìn)行格式化、分區(qū)及標(biāo)記58

  3.3.3.7重建文件系統(tǒng)(newfs)60

  3.3.3.8在臨時安裝點(diǎn)安裝文件系統(tǒng)(mount)61

  3.3.3.9向文件系統(tǒng)轉(zhuǎn)儲文件(ufsrestore)61

  3.3.3.10自臨時裝入點(diǎn)拆卸文件系統(tǒng)(umount)其方法如下:62

  3.3.3.11檢查文件系統(tǒng)的不一致性(fsck)62

  3.3.3.12對恢復(fù)文件系統(tǒng)做0級備份62

  3.3.3.13在******安裝點(diǎn)安裝文件系統(tǒng)(mount)62

  第4章、文件系統(tǒng)管理63

  4.1文件系統(tǒng)類型63

  4.1.1磁盤文件系統(tǒng)63

  4.1.2網(wǎng)絡(luò)文件系統(tǒng)64

  4.1.3偽文件系統(tǒng)64

  4.1.3.1臨時文件系統(tǒng)(tmpfs)64

  4.1.3.2循環(huán)文件系統(tǒng)(lofs)65

  4.1.3.3進(jìn)程文件系統(tǒng)(procfs)65

  4.1.3.4別的偽文件系統(tǒng)66

  4.2 SunOS 5.x缺省的文件系統(tǒng)66

  4.3虛擬文件系統(tǒng)表(/etc/vfstab)66

  4.3.1 文件系統(tǒng)表項(xiàng)的建立68

  4.4文件管理命令69

  4.4.1普通命令語法規(guī)則69

  4.4.2普通文件系統(tǒng)命令和特別文件系統(tǒng)命令手冊70

  4.4.3利用文件系統(tǒng)命令確定文件系統(tǒng)類型70

  4.4.4文件系統(tǒng)類型70

  4.5如何使文件系統(tǒng)有效71

  4.5.1安裝與拆卸72

  4.5.1.1安裝與拆卸文件系統(tǒng)命令73

  4.5.1.2查找已安裝的文件系統(tǒng)73

  4.5.1.3安裝/etc/vfstab文件中的全部文件系統(tǒng)73

  4.5.1.4安裝特定類型的文件系統(tǒng)74

  4.5.1.5安裝單個文件系統(tǒng)(mount)74

  4.5.1.6拆卸所有的遠(yuǎn)程文件系統(tǒng)(umountall -F nfs)74

  4.5.1.7拆卸個別的文件系統(tǒng)(umount)74

  4.5.2自動安裝程序75

  4.5.3共享服務(wù)器文件76

  4.6檢查文件系統(tǒng)的數(shù)據(jù)一致性(fsck)76

  4.6.1決定文件系統(tǒng)是否需檢測77

  4.6.2以交互方式檢測文件系統(tǒng)77

  4.7備份和恢復(fù)文件系統(tǒng)78

  4.7.1用QIC-150盒式磁帶備份文件系統(tǒng)(ufsdump)78

  4.7.1.1實(shí)現(xiàn)增量備份79

  4.7.2恢復(fù)備份文件系統(tǒng)80

  4.7.2.1決定使用哪一備份帶80

  4.7.2.2恢復(fù)全部備份80

  4.7.2.3交互式恢復(fù)文件81

  4.7.2.4從備份帶中恢復(fù)單個文件( ufsrestore)83

  第5章、管理網(wǎng)絡(luò)服務(wù)84

  5.1檢查遠(yuǎn)程系統(tǒng)狀態(tài)84

  5.1.1確定一個遠(yuǎn)程系統(tǒng)已運(yùn)行了多長時間84

  5.1.2確定一個遠(yuǎn)程系統(tǒng)是否在運(yùn)行(ping\rup\rpcinfo-p)84

  5.2注冊到一個遠(yuǎn)程系統(tǒng)(rlogin)86

  5.3系統(tǒng)之間傳送文件(rcp、ftp)86

  5.3.1使用RCP命令86

  5.3.2使用文件傳送程序(ftp)86

  第6章、管理用戶帳號和用戶組89

  6.1增加和管理用戶帳號89

  6.1.1增加用戶帳號89

  6.1.1.1編輯Passwd數(shù)據(jù)庫89

  6.1.1.2定義用戶組91

  6.1.1.3建立主目錄(home director)92

  6.1.1.4自動安裝目錄94

  6.1.1.5用nfs安裝主目錄94

  6.1.1.7定義初化文件95

  6.1.1.8建立用戶的郵件帳號98

  6.1.1.9建立口令99

  6.1.2管理用戶帳號99

  6.1.2.1修改用戶帳號100

  6.1.2.2取消用戶帳號100

  6.1.2.3凍結(jié)用戶帳號100

  6.2設(shè)置和管理用戶組100

  6.2.1設(shè)置Group數(shù)據(jù)庫中的域值101

  6.2.1.1設(shè)置組名(Group Name)域101

  6.2.1.2設(shè)置Group ID域101

  6.2.1.3設(shè)置成員表域101

  6.2.2建立缺省的UNIX用戶組101

  6.2.3建立新的組102

  6.2.4修改或刪除用戶組102

  6.2.4.1修改某個組103

  6.2.4.2刪除某個組103

  第7章、UNIX的shell命令104

  7.1各種shell的公共命令104

  7.1.1設(shè)置某種缺省shell104

  7.1.2在命令行中改變shell類型(sh,csh,ksh)105

  7.1.3從shell解釋器中退出(exit)105

  7.1.4******一個shell窗口(clear)105

  7.2標(biāo)準(zhǔn)shell105

  7.2.1標(biāo)準(zhǔn)shell的初始文件106

  7.2.2定義標(biāo)準(zhǔn)shell的環(huán)境變量106

  7.3 C shell106

  7.3.1C shell的初始文件106

  7.3.2C shell環(huán)境變量的定義106

  7.3.3建立C shell的別名106

  7.3.4設(shè)置C shell的歷史功能107

  7.3.5使用C shell歷史功能107

  7.3.6設(shè)置C shell的退格鍵(stty erase)109

  7.3.7新命令的嵌入109

  7.3.8Cshell歷史命令的編輯109

  7.4 Korn shell110

  7.4.1Korn shell的初始化文件110

  7.4.2Korn shell的選擇項(xiàng)110

  7.4.3創(chuàng)建Korn shell的別名112

  7.4.4用Korn shell的聯(lián)機(jī)編輯器編輯命令113

  7.4.5設(shè)置Korn shell的歷史114

  7.4.6顯示Korn shell的歷史命令114

  7.4.7使用Korn shell的歷史命令115

  7.4.8編輯Korn shell的歷史命令115

  第8章、管理系統(tǒng)116

  8.1顯示系統(tǒng)專有信息116

  8.1.1確定主機(jī)ID號(sysdef -h)116

  8.1.2確定硬件類型(uname -m)116

  8.1.3確定處理機(jī)類型(uname -p)116

  8.1.4確定OS版本號(uname -r)116

  8.1.5顯示系統(tǒng)配置信息(prtconf)116

  8.1.6確定系統(tǒng)已經(jīng)運(yùn)行了多長時間118

  8.1.7確定系統(tǒng)的日期和時間(date)118

  8.1.8設(shè)置系統(tǒng)的日期和時間118

  8.1.9改變系統(tǒng)的時區(qū)(/etc/TIMEZONE)119

  8.2配置附加的交換空間(mkfile,swap)120

  8.3創(chuàng)建一個本地郵件別名(/etc/mail/aliases)121

  第9章、文件存取問題分析122

  9.1 診斷與查找路徑有關(guān)的問題122

  9.1.1顯示當(dāng)前查找路徑122

  9.1.2為Bourne和Korn shells設(shè)置路徑122

  9.1.3Source Bourne和Korn shell的初始化文件122

  9.1.4為C shell設(shè)置路徑123

  9.1.5Source C shell初始化文件123

  9.1.6檢查當(dāng)前的查找路徑123

  9.1.7執(zhí)行一個命令123

  9.2分析與權(quán)限和所有權(quán)有關(guān)的問題123

  9.2.1改變文件的所有權(quán)124

  9.2.2改變文件的權(quán)限124

  9.2.3改變文件組的所有權(quán)125

  第1章、前言

  本手冊主要供Solaris系統(tǒng)管理員使用,所提供的內(nèi)容包含SUN OS操作系統(tǒng)系統(tǒng)的安裝、環(huán)境的建立及重要文件的創(chuàng)建,以及系統(tǒng)管理員在網(wǎng)絡(luò)系統(tǒng)環(huán)境下如何建立、維護(hù)、管理網(wǎng)絡(luò)系統(tǒng)下的工作環(huán)境,還包括系統(tǒng)管理的日常使用命令、主要命令、文件的索引等。

  本章將介紹:系統(tǒng)管理員的職責(zé)、了解超級用戶狀態(tài)、如何與用戶通信、啟動和關(guān)閉系統(tǒng)、進(jìn)程管理、基本管理工具。

  SunOS 5.x操作系統(tǒng),是Sun公司所推出的Solaris 2.x軟件系統(tǒng)環(huán)境的主要組成部份,Solaris 2.x可運(yùn)行于SPARC和Intel硬件平臺,是一個支持對稱式多處理機(jī)的UNIX系統(tǒng)環(huán)境。

  系統(tǒng)管理員的職責(zé)

  系統(tǒng)管理員的職責(zé)是確保一個獨(dú)立(Standalone)系統(tǒng)或網(wǎng)絡(luò)上的一組系統(tǒng)能正常運(yùn)行(主要指軟件)。 不同領(lǐng)域的系統(tǒng)管理員,其責(zé)任也不相同,一個系統(tǒng)管理員可能在一個或多個領(lǐng)域是專家,而在別的領(lǐng)域卻顯生疏。

  下面列出本手冊所描述的系統(tǒng)管理員的工作:

  1、 管理設(shè)備

  *磁帶機(jī)的使用

  *格式化磁盤

  *監(jiān)視盤的使用

  2、 了解服務(wù)訪問機(jī)制

  *建立一個雙向調(diào)制解調(diào)器(modem)

  3、 管理文件系統(tǒng)

  *安裝或拆卸文件系統(tǒng)

  *備份和恢復(fù)文件或文件系統(tǒng)

  4、 管理網(wǎng)絡(luò)服務(wù)

  *查找網(wǎng)絡(luò)信息

  *系統(tǒng)間傳送文件

  *管理NIS+數(shù)據(jù)庫

  5、 管理打印服務(wù)

  *設(shè)置一個打印客戶和打印服務(wù)器

  *使用打印命令

  6、 管理用戶和用戶組

  *增加用戶

  *刪除用戶

  *改變用戶信息

  *建立新組帳號

  7、 了解shell

  *使用Generic shell命令

  *使用Bourne shell命令

  *使用C Shell命令

  *使用Korn shell命令

  8、 管理系統(tǒng)

  *查找系統(tǒng)信息

  *建立局部郵件別名

  *配置額外的交換空間(swap space)

  *管理系統(tǒng)日期和時間

  *識別文件存取故障

  *搜索路徑的問題

  *存取權(quán)和所有權(quán)問題

  *網(wǎng)絡(luò)存取問題

  *獲得存取全部文件系統(tǒng)和資源的權(quán)限

  *與用戶通信

  *關(guān)閉和啟動系統(tǒng)

  *監(jiān)視進(jìn)程

  本手冊的章節(jié)按照以上給出的標(biāo)題順序安排,你還必須了解何時及如何進(jìn)行如下管理工作: (本手冊不包含如下系統(tǒng)管理工作:安裝系統(tǒng)軟件、安裝第三廠家軟件、建立和管理網(wǎng)絡(luò)服務(wù)、建立和管理郵件服務(wù)、擴(kuò)充和刪除硬件、管理安全性和記帳、監(jiān)視系統(tǒng)和網(wǎng)絡(luò)性能。)這章其余部分將描述如何完成系統(tǒng)管理員的工作,并介紹一些基本命令和管理工具。

  1.1了解超級用戶狀態(tài)

  超級用戶是一個具有特權(quán)的用戶,它可不受任何限制地使用全部文件和命令,超級用戶有一個特定的UID(=0),這個帳號的用戶名為root(其實(shí)只要是UID為0的用戶就是超級用戶)。許多系統(tǒng)管理任務(wù)都必須在超級用戶下完成,如安裝和拆卸文件系統(tǒng)、改變文件和目錄的存取權(quán)和所有權(quán)、備份和恢復(fù)文件系統(tǒng)、創(chuàng)建設(shè)備文件,以及關(guān)閉系統(tǒng)。

  我們可以用如下辦法進(jìn)入超級用戶:

  1、 在其它用戶狀態(tài)下,用不帶任何參數(shù)的su命令,并按需要鍵入root的口令。

  2、 在login提示下,鍵入root及其口令。

  在入進(jìn)超級用戶后,shell將給出一個特殊的提示符“#”,提醒你對系統(tǒng)有著至高無上的存取權(quán),做任何事情都要小心,通過查詢記錄文件/var/adm/sulog,可以跟蹤誰正在使用超級用戶帳號。

  ******在必要時才進(jìn)入超級用戶,應(yīng)該避免在超級用戶下做一般的事情。如果某項(xiàng)任務(wù)需要你是超級用戶,它會提示你應(yīng)該進(jìn)入超級用戶。當(dāng)你完成必要的工作后,應(yīng)立即回到一般用戶狀態(tài)。

  由于超級用戶非保護(hù)的存取權(quán)限嚴(yán)重威脅系統(tǒng)的安全,所以root帳號總是設(shè)有一個口令,而且為了增加安全性,要經(jīng)常更換口令。

  1.1.1成為超級用戶(su)

  僅當(dāng)需要使用root權(quán)限完成一定的工作時,你才進(jìn)入超級用戶,下面是從普通用戶成為root的方法:

  1、 在Shell的$或%提示符下,輸入su。如果root帳號有口令的話,系統(tǒng)會提示你鍵入口令。

  2、 鍵入超級用戶口令,如果口令正確,你就具有了超級用戶權(quán)限,系統(tǒng)顯示“#”提示符。

  gtxa%su

  Password:

  #

  如果想使用root本身的環(huán)境變量,鍵入su -。

  1.1.2退出超級用戶狀態(tài)

  要退出超級用戶狀態(tài),就簡單地鍵入exit。

  #exit

  gtxa%

  1.1.3以root注冊

  要直接注冊成root,必須在login提示下完成:

  1、 在login提示下,輸入root,于是系統(tǒng)提示你輸入root口令。

  2、 輸入root的口令,如果口令正確,系統(tǒng)將出現(xiàn)root提示符#:

  login: root

  Password:

  #

  1.2與用戶通信

  系統(tǒng)管理員工作的一個重要部分是與用戶通信,使用戶了解管理員所做的事情對系統(tǒng)功能所造成的影響,要讓用戶及時知道你所做的管理工作(如:重新引導(dǎo)系統(tǒng),安裝新的軟件,或以某種方式改變系統(tǒng)環(huán)境)何時將對它們產(chǎn)生影響。

  管理員可以口頭與用戶通訊,但***普遍的方式是:

  ?;在注冊時顯示當(dāng)前系統(tǒng)專用信息.

  ?;用write命令直接將消息發(fā)送到某個用戶終端上.

  ?;用wall使用將消息發(fā)送給一個系統(tǒng)上的所有用戶.

  ?;用rwall命令將消息發(fā)送給網(wǎng)絡(luò)上的所有用戶.

  ?;通過電子郵件將消息發(fā)送一個或一組用戶.

  1.2.1在注冊時顯示系統(tǒng)專用信息

  每次用戶注冊進(jìn)系統(tǒng),屏幕上都會顯示當(dāng)天的系統(tǒng)消息,這個消息存貯在文件/etc/motd中。已經(jīng)注冊進(jìn)系統(tǒng)和正在使用系統(tǒng)的用戶看不見此信息,可使用motd命令查看此消息,這些信息包括:操作系統(tǒng)版本號,系統(tǒng)軟件的變化,新安裝(或刪除)的第三廠家文件的名稱,或系統(tǒng)的調(diào)度時間表。必須確保motd文件是******的,如果motd顯示的是過時的消息,用戶會因此而失掉一個關(guān)鍵信息,消息應(yīng)盡量簡短,如果其長度超過一屏,用戶就讀不到開頭部分。/etc/motd文件所在者應(yīng)該是root, 而且root應(yīng)是******對此文件具有寫權(quán)限的用戶。

  gtxa% ls -1 /etc/motd

  -rw-r--r-- root sys 49 Jan 1 1970 /etc/motd

  gtxa%

  注意:系統(tǒng)軟件安裝后,有幾個文件(包括/etc/motd 在內(nèi))的更新時間為“Jan 1 1970”這個日期是UNIX的起始日期,當(dāng)你對這些文件編輯后,這個時間會隨之改變。

  1.2.1.1建立日期消息

  用如下步驟建立日期消息:

  1、 成為超級用戶

  2、 用編輯工具(如vi)編輯/etc/motd文件

  3、 刪除不用的消息,輸入新的消息

  4、 保存修改后的文件,這些消息在用戶下次登錄進(jìn)系統(tǒng)時顯示

  1.2.2將信息發(fā)送給單個用戶

  可以使用write命令將信息發(fā)送到用戶的終端上,當(dāng)使用窗口系統(tǒng)(如Open Windows)時,每個窗口都有一個獨(dú)立的帳號,如果用戶登錄多次,則信息會直接顯示在控制臺窗口中。

  1.2.2.1發(fā)送一個短消息給一個單獨(dú)的用戶

  用以下步驟將一個一次性的短消息發(fā)送給單個用戶:

  1、 鍵入write username,username是用戶的注冊名。

  2、 鍵入要發(fā)送的消息。

  3、 輸完消息后,鍵入Control-D. 則在username用戶的控制臺窗口中顯示你鍵入的內(nèi)容。

  下面給出系統(tǒng)管理員發(fā)送消息的例子:

  gtxa% write ignatz@elm

  I'll come by at 12:00 to look at your problem.

  gtxa%

  下面是在用戶控制臺窗口顯示的消息:

  Message from fred@gtxa on ttypl 11:20...

  I'll come by at 12:00 to look at your problem.

  EOF

  1.2.2.2將作為一個文件的消息發(fā)給個別用戶

  如果你想發(fā)送消息給一些用戶,建立一個消息文件,再使用帶參數(shù)的write命令來實(shí)現(xiàn),其中的一個參數(shù)是消息文件名。

  建立一個文件,此文件含有想要發(fā)送的消息。 鍵入write username < filename

  在下面的例子中,管理員用cat命令建立消息文件:

  gtxa% cat >; message

  I'll come by at 12:00 to look at your problem.

  gtxa% write ignatz@elm < message

  write: ignatz logged in more than once...

  writing to console

  gtxa%

  如果用戶進(jìn)入了多個窗口系統(tǒng),消息就顯示在用戶的控制臺窗口中。下面是顯示在控制臺上的消息格式:

  Message from fred@gtxa on ttypl at 11:20...

  I'll come by at 12:00 to look at your problem.

  象以上顯示的那樣,鍵入的消息與顯示的消息是相同,用戶可以用write命令響應(yīng)并初始化一個雙向?qū)υ挘@種對話不是真的交互式的。有兩條打開的write 路徑,兩個方向各一條,詳細(xì)介紹見write(1)說明。

  1.2.3將消息發(fā)送給一個系統(tǒng)或網(wǎng)絡(luò)中的所有用戶

  可以使用wall命令(write all)將消息同時發(fā)送給系統(tǒng)中的每個用戶,用rwall(remote write all)命令將消息同時發(fā)送給網(wǎng)絡(luò)中的所有用戶。

  要將消息發(fā)送給系統(tǒng)中的所有用戶:

  1、 鍵入wall

  2、 鍵入想要發(fā)送的消息

  3、 輸入完消息后,鍵入control-D, 消息就會顯示在系統(tǒng)中每個用戶的控制臺窗口中。

  下面是一個實(shí)例:

  gtxa% wall

  System will be rebooted at 12:00

  gtxa%

  顯示在用戶控制臺窗口的消息:

  Broadcast message from root on console...

  System will be rebooted at 12:00

  EOF

  注意:使用rwall命令要非常小心, 因此此命令消耗大量的系統(tǒng)和網(wǎng)絡(luò)資源,要將消息發(fā)送給網(wǎng)絡(luò)上的所有用戶:

  1、 鍵入rwall-n

  2、 鍵入要發(fā)送的消息

  3、 消息輸入完后,鍵入Control-D, 消息就顯示在網(wǎng)絡(luò)系統(tǒng)各個用戶的控制臺窗口中。

  下面是一個實(shí)例:

  gtxa%rwall-n Eng

  System gtxa will be rebooted at 12:00

  gtxa%

  顯示在用戶控制臺窗口中的消息是:

  Broadcast message from root on console...

  System will be rebooted at 12:00

  也可以用rwall命令將消息發(fā)送給某個系統(tǒng)中的所有用戶, 其命令格式為:rwall hostname

  1.2.4通過電子郵件發(fā)送消息

  E-mail是傳播某些系統(tǒng)管理信息的一種有效方式,但本手冊不介紹如何使用電子郵件,有關(guān)郵件信息的詳細(xì)說明見mail(1)、mailtool(1)和mailx(1)。

  1.3啟動和關(guān)閉系統(tǒng)

  啟動及關(guān)閉系統(tǒng)是系統(tǒng)管理工作的一個組成部分,這一節(jié)描述正常啟動和關(guān)閉系統(tǒng)的過程,如果系統(tǒng)啟動出現(xiàn)錯誤,參閱系統(tǒng)文檔中有關(guān)如何診斷引導(dǎo)問題。

  SunOS 5.x系統(tǒng)軟件總處于連續(xù)運(yùn)行狀態(tài),這樣電子郵件和網(wǎng)絡(luò)軟件能正常地工作,但在以下幾種情況下,系統(tǒng)卻必須關(guān)閉或停止。

  ?;切斷系統(tǒng)電源

  ?;安裝一個新版本的操作系統(tǒng)

  ?;電源老化

  ?;系統(tǒng)擴(kuò)充硬件

  ?;進(jìn)行文件系統(tǒng)維護(hù)

  1.3.1選擇init狀態(tài)

  Solaris系統(tǒng)軟件有八個init狀態(tài): 缺省init狀態(tài)/etc/inittab 中確定。Solaris系統(tǒng)軟件的缺省init狀態(tài)是運(yùn)行級3。表1.1列出了7個可能的運(yùn)行級別和系統(tǒng)在每級上的狀態(tài)。

  表1.1 系統(tǒng)初始狀態(tài)

  初始狀態(tài)功能

  0掉電狀態(tài)

  1.S.s系統(tǒng)管理員狀態(tài)(單用戶)

  2多用戶狀態(tài)(不輸出資源,沒有啟動NFS)

  3多用戶狀態(tài)(輸出資源,啟動NFS進(jìn)程)

  4替換多用戶狀態(tài)(目前不用)

  5軟件重引狀態(tài)(目前不用)

  6系統(tǒng)重引導(dǎo)狀態(tài)

  /sbin/init 程序負(fù)責(zé)確保系統(tǒng)正常地運(yùn)行,也可以用它來改變init 狀態(tài)的命令,還可以用init 狀態(tài)(帶用-i選擇項(xiàng))作為shutdown命令的參數(shù)。以下是四種系統(tǒng)狀態(tài)類型:

  1、 掉電(運(yùn)行級0)

  2、 單用戶(運(yùn)行級1和s或S)

  3、 多用戶(運(yùn)行級2和3)

  4、 重引導(dǎo)(運(yùn)行級5和6)

  若準(zhǔn)備做系統(tǒng)管理工作,必須確定對系統(tǒng)及所需要做的工作來說哪種init狀態(tài)是合適的。

  1.3.1.1查看系統(tǒng)運(yùn)行級

  要查看某系統(tǒng)的運(yùn)行級,鍵入who -r:即顯示出運(yùn)行級、日期及時間、進(jìn)程終止?fàn)顟B(tài)、進(jìn)程id、進(jìn)程退出狀態(tài)。

  在下面的例子中,系統(tǒng)gtxa處在缺省多用戶運(yùn)行級(3),日期和時間是在Feb 6 15:46,進(jìn)程終狀態(tài)是3,進(jìn)程id是0, 進(jìn)程退出狀態(tài)是S:

  gtxa%who -r

  run-level 3 Feb 6 15:46 3 0 S

  gtxa%

  下面描述如何使用每個init狀態(tài)。

  1.3.1.2使用掉電狀態(tài),運(yùn)行級0

  用此級關(guān)閉系統(tǒng)以便安全切斷電源。

  1.3.1.3使用系統(tǒng)管理員狀態(tài),運(yùn)行級1

  當(dāng)某項(xiàng)管理任務(wù)需要你是系統(tǒng)的******用戶時,使用這一級,在這級狀態(tài)下,只安裝了root和/usr文件系統(tǒng),只允許使用***少的核心實(shí)用程序,發(fā)出該命令的終端成為控制臺,沒有其它用戶登錄。

  1.3.1.4使用多用戶狀態(tài),運(yùn)行級2

  一般操作都在此狀態(tài)下進(jìn)行,在這級狀態(tài)下多個用戶可以訪問系統(tǒng)和整個文件系統(tǒng),除了nfs服務(wù)器、syslog和遠(yuǎn)程共享進(jìn)程之外,所有的系統(tǒng)管理進(jìn)程都在運(yùn)行。

  1.3.1.5使用遠(yuǎn)程資源共享狀態(tài),運(yùn)行級3

  此狀態(tài)一般操作和nfs資源共享一起有效。

  1.3.1.6使用替換多用戶狀態(tài),運(yùn)行級4

  此運(yùn)行級目前不用。

  1.3.1.7使用交互重引導(dǎo)狀態(tài),運(yùn)行級5

  要從非缺省引導(dǎo)設(shè)備引導(dǎo)系統(tǒng)時,用此級。也可以用reboot -a 命令進(jìn)入這個狀態(tài)級。

  1.3.1.8使用重引導(dǎo)狀態(tài),運(yùn)行級6

  使用此運(yùn)行級關(guān)閉系統(tǒng),使系統(tǒng)狀態(tài)為運(yùn)行級0, 然后重引導(dǎo)到多用戶級(或到inittab文件中指定的缺省運(yùn)行級)。

  1.3.1.9使用單用戶狀態(tài),運(yùn)行級s或S

  使用這一級使系統(tǒng)處于單用戶狀態(tài),而所有的文件系統(tǒng)被安裝且可訪問。

  1.3.1.10改變運(yùn)行級

  用telinit或init命令改變運(yùn)行級,telinit命令需要一個單字符參數(shù),此參數(shù)為init指定使用的運(yùn)行級,盡管用戶可以直接用init命令,但******使用telinit命令去改變系統(tǒng)運(yùn)行級。

  1、 變成超級用戶

  2、 鍵入telinit n。參數(shù)n是要使用的init狀態(tài)號。

  要關(guān)閉系統(tǒng)

  gtxa% su

  Password:

  # telinit 0

  變成單用戶狀態(tài):

  gtxa% su

  Password:

  # telinit 1

  要變成無nfs服務(wù)器系統(tǒng)管理進(jìn)程運(yùn)行的多用戶狀態(tài):

  gtxa% su

  Password:

  # telinit 2

  要變到具有nfs服務(wù)器系統(tǒng)管理進(jìn)程的多用戶狀態(tài):

  gtxa% su

  Password:

  # telinit 3

  要關(guān)閉且重引導(dǎo)系統(tǒng)到運(yùn)行級3:

  gtxa% su

  Password:

  # telinit 6

  1.3.2選擇所用的關(guān)閉命令

  準(zhǔn)備做系統(tǒng)管理工作時,需要確定合適的關(guān)閉命令,下面介紹如何使用系統(tǒng)提供的關(guān)閉使命。

  /usr/sbin/shutdown

  /etc/telinit and /sbin/init

  /usr/sbin/halt

  /usr/sbin/reboot

  以上命令皆完成:初始關(guān)閉過程,殺死所有的運(yùn)行進(jìn)程,將新數(shù)據(jù)寫入硬盤將Solaris系統(tǒng)關(guān)閉為適當(dāng)?shù)倪\(yùn)行級。

  1.3.2.1 shutdown

  在多用戶狀態(tài)下關(guān)閉系統(tǒng),使用shutdown命令,此命令將警告消息發(fā)送給注冊到此系統(tǒng)的所用用戶,等待60秒鐘(缺省)后將系統(tǒng)關(guān)閉為單用戶狀態(tài),可以選擇不同的缺省等待時間。

  1.3.2.2 telinit和init

  用telinit或init 命令可以關(guān)閉一個單用戶系統(tǒng)或改變此系統(tǒng)的運(yùn)行級,init命令改變系統(tǒng)的運(yùn)行級,telinit命令init 你想要的運(yùn)行級,兩者可交替使用,但telinit命令更好,可用telinit將系統(tǒng)置成掉電狀態(tài)(init 0)或進(jìn)入單用戶狀態(tài)(init)。

  注意:telinit/init和shutdown命令是改變系統(tǒng)運(yùn)行狀態(tài)的好方法,由于它們是用一級rc shell程序來殺死行進(jìn)程, 因此用這些程序來關(guān)閉系統(tǒng)是***可靠的方式。

  1.3.2.3 halt

  當(dāng)系統(tǒng)必須馬上停止且不必警告任何用戶時,用halt命令。halt命令在關(guān)閉系統(tǒng)時沒有任何延時也不給系統(tǒng)中的用戶以任何警告。halt命令不運(yùn)行任何 rc shell程序,所以不是一個關(guān)閉系統(tǒng)的好方法。

  1.3.2.4 reboot

  系統(tǒng)不在多用戶狀態(tài)下,用reboot命令關(guān)閉系統(tǒng)并重新引導(dǎo)到多用戶狀態(tài),reboot命令不警告系統(tǒng)中的用戶,不運(yùn)行rc shell程序,所以不是一個關(guān)閉系統(tǒng)的好方法。

  1.3.3 引導(dǎo)系統(tǒng)

  如果系統(tǒng)電源被切斷,則開啟電源就開始了多用戶引導(dǎo)過程。下面說明從ok PROM提示下引導(dǎo)系統(tǒng)到不同狀態(tài)下的方法。如果PROM 提示是>;,鍵入n即顯示出ok提示。

  1.3.3.1 引導(dǎo)到多用戶狀態(tài)

  要引導(dǎo)系統(tǒng)到多用戶狀態(tài),在ok提示符下,鍵入boot,則在缺省驅(qū)動器上啟動自動引導(dǎo)過程,顯示一系列啟動信息,***后系統(tǒng)進(jìn)入多用戶狀態(tài)。

  1.3.3.2 引導(dǎo)到單用戶狀態(tài)

  要引導(dǎo)系統(tǒng)到單用戶狀態(tài),在ok提示符下,鍵入boot -s,系統(tǒng)引導(dǎo)到單用戶狀態(tài)且提示輸入root口令:

  ok boot -s

  INIT: SINGLE USER MODE

  Type Ctrl-d proceed with normal start-up

  (or give boot password for system maintenance)

  鍵入root口令,注意要繼續(xù)將系統(tǒng)引導(dǎo)到多用戶狀態(tài),則鍵入Control-D。

  1.3.3.3交互式引導(dǎo)

  如果想對系統(tǒng)文件或核心作暫時改動,可以采用交互式引導(dǎo),在這種情況下,可以測試所作的改動,且當(dāng)出現(xiàn)問題時很容易恢復(fù)。

  1、 在ok>;的PROM提示下,鍵入boot-a,引導(dǎo)過程會按交互式方式提示你。

  2、 若響應(yīng)回車,即缺省/kernel/unix核心引導(dǎo),若不用缺省核心,則鍵入要用的核心名稱。

  3、 若響應(yīng)回車,即用缺省/etc/system文件,否則鍵入所用的系統(tǒng)文件名。

  4、 若響應(yīng)回車,即用缺省模塊目錄路徑,否則鍵入模塊目錄路徑名。

  5、 若響應(yīng)回車,即用缺省root文件系統(tǒng),也可鍵入ufs從本地盤引導(dǎo),或者鍵入ufs無盤客戶。

  6、 若響應(yīng)回車用root設(shè)備的缺省物理名,否則鍵入想使用的設(shè)備名。

  7、 若響應(yīng)回車則用缺省交換文件系統(tǒng)類型swapfs(注意:swapfs是******允許的交換文件系統(tǒng)類型)。

  以下例子中,接受的是缺省選擇:

  ok boot -a

  (Hardware configuration messages)

  rebooting from -a

  Boot device: /sbus/esp@0,800000/sd@0,0 File and args:-a

  Enter[/kernel/unix]:

  (Copyright notice)

  Name of system file [/etc/system]:

  Name of default directory for modules [ ]:

  root filesytem type [ufs]

  Enter physical name of root device[/sbus@1, f8000000/esp@0,800000/sd@0,0]:

  Swap filesystem type [swapfs]

  configuring network interfaces: leo

  Hostname: gtxa

  (fsck messages)

  The system is coming up. Please wait.

  (More messages)

  gtxa login:

  1.3.3.4查看引導(dǎo)信息

  引導(dǎo)信息存貯在/var/adm/messages文件中,引導(dǎo)完系統(tǒng)后若要查看這些信息,鍵入/usr/sbin/dmesg或more /var/adm/messages,則顯示引導(dǎo)信息。

  gtxa% /usr/sbin/dmesg

  Jan 13 11:22 SunOS Release 5.0 Version [UNIX(R) System V Release 4.0]

  system file (etc/system) error: readline error on line 1.

  root nexus=Sun 4-60

  mem=16384K (0x4000000)

  avail mem =14688256

  Ethernet address=8:0:20:7:83:17

  sbuso at obio 0xf8000000

  dma0 at SBus slot 0 0x400000

  exp0 at SBus slot 0 0x800000 SBus level 3(sparc ipl 3)

  sdl at sep0 target 1 lun 0

  /sbua@1, f8000000/esp@0,800000/sd@1,0(sd1):

  sd3 at esp0 target 3 lun 0

  /sbus@1, f8000000/esp@0,800000/sd@3,0(sd3):

  root on /sbus@ 1, f8000000/esp@0,800000/sd@3,0:a fstype ufs swap on swapfs fstype swapfs size 1348K

  le0 at SBus slot 0 0xc00000 SBus level 4 (sparc ipl 5)

  zs0 at obio 0xf1000000 sparc ipl 12

  zs1 at obio 0xf0000000 sparc ipl 12

  dump on /dev/dsk/c0t3d0sl size 32748K

  Dec 24 12:30:01 sendmail[82]:alias database out of date

  Dec 24 12:30:01 sendmail[82}: AA00082: message- in=<9112242030. AA00082@gtxa. Eng. Sun. COM>;

  Dec 24 12:30:01 sendmail[82]: AA00082: from=root, size=592, class=0, received form local

  Dec 24 12:30:02, stat=Sent

  Dec 24 12:30:58 sendmail[153]: network daemon starting

  Dec 31 15:20:24 rlogind[734]: pcktread: suspeet zero len fdo at obio 0xf7200000 spare ipl 11

  cgsix0 at SBus slot 1 0x0 SBus level 5(spare ipl 7)

  cgsix0: screen 1152x900, single buffered, IM

  mappable 1 gtxa%

  1.3.3.5增加新的硬件后引導(dǎo)系統(tǒng)

  當(dāng)系統(tǒng)中增加新的硬件后,boot命令必須使用-r選擇項(xiàng),以便使操作系統(tǒng)在引導(dǎo)過程中查看并裝入新的設(shè)備驅(qū)動程序。

  1、 按硬件中的說明裝入新的設(shè)備驅(qū)動程序。

  2、 關(guān)閉系統(tǒng)且安裝新的硬件。

  3、 鍵入boot -r并回車,則運(yùn)行重配置shell程序,裝入在模塊目錄中的所有的設(shè)備驅(qū)動程序且建立相應(yīng)的硬件結(jié)點(diǎn)(nodes)。

  1.3.3.6退回引導(dǎo)進(jìn)程

  在有些情況下,你也許想退出或中斷引導(dǎo)過程,具體的中斷鍵依鍵盤類型不同而有所不同,例如,可鍵入stop -A或L1 -A。在tty 終端上,鍵入Break鍵。要中斷引導(dǎo)過程,鍵入系統(tǒng)對應(yīng)的中斷鍵,當(dāng)中斷引導(dǎo)過程后,監(jiān)視器將顯示ok PROM提示k

  鍵入boot重新啟動引導(dǎo)過程,或鍵入help顯示一組幫助信息。如果終端示出>;提示,鍵入n獲得ok提示。

  1.3.4關(guān)閉系統(tǒng)

  下面介紹如何用shutdown和init命令關(guān)閉系統(tǒng)。

  1.3.4.1關(guān)閉一個多用戶系統(tǒng)

  在關(guān)閉一個多用戶系統(tǒng)之前,要通知系統(tǒng)中的用戶,給用戶完成一些處理過程的時間。

  1、 鍵入who,顯示出注冊的所有用戶清單。

  2、 鍵入ps-ef,顯示出系統(tǒng)活動進(jìn)程表,如果系統(tǒng)進(jìn)程允許關(guān)閉,轉(zhuǎn)到下一步。

  3、 變成超級用戶。

  4、 鍵入cd /,必須在根目錄下運(yùn)行關(guān)閉命令。

  5、 鍵入shutdown,系統(tǒng)要你確認(rèn)是否要關(guān)閉系統(tǒng)。

  6、 鍵入y,所有的用戶將接收到一個消息,等待60秒后,系統(tǒng)關(guān)閉,進(jìn)入單用戶狀態(tài)且提示鍵入root口令。

  7、 鍵入root口令,系統(tǒng)處于單用戶狀態(tài),這時可以進(jìn)行維護(hù)工作。

  8、 鍵入Control-D返回到缺省運(yùn)行系統(tǒng)級。

  # cd /

  # shutdown

  Shutdown started Fri Aug 6 10:50:35 EDT 1993

  Broadcast message from root(console) on earth Fri Aug 9 10:59:35

  THE SYSTEM IS BEING SHUT DOWN NOW!!!

  LOG OFF NOW OR RISK YOUR FILES BEING DAMAGED

  Do you want to continue?(y or n): y

  The system is down.

  Changing to init state s-please wait.

  INIT: New run level S

  INIT: SINGLE USER MODE

  Type: Ctrl-d to proceed with normal start-up,

  (or give root password for system maintenance):

  1.3.4.2關(guān)閉系統(tǒng):可選方式

  如果想改變shutdown命令的缺省功能,選擇以下所述的六種方式之一來完成。

  1、 在不確認(rèn)的情況下關(guān)閉系統(tǒng):

  *變成超級用戶

  *鍵入cd /,必須在root目錄下運(yùn)行shutdown命令。

  *鍵入shutdown等待時間(Grace Period)

  2、 為了改變shutdown等待時間(Grace Period),用以下幾步:

  *變成超級用戶。

  *鍵入cd /,必須在root目錄下運(yùn)行shutdown命令。

  *鍵入shutdown -t .系統(tǒng)在等待用戶確定的秒數(shù)后關(guān)閉。

  *下面是改變等待時間(Grace Period)例子:

  # cd /

  # shutdown -g 120

  3、 關(guān)閉且重新引導(dǎo)多用戶系統(tǒng)

  *變成超級用戶。

  *鍵入cd /, 必須在root目錄下運(yùn)行shutdown命令。

  *鍵入shutdown -i6 將一條消息發(fā)送給所有的用戶且執(zhí)行re6 shell程序;系統(tǒng)關(guān)閉為掉電狀態(tài),然后恢復(fù)到多用戶狀態(tài)。

  4、 關(guān)閉單用戶系統(tǒng)

  要關(guān)閉一個單用戶系統(tǒng),鍵入telinit 0(或init 0)命令運(yùn)行shell程序使系統(tǒng)很快地關(guān)閉,沒有警告信息。

  5、 關(guān)閉且重新引導(dǎo)單用戶系統(tǒng)

  要關(guān)閉且重新引導(dǎo)單用戶系統(tǒng),鍵入telinit 6 (或init 6)。此時系統(tǒng)信息寫到硬盤上,殺死所有的活動進(jìn)程且系統(tǒng)回到掉電狀態(tài)。系統(tǒng)再重新引導(dǎo)到缺省級(通常是多用戶級)。

  6、 緊急關(guān)閉系統(tǒng)

  要緊急關(guān)閉一個系統(tǒng),鍵入uadmin 2 0. 將系統(tǒng)信息寫到硬盤上,系統(tǒng)回到掉電狀態(tài),且顯示PROM提示。

  1.4監(jiān)視進(jìn)程

  某一時刻在系統(tǒng)中運(yùn)行的程序稱為進(jìn)程。用戶可以監(jiān)視進(jìn)程的狀態(tài),控制一個進(jìn)程獲得的CPU時間,掛起或終止一個進(jìn)程的執(zhí)行。

  ps命令是獲得進(jìn)程信息的主要工具。可以用ps和grep命令查尋所需要的信息,可以確定哪些進(jìn)程正在(或沒有)運(yùn)行,而且可以獲得一個進(jìn)程的詳細(xì)信息,這些信息包括:

  *PID<進(jìn)程ID>;

  *UID<用戶ID>;

  *優(yōu)先級

  *控制終端

  *存貯器的使用

  *CPU時間

  *當(dāng)前狀態(tài)

  ps命令反映的是命令被鍵入時的系統(tǒng)狀態(tài),因此當(dāng)你正在監(jiān)視系統(tǒng)時間的活動情況時,必須明白當(dāng)你讀結(jié)果時它們已經(jīng)有點(diǎn)過時,表1.2列出了ps(1)手冊。

  表1.2 ps 命令***常用的選擇項(xiàng)目

  可選項(xiàng)說明

  -e 報告所有的進(jìn)程

  -l 生成一個長報告,此報告中包括除STIME之外的所有域。

  -f 顯示進(jìn)程啟動程序的全路徑名

  1.4.1 ps命令報告的內(nèi)容

  當(dāng)鍵入ps-e時,可獲得如下所示的信息

  gtxa% /usr/bin/ps -e

  PID TTY TIME COMD

  0 ? 0:02 sched

  1 ? 0:01 init

  2 ? 0:00 pageout

  192 ? 0:00 sac

  79 ? 0:10 inetd

  75 ? 0:01 in route

  136 ? 0:04 automoun

  143 ? 0:01 crom

  123 ? 0:01 statd

  104 ? 0:01 rpcbind

  106 ? 0:01 rpc. rwal

  108 ? 0:01 rpc. ruse

  110 ? 0:01 rpc. spra

  113 ? 0:01 ypbind

  115 ? 0:00 keyserv

  117 ? 0:01 kerbd

  127 ? 0:02 lockd

  251 pts/0 0:00 ps

  165 ? 0:00 scndmail

  193 ? 0:01 ttymon

  174 ? 0:03 sysylogd

  156 ? 0:01 lpsched

  209 ? 0:02 in rlogi

  211 pts/0 0:03 csh

  164 ? 0:00 lpNet

  gtxa%

  各欄內(nèi)容說明如下:

  *PID: 進(jìn)程標(biāo)識號

  *TTY: 啟動此進(jìn)程(或其父進(jìn)程)的終端。如果進(jìn)程沒有控制終端這一欄顯示一個問號;──顯示問號的進(jìn)程常常是系統(tǒng)進(jìn)程。

  *TIME: 進(jìn)程所用的CPU時間

  *COMD: 產(chǎn)生此進(jìn)程的命令名,注意:ps-e 命令僅顯示出文件名的頭八個字符。

  當(dāng)鍵入ps -el時,可看到如下的顯示內(nèi)容:

  gtxa% /usr/bin/ps -el

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME COMD

  19 T 0 0 0 80 O SY f010f1c8 0 ? 0:02 sched

  8 S 0 1 0 251 0 20 fflad800 48 fflad9c4 ? 0:01 init

  19 S 0 2 0 0 0 SY fflad000 0 fflad07d ? 0:00 pageout

  8 S 0 192 1 49 1 20 ff1f7000 238 ff2de348 ? 0:00 sac

  8 S 0 79 1 80 1 20 ff232800 258 f010fla4 ? 0:10 inetd

  8 S 0 75 1 80 1 20 ff249000 327 ff2de448 ? 0:01 in route

  8 S 0 136 1 80 1 20 ff2c3000 287 f010fla4 ? 0:04 automoun

  8 S 0 143 1 80 1 20 ff293000 270 f010fla4 ? 0:01 cron

  8 S 0 123 1 49 1 20 ff28e800 258 f010fia4 ? 0:01 statd

  8 S 0 104 1 80 1 20 ff25a000 301 f010fla8 ? 0:01 rpcbind

  8 S 0 106 1 77 1 20 ff258800 272 f010fia4 ? 0:01 rpc.rwal

  8 S 0 108 1 80 1 20 ff260800 272 f010dla4 ? 0:01 rpc.ruse

  8 S 0 110 1 78 1 20 ff266800 272 f010fla4 ? 0: 01 rpc. spra

  表1.3是ps -el長報告中各域的說明表

  域說明

  F 十六進(jìn)制標(biāo)示,加在一起表示進(jìn)程目前的狀態(tài)

  00進(jìn)程已經(jīng)終止,它對應(yīng)的進(jìn)程表項(xiàng)已空

  01此進(jìn)程是一個進(jìn)程且總是在內(nèi)存中

  02此進(jìn)程正被它的父進(jìn)程跟蹤

  04此進(jìn)程在被它的父進(jìn)程跟蹤,且已經(jīng)停止運(yùn)行

  08此進(jìn)程不能用信號******

  10進(jìn)程正在內(nèi)存中且在一個文件完成之前被鎖住

  20此進(jìn)程不可換出

  S 進(jìn)程的當(dāng)前狀態(tài),由下列字母之一表示:

  O正在處理器上運(yùn)行

  S睡眠;等待IO事件完成

  R運(yùn)行就緒。

  I空閑狀態(tài),進(jìn)程正在創(chuàng)建

  Z僵尸狀態(tài);進(jìn)程已經(jīng)終止且父進(jìn)程不再等待,但此死進(jìn)程仍留在進(jìn)程表中。

  T因父進(jìn)程正在跟蹤它而停止執(zhí)行

  X等待獲得更多的內(nèi)存

  UID 進(jìn)程所有者的用戶ID號

  PID 進(jìn)程標(biāo)識號

  PPID 父進(jìn)程的標(biāo)識號

  C 進(jìn)程所用的CPU時間(該進(jìn)程所用CPU時間的百分比估計(jì)值)

  PRI 進(jìn)程調(diào)度優(yōu)先級,數(shù)字越大表示優(yōu)先級越低

  NI 進(jìn)程的nice數(shù),影響其調(diào)度優(yōu)先級,提高進(jìn)程的nice數(shù)意味著降低其優(yōu)先級、使用更少的CPU時間

  SZ 進(jìn)程所需虛存數(shù)量,它很好地表示出進(jìn)程對系統(tǒng)存貯器的要求。

  TTY 啟動此進(jìn)程(或父進(jìn)程)的終端,或者是“?”表示無控制終端(通常表示系統(tǒng)進(jìn)程)。

  TIME 進(jìn)程從啟始到目前所使用的CPU時間總和

  COMD 產(chǎn)生此進(jìn)程的命令。

  1.4.2使用ps報告

  當(dāng)需要哪些進(jìn)程或系統(tǒng)管理進(jìn)程正在運(yùn)行時,使用ps -e選擇項(xiàng),如果還想得到過程的更詳細(xì)信息,用ps -el選擇項(xiàng)。各選擇項(xiàng)的詳細(xì)說明參考ps(1)命令手冊。

  下面是如何發(fā)現(xiàn)潛在問題的指南:

  *查看有沒有由同一用戶所有的相同作業(yè),若有,這可能是由于某用戶運(yùn)行了啟動一組后臺作業(yè)的shell程序,但沒有等待作業(yè)終止,找用戶談?wù)劊词欠袷沁@種情況,如果必要,用kill命令殺死其中一些進(jìn)程,有關(guān)殺死一個進(jìn)程的詳細(xì)介紹參見后面幾節(jié)。

  *查看TIME域,看哪些進(jìn)程占用了大量的CPU時間,這樣的進(jìn)程可能導(dǎo)致死循環(huán)。

  *查看C域,找出占用大量CPU時間且不重要的進(jìn)程,如果認(rèn)為此進(jìn)程確實(shí)不值占用如此多的CPU時間,可以用priocntl命令降低它的優(yōu)先級,有關(guān)priocntl命令的詳細(xì)信息,參考prioentl(1)手冊。

  *查看SZ域,找出占用太大內(nèi)存的進(jìn)程。如果某個進(jìn)程占用了過于大的內(nèi)存,將它殺死,如果系統(tǒng)中有許多進(jìn)程都需要大量內(nèi)存,則可能需要擴(kuò)充內(nèi)存。

  *查找占用CPU時間越來越多的失控進(jìn)程,可以用帶-f可選項(xiàng)的ps命令查看其超始時間(STIME),也可直接看其TIME域所指的CPU累計(jì)時間。

  1.4.3殺死進(jìn)程

  有時用戶需要徹底地******一個進(jìn)程,這時用kill命令,kill命令的格式為kill-,此處是一個數(shù)或一個名稱。

  注意:僅當(dāng)進(jìn)程不能正常退出時用kill命令。

  有時用kill命令后進(jìn)程仍未死掉,***常見的三種情況:

  ?;進(jìn)程退出前正在等待一個設(shè)備(如磁帶機(jī))完成某種操作。

  ?;進(jìn)程正在等待由于nfs出現(xiàn)問題而無效的資源,在這種情況應(yīng)該用kill-QUIT命令來殺死一個進(jìn)程。

  ?;進(jìn)程處于僵尸態(tài),正如ps報告的消息所顯示,僵尸進(jìn)程已經(jīng)釋放了它所占資源,但還沒有接收到父進(jìn)程的回應(yīng),一般接收到回應(yīng)后刪除對應(yīng)的進(jìn)程表項(xiàng),在下次啟動系統(tǒng)時,僵尸進(jìn)程被消除,僵尸(Zombies)進(jìn)程不影響系統(tǒng)性能,所以用戶不必刪除它們。

  要?dú)⑺酪粋€進(jìn)程:

  1、 變成超級用戶,要?dú)⑺酪粋€非你擁有的進(jìn)程,你必須成為超級用戶。

  2、 鍵入ps -e,將顯示出一組進(jìn)程,使用******欄的PID(進(jìn)程ID)號作為下一步的輸入,如果你知道是哪個進(jìn)程出了問題,則可以鍵入:

  ps -e | grep 來找到其進(jìn)程ID

  3、 鍵入kill-15 ,若僅鍵入kill,無參數(shù),則缺省的信號是15。

  4、 鍵入ps -e,檢查進(jìn)程是否已經(jīng)終止,如果進(jìn)程還存在,則到第5步。

  5、 鍵入kill-9 ,這個進(jìn)程應(yīng)該被終止。 鍵入man -s5 signal,查看kill所使用的信號描述。

  例如:如果gtxa系統(tǒng)上的Open Windows 死了,你必須從另一個系統(tǒng)遠(yuǎn)程注冊來殺死此進(jìn)程。

  elm% rlogin gtxa

  Password:

  gtxa% ps-e │ grep openwin

  PID TTY TIME COMD

  2212 pts/0 0:00 openwin

  2213 pts/1 0:00 grep openwin

  gtxa # kill 2212

  gtxa # exit

  gtxa% logout

  elm%

  1.5基本管理工具

  Solaris系統(tǒng)軟件提供以下兩種管理工具:

  *一組通用的操作系統(tǒng)命令

  *具有圖形用戶接口的管理工具(Administration Tool)。

  1.5.1經(jīng)常使用的命令

  下面幾節(jié)簡單地介紹基本的Solaris命令,你很可能會使用它們作為系統(tǒng)管理例程的一部分,更詳細(xì)的介紹參見第二章中的“Basic OS Commands”及附錄A列出的SunOS 4.x命令與SunOS 5.x命令的對照表。

  1.5.1.1在文件系統(tǒng)中移動

  Solaris系統(tǒng)軟件是有一個層次結(jié)構(gòu)的文件系統(tǒng),當(dāng)管理系統(tǒng)時,你需要了解目前處于文件系統(tǒng)的哪個位置、如何轉(zhuǎn)到不同的目錄。

  1.5.1.2查看在文件系統(tǒng)中所處的位置

  要知道目前處于文件系統(tǒng)的哪一層,鍵入pwd。pwd(打印工作目錄)命令顯示當(dāng)前目錄:

  gtxa&pwd

  /etc

  gtxa%

  1.5.1.3改變目錄

  要改變目錄,鍵入cd 。cd(改變目錄)命令使你進(jìn)入所鍵入的目錄中:

  gtxa% cd /usr

  gtxa%% pwd

  /usr

  gtxa%

  如果僅鍵入cd而沒鍵入路徑名,你就返回注冊目錄下。

  1.5.1.4查看文件的有關(guān)信息

  用ls命令可以顯示目錄內(nèi)容以及文件的許可權(quán)、符號鏈、所有者、組、文件長度(字節(jié)數(shù))、修改日期及時間和文件名,許多用戶存取文件出錯的原因,追根底在于擁有不正確的許可權(quán)或所有權(quán),有關(guān)此類問題的詳細(xì)說明見第10章“識別文件存取問題”。

  1.5.1.5顯示文件信息

  要顯示某個文件的有關(guān)信息,鍵入ls -1 ,則顯示許可權(quán)、符號鏈、所有者、組、文件長度(字節(jié)數(shù))、修改日期及時間和文件名。

  要看目錄中的全部文件,鍵入ls -1a,有關(guān)ls的選擇項(xiàng)清單可參見命令手冊。

  gtxa% ls -1 /etc/passed

  -r--r--r--lrootsys659 Feb 24 17:28/etc/passed

  gtxa%

  1.5.1.6查找一個文件

  要從根目錄開始搜索尋找到一個文件, 就鍵入find $HOME -name -print. $HOME變量表示查找從根目錄開始。 -name選項(xiàng)表示要查找指定的文件名,-print 選項(xiàng)要求顯示出查找的結(jié)果。如果沒找到中指定的文件則系統(tǒng)回到提示符狀態(tài)。

  下面例子是查找文件core:

  gtxa% find $HOME -name core -print

  /home/ignatz/core

  gtxa%

  表1.4 find命令的可選項(xiàng)

  可選項(xiàng) 說明

  -fstype 查找指定類型的文件系統(tǒng),通常用ufs或nfs中的文件

  -prune 限制搜索到指定的目錄

  -nouser 查找不屬于/etc/passwd中用戶的文件

  -nogroup 查找不屬于/etc/group中組的文件

  -atime 查找在***后天被存取過的文件

  -mtime 查找在***后天被修改過的文件

  -ctime 查找在***后天被改變過的文件, 這種改變包括改變文件的屬性。如鏈接數(shù)、所有者或組

  -Xdev 限制只對一個文件系統(tǒng)搜索

  有關(guān)find命令可選項(xiàng)的完整說明見find(1)。

  1.5.1.7查看一個文件的類型

  某些情況下需要確定一個文件的類型,如要查看一個文件的類型,則鍵入file 。輸出結(jié)果是指定文件的文件類型。

  例如:如果一個用戶試圖執(zhí)行一個無執(zhí)行許可權(quán)的ASCII 文件或空文件,查看文件的類型可以得知此文件是ASCII 文件或空文件而不能執(zhí)行。

  以下是空文件的例子:

  gtxa% file junk

  junk: empty file

  gtxa%

  以下是ASCII文件的例子:

  gtxa% file junk

  junk: ascii text

  gtxa%

  以下例子中,文件是具有可執(zhí)行許可權(quán)的文本文件,所以file命令報告該文件可執(zhí)行,且是文本文件。

  gtxa%chmod 777 junk

  gtxa% file junk

  junk: commands text

  gtxa%

  你也可以用ls -1命令來查看某文件是否有執(zhí)行許可權(quán)。

  可以用file *命令查看一個目錄中全部文件的類型。文件按字母順序列出,后面跟文件類型:

  gtxa% file *

  coterie: directory

  course: ascil text

  dead. letter ascii text

  ksyms English text

  people: directory

  personal: directory

  showrev: ascii text

  status: directory

  text: directory

  toodo: ascii text

  gtxa%

  1.5.1.8查看文件中的信息

  用grep和egrep命令可查找文件或命令輸出的某些特定信息。

  1.5.1.9查找文件中的字符串

  鍵入grep 可查找文件中的指定字符串,且顯示文件可包含該字符串的行。

  例如:查找passwd文件中包含csh的行:

  gtxa% grep csh /etc/passwd

  ignatz: 6693: 10:Ignatz 64607:/home/ignatz: /bin/csh

  fred: 14072:10:Fred Lux:/home//home/fred:/vin/csh

  gtxa%

  同時查找多個文件的方法是:在命令中輸入多個文件名,它們之間以空格分開;或者用無字符代文件名(或與文件名一起使用)。

  為顯示出不包含某字符串的行,可以鍵入grep -v 。

  查找具有某種模式的輸入行,可以將grep以管道的方式與許多管理命令結(jié)合起來使用。

  例如:要查找某一用戶當(dāng)前的全部進(jìn)程,可以將ps命令和grep結(jié)合起來使用,并查找該用戶名,鍵入ps -e│grep 。即顯示該用戶名的清單。可用下面的命令查找Open Windows的全部進(jìn)程:

  gtxa%ps -e │grep openwin

  PID TTY TIME COMD

  2212 pts/0 0:00 openwin

  gtxa%

  1.5.1.10查看文件

  毫無疑問,人們要花很時間查看文件的內(nèi)容,需要查看整個文件時可以用more命令,當(dāng)只需看文件尾的內(nèi)容時(如日志(log)文件),可用tail命令來顯示文件的***后10行,當(dāng)重要信息在文件頭時,可用head命令顯示文件的前10行。

  1.5.1.11瀏覽文件

  可以鍵入more 來瀏覽文件,文件一次只顯示一屏,按空格鍵顯示下一屏。當(dāng)你用more瀏覽文件時,若想查找文件中的某個字符串,可以鍵入/。屏幕滾到你要查找的字符串的位置, 并在窗口頂部顯示要找的字符串的“... skippin”信息。如果未找到,則屏幕不滾動并顯示出“Pattern not found”。

  例如:要查找/etc/mail/aliasses文件中的Local aliases串, 可鍵入/Local aliases.

  /Local aliases

  ... skipping

  # # # # # # # # # # # #

  # Local aliases below #

  # # # # # # # # # # # #

  注意:在more命令中一定要用正確的大小寫字母。上例中,如果你鍵入了/local aliases,則會告訴你沒有找到。

  為了查找下一個匹配的字符串,鍵入n。鍵入q退出more命令,顯示shell 提示符。

  為顯示shell intr 字符,可鍵入stty -a,就顯示stty的設(shè)備清單,下列中:^h(退格鍵)是刪除字符:

  gtxa%

  speed 9600 bau;

  rows=35; columns=80; ypixel =9; xpixels=0;

  eucw 1:0:0:0, scrw 1:0:0:0

  intr=^c;quit=^│; erase=^?;kill=^u

  eof=^d; eol+^; eo12=;swtch=;

  start=^d; stop =^s;susp=^z;dsusp=^y;

  rprnt=^r; flush =^o; werase=^w; lnext =^V;

  parenb-parodd cs-cstopb hupcl cread-clocal -loolk -

  crtscts-parext

  -ingbrk btkint ignpar-parmrk-inpck istrip -inncr -

  igncr icrnl-iucle

  ixon-ixany-ixoff imaxbel

  isig icanon-xcase echo echoe echok-echonl-noflsh

  -tostop echoctl -echoprt echoke -defecho -flusho -

  pendin inxten

  opost-olcuc onler -onocr -ofill-ofdel

  1.5.1.12查看文件尾

  若要查看文件尾,鍵入tail , 顯示出文件的***后10行(缺省情況),下例顯示了/etc/lp/system文件尾:

  gtxa% /usr/bin/tail /etc/lp/system

  #

  # Kepler:-: s5: -:n:10:-:-:SVR4.0 OS

  # fubar:-bsd:10:n-:-:BSD OS

  # Galialeo:-:s5:-30:10-:-:

  # # # # #

  billboard-:bsd:-:n:10:-:-:

  homeboyl-:s5:-:n:10-:-:

  regal:-:s5:-:n:10-:-:

  mrplod:-:s5:-:n:10:-:-:

  gtxa%

  缺省時,head和tail命令顯示10行,可靠用-n任項(xiàng)來控制顯示行數(shù),用你要顯示的行數(shù)代替n。例如:要顯示***后20行, 可鍵入tail -20 。

  注意:tail命令最多能顯示4096字節(jié)(大約400行)。

  1.5.1.13查看文件頭

  若要查看文件頭,可鍵入head這時顯示出頭10行

  下例中顯示/etc/password文件:

  gtxa% /usr/bin/head /etc/pased

  rood:0:1:0000-Admin(0000):/:sbin/sh

  daemon:1:1:0000-Admin(0000):/:

  bin:2:2:0000-Admin(0000):/var/adm:

  sys:x:3:3:0000-Admin(0000):/:

  adm:x:4:4:0000-Admin(0000):/var/adm:

  lp:x:71:8:0000-lp(0000):/usr/spool/lp:

  smtp:x:0:0:mail daemon user:/:

  uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp:

  nuucp:x:9:9:0000-

  uucp(0000):/var/spool/uucppublic:/usr/lib/uucp/uucico

  listen:x:37:4:Network Admin:/usr/net/nls:

  gtxa%

  1.5.1.14改變文件的所有權(quán)和許可權(quán)

  用戶的許多問題可能是由文件的所有權(quán)和許可權(quán)問題產(chǎn)生的,用ls命令可查看文件的所有權(quán)和許可權(quán),如果要改變它們,可用:chown、chmod和chgrp命令。

  *改變文件所有權(quán)

  你必須擁有一個文件或目錄(或者你是超級用戶)你才能成為屬主

  1>;鍵入ls -1 。文件的屬主顯示在第三列中

  2>;進(jìn)入超級用戶

  3>;鍵入chown . 所有權(quán)按賦予指定的新屬主文件。

  gtxa% ls -1 quest

  -rw-r--r--1fred staff 6023 Aug5 12:06 quest

  gtxa% su

  Password:

  # chown ignarz quest

  # ls-1 quest

  -rw-r--r--lignatzataff6023 Aug5 12:06 quest

  #

  更詳細(xì)的介紹請參見第10章。

  * 改變文件的許可權(quán)

  表1.5列出的設(shè)置文件許可權(quán)的8進(jìn)制值。可以用三個這樣的數(shù)來分別設(shè)置屬主、組和其它用戶的許可權(quán)。例如:644 說明屬主有讀/寫權(quán)限,同組用戶和其它用戶有只讀權(quán)限。

  表1.5 文件權(quán)限的八進(jìn)制值

  值 說明

  0 無權(quán)限

  1 只可執(zhí)行

  2 只可寫

  3 可寫、可執(zhí)行

  4 只讀

  5 可讀、可執(zhí)行

  6 可讀、可寫

  7 可讀、寫、執(zhí)行

  1>;鍵入ls -1 。列表顯示出文件當(dāng)前的權(quán)限。

  2>;鍵入chmod 。改變文件的權(quán)限變?yōu)槟阒付ǖ闹怠?

  注意:可以用元字符(如* ?)替換文件名,或與它們一起使用來更改多個文件或一個目錄中所有文件的權(quán)限。

  下例中,將一個文件權(quán)從666改為644。

  gtxa% ls - 1 quest

  -rw-rw-rw-lignatzstaff 6023 Aug5 12:06 quest

  gtxa% chmod 644 quest

  gtxa%ls -1 quest

  -rw-r--r--lignatzstaff6023 Aug5 12:06 quest

  gtxa%

  1.5.1.15改變文件組

  若要改變文件組,鍵入chgrp 。改變指定文件的組ID

  $ls -lg junk

  -rw-r--r--l other 0 Oct 31 14:49 junk

  $chgrp 10 junk

  $ls -lg junk

  -rw-r--r--l ataff 0 Oct 31 14:49 junk

  $

  組ID號在Group數(shù)據(jù)庫或本地/etc/group文件中定義, 關(guān)于組的詳細(xì)信息請參見第7章。

  1.5.1.16設(shè)置或顯示系統(tǒng)環(huán)境

  shell使用shell初始化文件中給出的一組說明來維護(hù)環(huán)境,用戶也可以直接發(fā)命令給shell來修改shell從環(huán)境變量中得到有關(guān)環(huán)境的信息。Solaris系統(tǒng)軟件提供7個缺省的環(huán)境變量。

  *PSI:定義shell提示符。Bourne和Korn shell的缺省提示符是$。C shell的缺省提示符是%,任何shell中root的缺省提示符皆是#。用戶可以在.profile,.login 或.cshrc 文件中下義不同的shell提示符。

  *HOME:定義用戶主目錄的******路徑。作為注冊進(jìn)程的一部分,自動定義HOME的缺省值,并且設(shè)置為/etc/passwd 文件中說明的注冊目錄。當(dāng)鍵入cd命令且無參數(shù)時,shell轉(zhuǎn)到HOME 變量所確定的目錄之下。

  *LOGNAME:定義用戶的注冊名。作為注冊進(jìn)程的一部分,LOGNAME的缺省值被自動定義且設(shè)置為/etc/passwd文件中說明的注冊名。

  *PATH:列出一組目錄。當(dāng)用戶敲入命令后,shell 按順序從這些目錄中查找要執(zhí)行的程序。如果一個命令所在的目錄不在該查找路徑中,則用戶必須鍵入該命令的全部路徑。做為注冊進(jìn)程的一部分,PATH的缺省值是按.profile(Bourne和Korn shell)或.cshrc(C shell)文件中的說明設(shè)置。查找路徑的順序是非常重要的。當(dāng)同名的命令在不同的目錄存在時,執(zhí)行的是******個找到的命令。例如:假設(shè)PATH(以Bourne 和Korn shell方式)定義為PATH =/bin:/usr/bin/:usr/sbin:$HOME/bin,在usr/bin和/home/jean/bin目錄中均有名為sample的程序,當(dāng)用戶不鍵入路徑,而只是鍵入sample命令時,則執(zhí)行/usr/bin目錄中的sample程序。

  其它環(huán)境變量包括:

  *LPDEST:設(shè)置用戶的缺省打印機(jī)

  *OPENWINHOME:設(shè)置Open Wimdows可執(zhí)行碼的路徑

  *DESKSET:設(shè)置DESKSET的可執(zhí)碼的路徑

  *LANG:設(shè)置本地語言,可能值是:english、japanese、German、French、Swedish和Italian等

  *HZ:設(shè)置Borne和Korn shell的歷史

  *TZ:設(shè)置時區(qū)

  *SHELL:設(shè)置make,vi或其它工具所使用的缺省shell

  *MAIL:告訴shell到哪去查找新的郵件

  *MANSECTS:設(shè)置手冊的有效章節(jié)

  用戶和系統(tǒng)管理員可另外定義自己使用的環(huán)境變量,當(dāng)用戶從shell命令中定義環(huán)境變量時,只要用戶不退出shell,則定義的環(huán)境變量就一直起作用。退shell,則不再起作用。可將“******”環(huán)境變量存在.profile、.login或.cshrc文件中,定義環(huán)境變量的語法依不同的shell而不同。

  1.5.1.17定義Bourne和Korn shell環(huán)境變量

  若要定義Bourne和Korn shell環(huán)境變量,鍵入=;export .

  $HZ=100;export HZ

  $

  1.5.1.18定義C shell環(huán)境變量

  若定義C shell 環(huán)境變量,鍵入setenv .

  %setenv DISLAY rogue:0

  %

  1.5.1.19顯示環(huán)境變量的設(shè)置

  若要顯示出當(dāng)前的環(huán)境變量設(shè)置,鍵入env。

  $env

  HOME=/home/irving

  HZ=100

  LOGNAME=irving

  MAIL=/var/mail/irving

  MANSECTS=\1:1m:1c:1f:1s:1b;2\3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3w:3b:9:4:5:7:8

  PATH=/usr/bin

  SHELL=/bin/sh

  TERM=sun

  TZ=ESTS5EDT

  $

  1.5.1.20使用PATH變量

  PATH環(huán)境變量是非常重要的。當(dāng)用戶執(zhí)行一個帶有全路徑名的命令,shell按給定的全路徑名去查找命令,當(dāng)用戶只給出命令名時,shell就按PATH環(huán)境變量給定的路徑順序去查找目錄,若在某一目錄中找到該命令時,就執(zhí)行它。

  缺省的根PATH(sbin:/usr/sbin:/usr/bin:/etc)是由系統(tǒng)設(shè)置的,但許多用戶還在上面添加一些別的命令目錄,用戶的許多問題,如有關(guān)設(shè)置環(huán)境使用命令或工具的不正確版本等,常常是由于路徑設(shè)置不正確所產(chǎn)生的。

  1.5.1.21設(shè)置Bourne和Korn shell路徑

  Bourne與Korn shell的路徑是在用戶的$HOME/.profile 文件中如下設(shè)置的:

  PATH=.:/usr/bin:/$HOME/bin

  1.5.1.22設(shè)置C shell路徑

  C shell的路徑是在用戶的$HOME/.cshrc 文件如下設(shè)置的:

  set path=(./usr/bin $ home/bin)

  更詳細(xì)說明請參閱有關(guān)手冊和第10章。

  1.5.2使用管理工具

  管理工具是Open Windows的一個具有圖形用戶接口的工具。它用來管理主機(jī)系統(tǒng)和/etc下的17個數(shù)據(jù)庫。使用這一管理工具可以管理用戶和組,可以管理NIS+數(shù)據(jù)庫和本地/etc目錄下的文件。

  第2章、基本OS命令

  本章將介紹:查找用戶信息、查找環(huán)境信息、創(chuàng)建和編輯文件、命令組合和輸出定向、使用手冊、查找硬盤信息 。

  本章解釋基本的操作系統(tǒng)命令,提供查找有關(guān)用戶和系統(tǒng)環(huán)境信息的方法,同時講述建立和編輯文件、命令組合、輸入重定向,顯示手冊以及查尋基本磁盤信息的各種方法。

  2.1查找用戶信息

  在管理系統(tǒng)時,經(jīng)常需要知道誰在使用系統(tǒng)及他們在做些什么。本節(jié)描述了解用戶信息的命令:who、finger、rusers -1、whodo、id等。

  2.1.1確定系統(tǒng)中有誰注冊

  (who、finger、rusers -1、whodo、id)可以使用上述四個命令之中的一個來發(fā)現(xiàn)誰注冊進(jìn)入系統(tǒng)。每個命令還顯示各種不同附加信息。

  2.1.1.1使用who命令

  who命令顯示注冊進(jìn)入系統(tǒng)的用戶名單,注冊的tty端口,以及日期和時間,如果某用戶是遠(yuǎn)程注冊的,那么本命令還顯示該用戶的遠(yuǎn)程系統(tǒng)名,使用who命令的方法是:鍵入who。

  在下例中,用戶irving是遠(yuǎn)程注冊的,用戶ignatz是系統(tǒng)gtxa 的本地用戶。

  gtxa% who

  irving pts/1 Oct 31 14:33(elm)

  ignatz console Oct 31 12:22

  gtxa%

  2.1.1.2使用finger命令

  finger命令顯示注冊進(jìn)入系統(tǒng)的用戶注冊名,同時顯示用戶全名(取名/etc/passwd文件對應(yīng)項(xiàng)的information域),tty端口,星期幾,注冊時間,如果是遠(yuǎn)程注冊的用戶,還顯示遠(yuǎn)程系統(tǒng)名。使用finger命令的方法是:鍵入finger

  在這個例子里,用戶winsor從系統(tǒng)castle遠(yuǎn)程注冊

  gtxa%flogin @openet

  openet%finger

  Login Name TTY Idle When Where

  Winsor Janice Winsor pts/0 11 Thu 09:59 castle

  gtxa%

  2.1.1.3使用rusers -1命令

  rusers -1(遠(yuǎn)程用戶注冊)命令,顯示從遠(yuǎn)程系統(tǒng)注冊的用戶名清單,同時顯示用戶注冊的系統(tǒng)名,tty端口,日期,登錄時間以及空閑時間(idle time)。如果主機(jī)不空閑,那么***后一列不顯示,使用本命令的方法是:鍵入rusers-1后再回車。

  gtxa%rusers -1

  Sending Broadcast for rusersd protocol version 3...

  Sending Broadcast for rusersd protocol version 2...

  jah caps:consloe Mar 3 13:03 22:03

  amber facehole: console Mar 2 07:40

  sebree ondine: consloe Mar 2 10:35 14

  tut cairo: consloe Mar 2 16:48

  jrt cairo: ttyp5 Mar 2 16:20 47:54(gap)

  ramseyis mowthelawn: consloe Mar 2 16:33 28

  ramseyis mowthelawn: ttpy6 Mar 3 14:20 25:14

  (:0.0)

  (More logins not shown)

  gtxa%

  2.1.1.4使用whodo命令

  whodo命令顯示日期、時間和系統(tǒng)名。它為每一個注冊的用戶顯示設(shè)備名、UID、注冊時間以及一個與此UID相聯(lián)系的活動進(jìn)程表。此表的內(nèi)容包含設(shè)備名、PID、使用的CPU時間(分、秒)以及進(jìn)程名。

  鍵入Whodo,可以看到誰注冊了,以及注冊者在做什么。

  gtxa%whodo

  Tue Mar 12 15:483 1992

  SunOs

  tty09 men 8:51

  tty09 28158 0:9sh

  tty52 bdr 15:23

  tty52 21688 0:05sh

  tty52 22788 0:01whodo

  tty52 22017 0:03vi

  tty52 22549 0:01sh

  2.1.2檢查用戶的用戶號和組號(id命令)

  使用id命令可以顯示注冊用戶的用戶id和組id號,當(dāng)用戶不能訪問他們認(rèn)為屬于自己的文件時,使用這些信息來查找錯原因,據(jù)此信息也可知道用戶所屬的組。使用id命令時,用戶先注冊,然后鍵入id命令。如果uid和uid與出現(xiàn)問題的文件的uid或gid不匹配,就需要改變文件的屬主或組,或者將用戶加入相應(yīng)的組中。詳見第5章。

  gtxa%id

  uid=6693(winsor)gid=10(staff)

  gtxa%su

  Password:

  #id

  uid=0(rood) gid=1(other)

  #

  2.2查尋環(huán)境信息

  每個系統(tǒng)都有一個運(yùn)行環(huán)境,這些環(huán)境說明在用戶初始化文件標(biāo)準(zhǔn)shell和Korn shell的.profile或C shell的.cshrc和.login中定義,也可通過shell直接定義環(huán)境變量。環(huán)境變量可以規(guī)定諸如用戶主目錄,注冊名,缺省打印機(jī),電子郵件地址以及訪問Open Windows環(huán)境的路徑。本講講述如何查到環(huán)境變量的設(shè)置。這方面的更詳細(xì)信息請見第8章。

  為了顯示用戶的環(huán)境變量設(shè)置,鍵入env命令。這樣系統(tǒng)地顯示出環(huán)境變更的設(shè)備清單,關(guān)于環(huán)境變量的缺省設(shè)置值及如何設(shè)置環(huán)境變量,請見第1章的有關(guān)內(nèi)容。

  gtxa%env

  HOME=/

  PATH=:/home/ignatz:/usr/bin:

  /home/ignatz/bin:/bin:/home/bin:/etc:/usr/etc

  LOGNANME=ignatz

  HZ=100

  TZ=PST8PDT

  TERM=sun

  SHELL=/bin/csh

  MAIL=var/mail/ignatz

  PWD=/

  MANSECTS=\1:1m:1c:1f:1s:1b:2:\3:3

  c:3i:3n:3m:3k:3g:3e:3x11:3xt:3w:3b:9:4:5:7:8

  gtxa%

  2.3創(chuàng)建和編輯文件

  本節(jié)描述如何使用cat、touch、cp、mv、Text Editor和vi命令來創(chuàng)建和編輯文件。

  2.3.1使用cat命令

  使用cat命令可創(chuàng)建短文件或附加少量文本信息到一個已存在的文件末尾。用cat命令創(chuàng)建文件可以:

  1、鍵入cat ;

  2、錄入文本內(nèi)容;

  3、鍵入回車;

  4、鍵入Control-D。

  文本被存盤,shell提示符重新出現(xiàn)。

  用cat命令將文本附加到已存在的文件上可以:

  1、鍵入cat ;

  2、錄入內(nèi)容;

  3、鍵入回車;

  4、鍵入Control-D。

  文體被存盤,shell提示符重新出現(xiàn)。

  2.3.2使用touch命令

  touch命令將每個文件的訪問和改動時間設(shè)為當(dāng)前時間,如果文件不存在,就創(chuàng)建一個新文件。可以用touch命令創(chuàng)建一個空文件來檢查允許權(quán)和屬主,或創(chuàng)建一個文件用于以后錄入文本。

  要創(chuàng)建一個空文件,只需鍵入touch 這樣一個新的空文件就創(chuàng)建出來了,如果此文件已存在,那么文件的修改時間就變?yōu)楫?dāng)前的日期和時間。

  gtxa%ls -1 junk

  junk: No such file of directory

  gtxa%touch junk

  gtxa%ls -1 junk

  -rw-r--r--livringstaff 0 Sep 11 15:06 junk

  gtxa%

  2.3.3文件拷貝(cp)或改名(mv)

  可以通過一對一已存在的文件進(jìn)行拷貝或改名來創(chuàng)建一個新文件。

  拷貝已存在的文件的方法是:鍵入cp ,這樣就得到了原文件的拷貝,而且保留了原來的文件。

  mv

  原文件被改名,原名文件就不再存在。

  gtxa%mv quest /tmp/quest。old

  gtxa%

  2.3.4文本編輯器的使用

  可以使用Open Windows的文體編輯來創(chuàng)建和編輯文件。然而普通用戶在使用文本編輯器來編輯具有根允許權(quán)限(root pemissions )的文件時可能會出現(xiàn)一些問題。

  進(jìn)入Open Windows工作區(qū)的主菜單中選擇programs,再在programs菜單中選擇Editor來打開文體編輯器,也可以在命令行鍵入:textedit &來打開文體編輯器。打開之后,顯示一個文本編輯器窗口。進(jìn)行編輯時,可使用鍵盤上Cut、Copy、Paste、Undo鍵來加快文本的編輯速度。

  2.3.5 vi的使用

  全屏幕編輯器vi,通常是由系統(tǒng)管理員編輯文本文件。有專門的一些書講述vi使用法。本節(jié)僅提供其中***常用的編輯命令供用戶參考。只需鍵入 vi 。就可啟動vi,如果文件不存在,那么就打開一個新文件,當(dāng)存入內(nèi)容時,此新文件就創(chuàng)建出來,如果文件已經(jīng)存在,則在啟動完vi以后,就在屏幕上顯示此文件的開頭一部分內(nèi)容。

  表2.1一些基本的vi命令

  功能命令

  不存盤退出:qi

  存盤:w

  存后退出:wq

  存后退出ZZ

  左移一字符h

  右移一字符i

  上移一行k

  下移一行j

  移到文件尾G

  插入文本(插入方式)v(文本)ESC

  在光標(biāo)后附加文本a(文本)ESC

  在行尾附加文本A(文本)ESC

  如何退出命令方式ESC

  刪行dd

  刪字符x

  刪詞dw

  在上一行開始加入新文本O

  在下一行開始加入新文本o

  拷貝一行到緩沖區(qū)Y

  將緩沖區(qū)內(nèi)容置于當(dāng)前光標(biāo)之前P

  將緩沖區(qū)內(nèi)容置于當(dāng)前光標(biāo)之后p

  2.4命令組合及輸出重新定向

  SunOS 5.0系統(tǒng)允許以多種方法組合命令,本節(jié)講述命令組合的三種方法。

  2.4.1在同一命令行里鍵入多個命令

  在命令之間用分號(;隔開,就可以在同一命令行中鍵入多個命令,例如,可以用cd /usr/bin;ls命令先轉(zhuǎn)到一個目錄中,再列出此目錄中的目錄和文件,另外一個例子是為Bourne shell設(shè)定環(huán)境變量再輸出(export)該變量。

  PATH=。:/usr/bin:$HOME/;export PATH

  2.4.2輸出重新定向(<>

  除非另外說明,命令結(jié)果通常顯示在屏幕上,使用重新定向符(“<”和“>;”),可以將輸出結(jié)果重新定向,例如:將結(jié)果存入一個文件而不是將它顯示在屏幕上,只需使用重新定向符“>;”,指示shell將內(nèi)容放入一個文件,下面的例子中,date命令的輸出被重新定向到Sample.file文件中:

  gtxa%date >; samle.file

  gtxa%

  下面是Sample.file的內(nèi)容:

  gtxa%more sample.file

  Tue May 26 13:26:59 PDT 1992

  gtxa%

  也可以重新定向輸入。例如,將一個文件的內(nèi)容郵件寄到用戶ignatz@gtxa,鍵入mail igzatz@gtxa < report.file,report.file文件就通過電子郵件發(fā)給ignatz@gtxa。

  2.4.3組合命令(|)

  使用管道操作符(|)來聯(lián)結(jié)兩個或更多的命令,管道操作符把前一命令的輸出作為后一命令的輸入。有許多方法可以將命令用管道線組合起來,本節(jié)只舉兩例:

  鍵入man cat│lp再回車,可以打印cat(1)手冊。上述手冊就不顯示在屏幕上,而是將輸出內(nèi)容傳給lp命令,使之在缺省打印機(jī)上打印出來。

  將ps -ef命令用管道(|)與grep命令聯(lián)結(jié)起來,可以在進(jìn)程表中找出某個命令對應(yīng)的過程,輸出結(jié)果顯示在屏幕上。例如,顯示Open Windows的進(jìn)程信息:

  gtxa%ps -e│grep openwin

  260 ? 0:00 openwin

  gtxa%

  如果想要打印上述信息,可以另加管道命令(|lp )于上述命令之后:

  gtxa%ps-ef │grep openwin │lp

  request id is castle─51(request id is cstle ─51

  (standard input)

  gtxa%

  2.5使用手冊

  SunOS 5.x提供聯(lián)機(jī)參考手冊,手冊被分為不同的節(jié)(section),同一類型的命令組成一節(jié)。例如,大多數(shù)用戶命令歸并為(1)節(jié),系統(tǒng)管理歸并為(IM)節(jié)。手冊可以存放在本地系統(tǒng)上,也可以在服務(wù)器上,本節(jié)描述如何顯示手冊,及如何找到某條命令在哪一節(jié)。

  2.5.1顯示手冊(man)

  顯示手冊,只需鍵入man ,手冊頁即顯示出來。

  gtxa%man grep

  grep(1) USER COMMANDS grep(1)

  NAME

  grep -search a file for a pattern

  SYNOPSIS

  grep [-bchilnsvw] limited -expression

  ...

  2.5.2找命令節(jié)號(whatis、man)

  有些命令的名字可以出現(xiàn)在幾個章節(jié)中,此時可以使用whatis找到命令在手冊中的節(jié)號(section number)。

  注意:僅當(dāng)使用了cat man來命令建立手冊之后whatis命令才起作用。在超級用戶狀態(tài)下鍵入#cat man 可以建立手冊頁,其中是欲建立的節(jié)號。

  依下列步驟可以找到手冊的節(jié)號:

  1、 鍵入whatis 。本命令手冊的******行顯示出來,此行中含有該命令手冊的節(jié)號。

  2、鍵入man -s 再回車,則顯示手冊頁。

  gtxa%whatis chown

  chown chown(1) -change owner of file

  chown chown(1b) -change owner

  chown chown(1m) -change owner

  chown chown(2) -change owner and group of a file

  gtxa%man -s2 chown

  chown(2) SYSTEM CALLS chown(2)

  NAME

  chown, lchown, fchown-change owner and group of a file

  SYNOPSIS

  # include

  # include

  int chown(const char * path, uid-t owner, gid-t group);

  int chown(const char * path, uid-t owner, gid-t group);

  int fchown(int fildes, udi─towner, gid─t group);

  DESCRIPTION

  chown()sets the owner ID and group ID of the file specified by path or feferenced ty the open file descriptor fields to owner and group respectively. if owner or group is specified as-1, chown() does not change the corresponding ID of the file. ...

  2.6查閱磁盤信息

  下面的命令可用來查磁盤使用信息,并指出某文件系統(tǒng)是本地的UFS還是遠(yuǎn)程的(nfs)。

  2.6.1顯示磁盤空間的信息(df -k)

  Solaris中的df命令,當(dāng)不加參數(shù)使用時, 輸出結(jié)果與以前的df命令不同。df加上-k選擇項(xiàng),可以按SunOS 4.x中的格式來顯示磁盤信息。鍵入df -k顯示文件系統(tǒng)名,總字節(jié)數(shù),已使用的字節(jié)數(shù),剩余字節(jié)數(shù),已經(jīng)使用的百分比,以及安裝點(diǎn)。

  gtxa%df -k

  /dev/dsk/c0t0d0s0 30383 19926 7427 73% /

  /dev/dsk/c0t0d0s6 189683 66503 104220 39% /usr

  /proc 0 0 0 0% /proc

  fd 0 0 0 0% /dev/fd

  swap 44268 12 44256 0% /tmp

  /dev/dsk/c0t0d0s7 331953 116133 182630 39% /opt

  /dev/dsk/c0t3d0s7 189858 24293 146585 14% /export/home

  openetpid146) 0 0 0 0% /nt

  openetpid146) 0 0 0 0% /home

  ....

  2.6.2判別某文件系統(tǒng)是否為本地文件系統(tǒng)(df)

  鍵入df 可以查出某文件系統(tǒng)是本地文件系統(tǒng)還是遠(yuǎn)程安裝的網(wǎng)絡(luò)文件系統(tǒng)(nfs)。與指定的文件系統(tǒng)相應(yīng)的磁盤格式信息(包括磁盤位置或安裝點(diǎn))也將顯示出來。

  在下例中,文件系統(tǒng)是nfs文件系統(tǒng)。

  gtxa%df /home/ignatz

  bigriver:export/home/ignatz 5388980 399435 85647 82%/tmp-mmt/home/ignatz

  gtxa%

  在下例中,文件系統(tǒng)在本地硬盤上

  #df /

  /dev/dsk c0t0d0s0 30383 11885 15468 43% /

  2.6.3找出某種類型已安裝的文件系統(tǒng)(df -F)

  若欲顯示同一類型的所有已安裝文件系統(tǒng),可使用-F選擇項(xiàng),后接文件系統(tǒng)類型。***常用的文件系統(tǒng)結(jié)構(gòu)是本地文件系統(tǒng)ufs 和網(wǎng)絡(luò)文件系統(tǒng)nfs。鍵入df -F 可列出所有特定類型的已安裝文件系統(tǒng)。下例中,顯示所有已安裝的nfs文件系統(tǒng):

  gtxa%df -F nfs

  /net (cinderella: (pid153):0 blocks-1 files

  /usr/dist( cinderellapil53)):1276248 block.-1 files

  /home (cinderella pid153): 0 block-1 files

  /usr/man (ocak: /export/man) : 272934 blocks-1 files

  gtxa%

  在下例中,顯示已安裝的ufs(本地)文件系統(tǒng)。

  cinderella%df ─F ufs

  / (/dev/dsk/c0t0d0so): 36992 blcoks 13558 files

  /usr (/dev/dsk/cotodod6): 274346 blocks 94403 files

  /export/home/cinderella (/dev/dsk/cotddos7): 379670 blocks 96046 files

  cinderell%

  在下列中,顯示已安裝的臨時文件系統(tǒng)信息

  cinerella%df ─F tmpfs

  /tmp (swap): 88528 block 3156 files

  注: 由于交換區(qū)文件系統(tǒng)(swapfs)從不安裝,故不可用df命令顯示之。

  第3章、設(shè)備管理

  本章主要介紹:磁帶的使用、軟盤的使用、磁盤管理、服務(wù)訪問機(jī)制、建立雙向調(diào)制解調(diào)器

  本章描述如何使用磁帶和軟盤拷貝文件,而如何備份和恢復(fù)整個文件系統(tǒng)是第四章的內(nèi)容,第四章還講述磁帶設(shè)備名和用來管理磁盤命令,介紹有關(guān)管理終端、調(diào)制解調(diào)器及其它使用SunOS 5.x系統(tǒng)軟件的網(wǎng)絡(luò)設(shè)備的服務(wù)訪問機(jī)制(SAF) ─提供為打印服務(wù)器和打印客戶啟動端口管理器、向系統(tǒng)中加入與Hayes兼容的調(diào)制解調(diào)器的步驟,第六章中介紹如何管理打印機(jī)。

  3.1磁帶的使用

  本節(jié)講述磁帶設(shè)備命名約定、讀寫盒式磁帶的命令、以及如何使用tar和cpio命令對帶存取文件。

  tar和cpio命令可將文件或文件系統(tǒng)拷入磁帶,按照拷貝靈活性和精度的要求可以決定選用哪個命令。

  tar命令將文件和目錄樹拷入單個磁帶,注意: SunOS 5.x的tar命令可以存取特殊文件(塊設(shè)備,字符設(shè)備文件fifo文件)但SunOS 4.x的tar命令則不可存取這類文件,cpio命令的可移植性則好些。

  cpio命令用于拷貝需使用多卷磁帶的任何文件、 特殊文件或文件系統(tǒng),也可以用于將SunOS 5.x系統(tǒng)中的文件拷貝到SunOS 4.x系統(tǒng)中,cpio命令比tar 命令更為******地將數(shù)據(jù)裝入磁帶,而讀出時又可跳過磁帶上的壞區(qū),cpio命令還提供了寫文件時不同格式頭(tar,ustar,crc,doc,bar)的選擇,以保證不同類型系統(tǒng)之間的可移植性。

  由于tar和cpio命令使用原始設(shè)備(raw device), 故不用在使用之前對磁帶格式化或創(chuàng)建新的文件系統(tǒng),使用的磁帶驅(qū)動器和設(shè)備名取決于硬件及系統(tǒng)配置。

  3.1.1磁帶設(shè)備的命名習(xí)慣

  磁帶設(shè)備命名習(xí)慣采用邏輯的─而非物理的設(shè)備名,磁帶機(jī)依控制器類型分為兩類:

  ?;Xylogics472類,1/2英寸裝于機(jī)架上的(頂部裝入)對卷(reel to reel)式驅(qū)動器,(每個控制器***多帶4個驅(qū)動器) 。

  ?;SCSI類,1/4英寸盒式帶,1/2英寸前部裝入對卷式,及4mm或8mm螺旋掃描驅(qū)動器,(每個控制***多帶8個驅(qū)動器)。

  在/dev/rmt子目錄中,有******一組磁帶設(shè)備文件,它們支持不同的輸出密度,通常可按圖3.1來規(guī)定磁帶機(jī)設(shè)備。

  /dev/rmt/XAn

  Optional

  No-Rrwind

  Optional n no-rewind;

  Density omit for rewind

  l low

  Drive m medium

  0 h high

  1 u ultra

  2

  3

  4

  n

  圖3.1 磁帶機(jī)設(shè)備名

  后面三節(jié)講述驅(qū)動器號、密度選擇及不倒帶選擇。

  3.1.1.1使用缺省密度規(guī)定驅(qū)動器號

  通常磁帶驅(qū)動器是通過其邏輯單元號來指定的,其單元號由0至n,如果不指定密度,則驅(qū)動器依磁帶優(yōu)先密度(通常指它支持的******密度)寫。

  指明******個驅(qū)動器,可使用:/dev/rmt/0

  指明第二個驅(qū)動器,可使用:/dev/rmt/1

  注意:多數(shù)設(shè)備名的序列號從0開始,所以,當(dāng)使用******磁帶或目標(biāo)時,其號碼為0而不是1。

  3.1.1.2為磁帶機(jī)指定密度

  有時會遇到某系統(tǒng)的磁帶機(jī)只支持某種密度,這時若拷貝磁帶,則需指定一個以此密度寫的設(shè)備名,使用下列規(guī)則:

  /dev/rmt/

  表3.1列出了驅(qū)動單元和密度符號,例如,指明******個(0號)驅(qū)動器使用中密度的原始磁帶機(jī),使用:

  /dev/rmt/0m

  表3.1 磁帶設(shè)備名中的驅(qū)動器單元和密度符號

  設(shè)備名 =/dev/rmt/

  磁帶驅(qū)動器號(數(shù)字),0-n,與控制器類型無關(guān)

  密度(字符),取決于控制器和驅(qū)動器類型

  null 缺省,優(yōu)先(******)密度

  l 低密

  m 中密

  h 高密

  u 極高密(ultra)

  3.1.1.3指定"不倒帶"選項(xiàng)

  命令執(zhí)行后,除非將"不倒帶"的選項(xiàng)作為設(shè)備名的一部分,否則磁帶機(jī)將自動倒帶,指定"不倒帶"選項(xiàng),只需在設(shè)備名之尾加上"n"字。如:/dev/rmt/0mn

  3.1.1.4不同磁帶控制器和介質(zhì)的設(shè)備名縮寫

  一個系統(tǒng)中,可以同時有SCSI和非SCST磁帶機(jī),SCSI控制器至多可帶8個SCSI磁帶機(jī), 非SCSI控制器至多可帶4個磁帶機(jī),對于一驅(qū)動器號(x),密度符號取決于后面介紹的控制器和驅(qū)動器類型。

  表3.2列出不同磁帶控制器驅(qū)動器和介質(zhì)的設(shè)備縮寫。

  注: 設(shè)備縮寫中驅(qū)動器號不一定為列出的0,可以1、2或3等等,它取決于系統(tǒng)上連有多少磁帶機(jī)。

  表3.2 磁帶控制器/驅(qū)動器和介質(zhì)的設(shè)備名縮寫

  控制器 驅(qū)動器單元 大小 類型 格式 磁道 設(shè)備縮寫

  Xylogics 472 Fujitsu 1/2inch 卷繞式 1600bpi 9 /dev/rmt/0m

  M2444 1/2inch 卷繞式 800bpi 9 /dev/rmt/0h

  SCSI/前插入式 HP 1/2inch 卷繞式 1600bpi 9 /dev/rmt/0m

  6250bpi 9 /dev/rmt/0h

  SCSI Sysgen 1/4inch 盒式 QIC-11 4 /dev/rmt/0l

  QIC-24 4 /dev/rmt/0m

  QIC-11 9 /dev/rmt/0l

  QIC-24 9 /dev/rmt/0m

  Emulex 1/4inch 盒式 QIC-11 4 /dev/rmt/0l

  MT-02 QIC-24 4 /dev/rmt/0m

  QIC-11 9 /dev/rmt/0m

  QIC-24 9 /dev/rmt/0m

  Archive 1/4inch 盒式 QIC-150 18 /dev/rmt/0h

  QIC-15O

  Wangtek 1/4inch 盒式 QIC-150 18 /dev/rmt/0h

  QIC-150

  Desktop 1/4inch 盒式 QIC-150 18 /dev/rmt/oh

  Backup Pack

  3.1.1.5 1/2英寸卷繞式非SCSI內(nèi)接(Rack mounted)磁帶機(jī)

  這類磁帶機(jī),無論是Tapemaster還是Xylogics472控制器,其設(shè)備名/dev/rmt/XA 中選擇都基于表3.3中的密度項(xiàng)。

  表3.3 Rack-mounted 1/2英寸磁帶機(jī)的指定密度

  符 號 密度

  null 缺省******密度(6250bpi非壓縮)

  1800 bpi

  m1600 bpi

  h6250 bpi

  u6250 bpi,壓縮

  若省去密度符號,那么就依磁帶的***高密度寫,且不壓縮。

  3.1.1.6 1/4英寸SCSI盒式和1/2英寸前部裝入的卷繞式磁帶機(jī)

  對于這這類磁帶機(jī),其設(shè)備名(/dev/rmt/XA)中表示密度的A項(xiàng)基于表3.4。

  表3.4 SCSI磁帶機(jī)的指定格式和密度

  字符 密度(1/4英寸盒式) 密度(1/2英寸前部裝入對卷式)

  null 缺省******密度 缺省***高密度

  l QIC-11格式 800bpi

  m QIC-24格式 1600bpi

  l QIC-150 6250bpi

  u 保留 保留

  對于1/4英寸盒式帶,密度是由寫入數(shù)據(jù)的格式----QIC決定的,QIC-11和QIC-24 格式磁道上每英寸約寫1000字節(jié),QIC-150的密度要高些,60Mb 1/4 英寸盒式磁帶機(jī)的優(yōu)選密度是QIC-24,150Mb 1/4英寸盒式磁帶則為QIC-150。150Mb 的磁帶機(jī)只能按QIC-150格式寫,不可以按QIC-24或QIC-11格式寫,格式的選擇僅可同時可依QIC-24和QIC-11寫的磁帶機(jī)才有意義。

  3.1.1.7 螺線掃描磁帶機(jī)

  螺線掃描磁帶機(jī)(例如: Exabyte 8mm 或 Wang/DAT 4mm)是特殊的SCSI磁帶機(jī),它們僅依指定密度寫,因此,通常只需通過磁帶機(jī)號來指定它們,例如:

  /dev/rmt/0

  3.1.2讀寫磁帶的命令

  下面介紹一些讀寫磁帶的命令

  3.1.2.1拉緊磁帶

  如果讀磁帶時出錯,則可以拉緊(retnsion)磁帶帶清掃磁帶機(jī),再重讀一次。

  gtxa%mt -f /dev/rmt/1 retension

  gtxa%

  3.1.2.2倒帶

  鍵入mt -f /dev/rmt/ rewind

  指定的n號磁帶機(jī)倒帶。下例中,對/dev/rmt/1進(jìn)行倒帶:

  gtxa%mt –f /dev/rmt/1 rewind

  gtxa%

  3.1.2.3列出磁帶機(jī)狀態(tài)

  鍵入mt –f /dev/rmt/ status則可顯示磁帶機(jī)狀態(tài)

  此例顯示磁帶機(jī)/dev/rmt/1中無磁帶:

  gtxa% mt -f /dev/rmt/1 status

  /dev/rmt/1:no tape loaded or dri e offline

  gtxa%

  在此例中,顯示/dev/rmt/<1>;的狀態(tài):

  gtxa%mt –f /dev/rmt/1 status

  Archive QIC-150 tape drive:

  sense key(0x6)=nuit attention residual=0 retries

  file no=0 block no=0

  gtxa%

  3.2 磁帶與軟盤操作

  3.2.1 tar命令

  下面幾節(jié)描述如何使用tar命令將文件拷入磁帶,并從磁帶上列出文件,增加文件和讀出文件。

  3.2.1.1向磁帶寫文件(tar)

  依下列步驟向磁帶寫文件:

  1、 進(jìn)入含有欲拷文件的目錄;

  2、 插入有寫權(quán)限的磁帶到磁帶機(jī)中;

  3、 鍵入tar cvf /dev/rmt/

  注意: 使用c選項(xiàng)寫帶,將破壞磁帶上原有文件,如果欲保護(hù)磁帶上原有文件,則需使用后面講述的"r"選擇項(xiàng)來附加文件。

  c選項(xiàng)表示拷貝(copy)指定的文件,v選項(xiàng)(verbose)表示在拷貝過程中顯示文件信息,f選項(xiàng)(files)后面加上磁帶設(shè)備名,指定文件向何處拷貝,被指定的文件拷貝到磁帶上,覆蓋磁帶上原有文件。

  注: 可以使用元字符(?和*)作為文件名的一部分。例如,為了拷貝所有具有.doc后綴的文件,在文件名部分鍵入*.doc即可,如果指定文件名部分是一目錄名,那么此目錄及其所有子目錄均遞歸地拷入帶中。

  4、 自磁帶機(jī)中取出磁帶,填寫標(biāo)簽。

  在下面的例子中,將兩個文件拷入0號磁帶機(jī)中的磁帶

  gtxa%cd /home/winsor

  gtxa%ls evaluation*

  evaluation. doc evaluation. doc. backup

  gtxa%tar cvf /dev/rmt/0 evaluation*

  a evaluation. doc 86 blocks

  a evaluation. doc backup 84 blocks

  gtxa%

  3.2.1.2列出磁帶上的文件(tar)

  依下列步驟列出磁帶上的文件:

  1、 將磁帶插入磁帶機(jī);

  2、 鍵入tar tvf ./dev/rmt/

  t選項(xiàng)(table)表示將指定文件列出,v選項(xiàng)(vevbose)表示在列文件時仿ls -l的格式顯示文件信息,f選項(xiàng)(files)表示在此選項(xiàng)后的磁帶機(jī)設(shè)備名表示文件所在設(shè)備。

  在下列中顯示0號磁帶機(jī)中所放磁帶的內(nèi)容

  gtxa% tar tvf /dev/rmt/0

  rm-rm-rm-6693/10 44032 Apr 23 14:54 1991 evaluation. doc

  rm-rm-rm-6693/10 44008 Apr 23 14:57 1991 evaluation. doc. backup

  gtxa%

  從左向右,上面信息的******列顯示文件存取權(quán)限,第二列顯示文件的屬主與屬組,第三列顯示文件字節(jié)數(shù),第四、五、六、七列是文件***后修改的月、日、時間和年號,***后一列是文件名。

  3.2.1.3向磁帶上增加文件(tar)

  依下列步驟可以向磁帶上拷入文件而不破壞磁帶原來內(nèi)容:

  1、 進(jìn)入含拷貝文件的子目錄;

  2、 將具有寫權(quán)限的磁帶插入磁帶機(jī);

  3、 鍵入tar rvf /dev/rmt/ ......

  則指定文件被拷入指定磁帶中;

  注:可以使用元字符(?和*)作為文件各的一部分。例如,拷貝所有具有.doc后綴的文件,只需在指定文件名部分鍵入*.doc即可。

  4、 自磁帶機(jī)中取出磁帶,填寫標(biāo)簽。

  下例中,向0號磁帶機(jī)中的磁帶上增加文件:

  gtxa%cd /home/winsor

  gtxa%tar rvf /dev/rmt/0 junk

  a junk 1 blocks

  gtxa% tar tvf /dev/rmt/0

  rm-rm-rm-6693/10 44032 Apr 23 14:54 1991 evaluation. doc

  rm-rm-rm-6693/10 44008 Apr 23 14:57 1991 evaluation. doc. backup

  rm-rm-rm-6693/1018 Dec 10 11:36 1991 junk

  gtxa%

  tar命令的使用n選項(xiàng)(不倒帶),可以讓用戶多次使用tar命令順序向磁帶上拷文件,例如:拷文件后不倒帶,下次使用此磁帶拷貝時,文件就寫在前次拷貝的文件后面。

  3.2.1.4從磁帶中析取文件(tar)

  1、 進(jìn)入欲存文件的子目錄;

  2、 將磁帶插入磁帶機(jī);

  3、 鍵入tar xvf /dev/rmt/

  磁帶上所有的文件都拷入當(dāng)前目錄。

  此例中,0號磁帶機(jī)中磁帶內(nèi)容全部被拷貝出來:

  gtxa%cd /home/winsor/Evaluations

  gtxa%tar xvf /dev/rmt/0

  x evaluation.doc,44032 bytes,86 tape blocks

  x evaluation.dos.backup,43008 bytes,84 tape blocks

  gtxa%

  自磁帶中析取個別文件,只需鍵入tar xvf /dev/vmt/ ......指定文件則從磁帶中拷貝出,并放入當(dāng)前目錄,此例中前綴是evaluation文件自0號磁帶機(jī)的磁帶中拷貝出:

  gtxa%cd /home/winsor/Eealuations

  gtxa%tar xvf /dev/rmt/0 evaluation *

  x evaluation.doc, 44032 bytes, 86 tape blocks

  x evaluation.dos, backup, 43008 bytes, 84 tape blocks

  gtxa%

  下面步驟表示如何自磁帶中析取整個子目錄:

  1、 進(jìn)入欲放文件的目錄,如果拷入的子目錄已存在,那么,應(yīng)進(jìn)入該子目錄的父目錄中,而且應(yīng)保證原子目錄中的內(nèi)容可以覆蓋掉,例如,將磁帶中的目錄Book拷入/home/winsor/Book中,應(yīng)鍵入cd /home/sinsor; tar xvf /dev/rmt/Book,若原先就進(jìn)入/home/winsor/Book中,則拷入內(nèi)容則存于/home/winsor/Book/Book中。

  2、 鍵入tar xvf /dev/rmt/ 則此目錄與其所有子目錄遞歸地自磁帶上拷出。

  注意: 自磁帶中拷出的文件名就是所存的文檔文件名,如果對文件名不清楚,可以先列出磁帶上的文件名,步驟詳見"列出磁帶上的文件(tar)"或tar(1)手冊。

  3.2.2cpio命令

  使用cpio命令建立磁帶文檔時,它自標(biāo)準(zhǔn)輸入設(shè)備取得一串文件或路徑名, 然后將它們寫到標(biāo)準(zhǔn)輸出設(shè)備上,輸出通常反向到文件或設(shè)備,后面講述怎樣使用cpio命令將文件拷入盒式磁帶,列出盒式磁帶文件,及析取磁帶上的某個文件子集。

  3.2.2.1將某目錄下的所有文件拷入磁帶(cpio)

  依下列步驟將某目錄下的所有文件拷入磁帶:

  1、 將具有寫權(quán)限的磁帶插入磁帶機(jī);

  2、 鍵入ls l cpio –oc >; /dev/rmt/

  當(dāng)目錄中所有文件則拷入指定磁帶機(jī)中的磁帶內(nèi),覆蓋磁帶上已有文件,顯示拷貝總塊數(shù);

  3、 取出磁帶,填好標(biāo)簽。

  在下列中,/home.winsor/TOI目錄的文件均拷入0號磁帶機(jī)內(nèi)的磁帶。

  gtxa%cd /home/winsor/TOI

  gtxa%ls -1 cpio –oc >; /dev/rmt/0

  31 blocks

  gtxa%

  3.2.2.2列出磁帶上的文件(cpio)

  依下列步驟:

  1、 將磁帶插入磁帶機(jī);

  2、 鍵入cpio -civt < /dev/rmt/

  其中i選項(xiàng)自磁帶讀入(in)內(nèi)容,v選項(xiàng)仿ls -l格式列出文件;t選項(xiàng)對指定磁帶機(jī)中的磁帶內(nèi)容列表。

  注意: cpio命令列表使用的時間與讀整個文檔的時間一樣長,因?yàn)閏pio命令需遍歷整個文檔。

  在本例中,0號磁帶機(jī)中的磁帶有四個文件:

  gtxa%cpio -civt < /dev/rmt/0

  100666 winsor 3895 Feb 24 15:13:02 1992 Boot.chapter

  100666 winsor 3895 Feb 24 15:13:23 1992 Directory.chapter

  100666 winsor 6491 Feb 24 15:13:52 1992 Install.chapter

  100666 winsor 1299 Feb 24 15:14:02 1992 Intro.chapter

  31 biocks

  gtxa%

  ******列是八進(jìn)制表示的存取權(quán)限;第二列顯示文件屬主;第三列列出文件所占字節(jié)數(shù);第四、五、六、七列顯示文件***后改動的月、日、時間和年份;***后一列是文件名。

  3.2.2.3析取磁帶上所有文件(cpio)

  如果(磁帶上)文檔是使用相對路徑名建立的,那么輸入文件在當(dāng)前目錄下, 如果文檔是使用******路徑名建立的,則以相同的******路徑重新生成此文件。

  注意: 使用絕對路徑名來拷貝磁帶文件是危險的,因?yàn)檫@樣會覆蓋文件系統(tǒng)中的原有文件。

  依下列步驟拷貝文件:

  1、 進(jìn)入欲放文件的子目錄;

  2、 將磁帶插入磁帶機(jī);

  3、 鍵入cpio -icv < dev/rmt/

  指定磁帶機(jī)中磁帶上所有文件拷入當(dāng)前目?/div>

  摘自:http://bbs.chinaunix.net/viewthread.php?tid=16504

 
客戶服務(wù) +more
上門服務(wù)
服務(wù)承諾
異地恢復(fù)
收費(fèi)標(biāo)準(zhǔn)
付款方式
疑難解答
服務(wù)特色 +more
·免費(fèi)檢測
·免費(fèi)提供3天備份
·專業(yè)工程師提供服務(wù)
·免費(fèi)清潔送修的介質(zhì)
·數(shù)據(jù)恢復(fù)前報價,客戶確認(rèn)后工程師開始數(shù)據(jù)恢復(fù)
·數(shù)據(jù)恢復(fù)不成功不收費(fèi)
·與客戶簽訂保密協(xié)議,對客戶的數(shù)
 據(jù)嚴(yán)格保密,整個恢復(fù)過程不會對
 客戶的原盤有任何的寫操作,以確
 保原盤的數(shù)據(jù)完全

·免費(fèi)參觀恢復(fù)全過程

·工程師在線免費(fèi)咨詢

·專業(yè)工程師提供服務(wù)
服務(wù)器數(shù)據(jù)恢復(fù) 點(diǎn)擊這里給我發(fā)消

息
數(shù)據(jù)庫修復(fù)
點(diǎn)擊這里給我發(fā)

消息
硬盤數(shù)據(jù)恢復(fù)
點(diǎn)擊這里給我發(fā)消

息
主站蜘蛛池模板: 亚洲熟女综合色一区二区三区 | 亚洲高清日韩精品第一区| 一区二区三区视频在线观看| 国产情侣一区二区| 在线观看精品一区| 日本一区二区三区日本免费 | 夜夜爽一区二区三区精品| 最新欧美精品一区二区三区| 69福利视频一区二区| 亚洲欧美一区二区三区日产| 在线视频亚洲一区| 国模丽丽啪啪一区二区| 久久AAAA片一区二区| 人体内射精一区二区三区| 日韩一区二区三区四区不卡| 国产成人一区二区在线不卡| 一区二区三区午夜| 无码欧精品亚洲日韩一区| 91福利一区二区| 午夜精品一区二区三区在线视 | 亚洲成AV人片一区二区| 亚洲无码一区二区三区| 亚洲A∨精品一区二区三区| 国产成人精品视频一区二区不卡| 国产福利91精品一区二区| 国产成人免费一区二区三区| 91视频国产一区| 成人无码一区二区三区| 日韩精品一区二区亚洲AV观看| 亚洲av无一区二区三区| 免费无码毛片一区二区APP| 国产A∨国片精品一区二区| 一区二区无码免费视频网站| 国产午夜精品一区二区三区嫩草 | 国产亚洲无线码一区二区| 国产日韩精品一区二区在线观看| 国产精品美女一区二区视频| 鲁丝丝国产一区二区| 亚洲色偷偷偷网站色偷一区| 免费一区二区三区| 在线视频一区二区三区三区不卡|