UNIX是一類功能強(qiáng)大的主流操作系統(tǒng)。本書從初學(xué)者的角度介紹了UNIX的系統(tǒng)概念及其命令的使用。闡述的內(nèi)容都是針對初學(xué)者完成日常工作所必需的各個方面,涉及UNIX系統(tǒng)的常用命令、UNIX文件系統(tǒng)、vi編輯器和Emacs編輯器、UNIX通信工具、shell命令和程序開發(fā),以及一些更為深入的UNIX命令。書中還介紹了Linux操作系統(tǒng)以及Bourne Again Shell命令等。本書幫助讀者由淺入深、循序漸進(jìn)地學(xué)習(xí)UNIX,形成清晰的概念,并且避免了直接羅列復(fù)雜的命令格式。
本書從初學(xué)者學(xué)習(xí)UNIX系統(tǒng)概念和使用命令的角度對內(nèi)容加以組織,使讀者可以由簡入繁、逐步遞進(jìn)地學(xué)習(xí)并掌握UNIX的基本概念和使用方法,形成清晰的概念體系。每章最后均有習(xí)題,大多數(shù)章后附有上機(jī)練習(xí),以使讀者鞏固所學(xué)知識。閱讀本書,會有助于讀者獨(dú)立使用UNIX完成絕大多數(shù)日常、例行的工作,并為深入了解UNIX系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。
譯者序
UNIX是當(dāng)今世界上廣泛使用的主流操作系統(tǒng),具有安全可靠、功能強(qiáng)大,開放性、可移植性好,以及對網(wǎng)絡(luò)良好支持等優(yōu)點(diǎn),普遍用于微機(jī)、小型機(jī)、大型機(jī)乃至巨型機(jī)。隨著UNIX的普及,學(xué)習(xí)和使用UNIX的需求越來越高:本書是一本由淺人深介紹UNIX基本概念和使用方法的優(yōu)秀教材。.
作者從初學(xué)者學(xué)習(xí)UNIX系統(tǒng)概念和使用命令的角度對內(nèi)容加以組織,涵蓋了初學(xué)者完成日常工作所必需的各個方面。在介紹了UNIX系統(tǒng)的背景和基本特征之后,書中從易到難地講解了UNIX系統(tǒng)的常用命令、vi編輯器和Emacs編輯器、文件操作、shell命令解釋器、UNIX通信工具,程序開發(fā)工具,以及一些更為深入的UNIX命令。
Amir Afzal在大學(xué)長期從事UNIX系統(tǒng)的教學(xué)工作,本書是作者多年教學(xué)經(jīng)驗(yàn)的總結(jié),具有如下特點(diǎn):
1.本書是按教材形式編寫的,其中的章節(jié)安排和實(shí)例都是作者在其UNIX課程中所使用的。各章的組織架構(gòu)基本相同,首先是內(nèi)容概要,然后通過具體實(shí)例講解基本概念和命令的使用方法。從而使讀者在學(xué)習(xí)本書的同時便于上機(jī)實(shí)踐,得以加深對所學(xué)內(nèi)容的理解。每章最后均有習(xí)題,大多數(shù)章后附有上機(jī)練習(xí),以使讀者鞏固所學(xué)知識。合理的組織使讀者可由簡人繁、逐步遞進(jìn)地學(xué)習(xí)并掌握UNIX的基本概念和使用方法,形成清晰的概念體系。..
2.本書是針對初學(xué)者學(xué)習(xí)UNIX系統(tǒng)的基本概念和命令而寫的,重點(diǎn)放在初學(xué)者常用的基本命令,文件操作及shell編程,省略了很少使用的命令和選項(xiàng),并且避免了直接羅列所有的命令及其繁雜的選項(xiàng)。這種做法有利于讀者快速掌握UNIX的基本概念和命令,并增強(qiáng)讀者進(jìn)一步學(xué)習(xí)UNIX高級課程的信心和興趣。
3.從本書的第四版開始,包含Linux操作系統(tǒng)的命令及其BourneAgainShell(bash)的內(nèi)容,并指出學(xué)習(xí)Linux是學(xué)習(xí)UNIX最方便、最低價的方式。因此,本書的學(xué)習(xí)也使讀者能學(xué)習(xí)和了解Linux及其使用。
4.本書的第五版在vi編輯器的基礎(chǔ)上增加了Emacs編輯器,為編輯器提供了另一種選擇,也給更喜歡Emacs編輯器的讀者提供了方便。讀者可學(xué)習(xí)這兩者中的任何一種,也可同時學(xué)習(xí)兩種、
本書適合作為大專院校相關(guān)專業(yè)UNIX課程的教學(xué)用書或參考書,以及各種UNIX培訓(xùn)班的教材。對于那些在工作中使用UNIX系統(tǒng)的用戶以及進(jìn)行UNIX開發(fā)和編程的人員,也是很好的初級教程和入門性參考讀物。本書完全可滿足廣大讀者學(xué)習(xí)UNIX使用的需求。
本書由武漢大學(xué)汁算機(jī)學(xué)院李石君教授組織翻譯。翻譯工作如下:李石君(前言、第1-10章、附錄A、B、D、E、F);曾平(第11-14章、附錄C)。鄭鵬、郭遠(yuǎn)麗、肖芬、張乃州、田建偉、余偉等人參與了翻譯工作,進(jìn)行了部分書稿的初譯和譯文整理、程序驗(yàn)證等工作,在此一并表示感謝。盡管譯者在翻譯的過程中盡了最大努力,但限于譯者水平,譯文中難免有疏漏和錯誤。歡迎讀者批評指正,并將更正反饋給我們。
前言
UNIX操作系統(tǒng)價格的下降和近期硬件性能的提高推動了UNIX和Linux系統(tǒng)的流行和普及。因此,許多有計(jì)算機(jī)技能但沒有UNIX操作系統(tǒng)經(jīng)驗(yàn)的學(xué)生和新用戶都需要學(xué)習(xí)UNIX。本書正是為這些學(xué)生和新用戶而寫的。.
書中并不介紹操作系統(tǒng)原理,也不是UNIX參考書,而是按教學(xué)方式組織的教材。其目的在于提供一個在課堂和實(shí)驗(yàn)室環(huán)境下教與學(xué)的工具。本書是一本引導(dǎo)讀者的入門書,但本書并不簡單。本書覆蓋了UNIX用戶獨(dú)立完成大部分日常工作所必需的內(nèi)容,也為讀者進(jìn)一步學(xué)習(xí)更高深的課程打下了良好的知識基礎(chǔ),使他們使用UNIX參考書時得心應(yīng)手。
本書主要依據(jù)作者從事UNIX教學(xué)的經(jīng)驗(yàn)編寫,其中的章節(jié)安排和實(shí)例都是作者在講授UNIX課程時使用的。
本書的每一章都較短,需要更多討論的內(nèi)容被分成兩章,每章的格式盡量保持一致。但當(dāng)這種格式不宜表述內(nèi)容時,則加以改換。每一章都從簡要說明概念和主題開始,通過簡單具體的實(shí)例闡明概念或者說明命令的用法。隨后是更詳細(xì)、更復(fù)雜的命令和實(shí)例。每章的最后則是用于復(fù)習(xí)的習(xí)題,并在適當(dāng)或必要的章節(jié)中安排了上機(jī)練習(xí)。
第1章:緒論
本章簡要介紹計(jì)算機(jī)硬件和軟件的功能,解釋計(jì)算機(jī)的基本概念和術(shù)語。詳細(xì)討論軟件的類型并將重點(diǎn)放在系統(tǒng)軟件上,解釋操作系統(tǒng)的重要性并探討其基本功能。
第2章:UNIX操作系統(tǒng)
本章探討UNIX的發(fā)展歷史,討論主要的UNIX版本,說明UNIX系統(tǒng)的一些重要特征。
第3章:UNIX入門
本章介紹怎樣登錄和退出UNIX系統(tǒng)。介紹修改密碼、輸出系統(tǒng)的時間或日期這些簡單的UNIX命令及其應(yīng)用,討論UNIX的登錄過程和UNIX的一些內(nèi)部操作。
第4章:vi編輯器入門
第4章和第6章介紹UNIX操作系統(tǒng)的vi文本編輯器。第4章在簡要討論編輯器之后,引入UNIX系統(tǒng)支持的vi文本編輯器,討論完成簡單的編輯任務(wù)所必需的vi基本命令。第6章通過一些高級vi命令展示vi編輯器的更多編輯功能及其靈活性,并解釋定制vi編輯器的各種方法。
第5章:UNIX文件系統(tǒng)介紹
本章是討論UNIX文件系統(tǒng)和相關(guān)命令兩章中的第1章。具體討論文件和目錄的基本概念以及文件系統(tǒng)的層次樹結(jié)構(gòu),給出文件系統(tǒng)操作的命令。這些命令為第6章將要介紹的編輯器中一些命令的使用打下了基礎(chǔ)。
第6章:vi輯器的高級用法
本章介紹高級vi命令,并解釋定制vi編輯環(huán)境和在vi編輯器中利用緩沖機(jī)制,同時打開多個文件進(jìn)行編輯并執(zhí)行UNIX命令的方式。
第7章:Emacs編輯器
Emacs編輯器可以替代vi編輯器。由于很多UNIX版本都支持并提供vi文本編輯器,因而vi編輯器的使用很重要。但很多UNIX用戶更青睞Emacs編輯器。如果系統(tǒng)上沒有Emacs編輯器,安裝一個Emacs也很容易。本章的目的在于為文本編輯器提供另一種選擇。
本章介紹Emacs編輯器。先解釋基本概念和命令,然后介紹UNIX用戶日常工作必需的Emacs基本命令。前面的章節(jié)中介紹了幫助功能,以便獲取在此沒提到的命令和選項(xiàng)的解釋信息。..
第8章:UNIX文件系統(tǒng)高級操作
. 本章是討論UNIX文件系統(tǒng)和相關(guān)命令的第2章。提供更多的文件操作命令,討論shell的輸入/出重定向操作符,并介紹文件名通配符。
第9章:探索shell
本章介紹shell命令解釋程序及其在UNIX系統(tǒng)中的功能。重點(diǎn)討論shell的特征和功能、shell變量以及shell元字符,還闡明UNIX系統(tǒng)中的啟動文件和進(jìn)程管理。
第10章:UNIX通信
本章集中討論UNIX通信工具。介紹UNIX系統(tǒng)中的電子郵件程序及其可用的命令和選項(xiàng),討論影響電子郵件程序環(huán)境的shell變量及其他變量,并說明如何利用啟動文件來定制電子郵件程序。
第11章:程序開發(fā)
本章介紹程序開發(fā)的要點(diǎn)。討論開發(fā)程序的步驟,通過一個簡單的C++語言程序?qū)嵗,說明從編寫源程序、進(jìn)行編譯到生成可執(zhí)行程序的全過程。
第12章:shell編程
本章集中討論shell編程。介紹shell作為高級解釋性語言的功能,討論shell編程的構(gòu)造和細(xì)節(jié),演示shell程序的創(chuàng)建、調(diào)試和運(yùn)行。
第13章:shell腳本:編寫應(yīng)用程序
在前一章所介紹的命令和概念的基礎(chǔ)上,本章討論更多的shell編程命令和技巧。通過一個簡單的應(yīng)用程序?qū)嵗,說明用shell語言開發(fā)程序的過程。
第14章:告別UNIX
本章給出了其他一些重要的UNIX命令,主要介紹獨(dú)立的命令和主題,這些內(nèi)容出于種種原因而不適合放在前面章節(jié)。磁盤命令、文件操作命令、遠(yuǎn)程計(jì)算命令和系統(tǒng)安全是本章的主要論題。
致謝
如果沒有許多學(xué)術(shù)界和業(yè)界朋友的幫助,本書的第五版是不可能問世的。在此,我逐二向所有為本書得以出版提供幫助的朋友們表示感謝。
感謝參加我教授的C/C++和UNIX課程的同學(xué)們提供建議和反饋信息。
感謝我在Strayer大學(xué)的同事。
感謝我在General Dynamics的同事。
感謝Tom Swanson,我即將出版的另一本書“UNIX Administration Unbounded”的合作者所慷慨付出的時間。
感謝Prentice Hall出版公司的Charles Stewart對我的寫作給予的耐心和長期支持。
Amir Afzal,在喬治華盛頓大學(xué)獲得碩士及博士學(xué)位,美國弗吉尼亞州多所大學(xué)的教授,負(fù)責(zé)講授本科生、研究生的計(jì)算機(jī)和信息技術(shù)課程,在設(shè)計(jì)和開發(fā)實(shí)時計(jì)算機(jī)軟件系統(tǒng)方面積累了大量的實(shí)踐經(jīng)驗(yàn)。本書是作者多年教學(xué)和實(shí)踐經(jīng)驗(yàn)的總結(jié)。
李石君,男,博士,武漢大學(xué)計(jì)算機(jī)學(xué)院教授。2003年在加拿大卡萊頓大學(xué)計(jì)算機(jī)系從事Web信息技術(shù)合作研究和雙語教學(xué)學(xué)習(xí)。國內(nèi)外重要刊物上發(fā)表論文50余篇,其中被SCI檢索6篇、EI檢索12篇、ISTP檢索15篇。編著2本,譯著2本。參加國家自然科學(xué)基金和國家863等多項(xiàng)科研項(xiàng)目。
第1章 緒論
1.1 引言
1.2 計(jì)算機(jī)簡介
1.3 計(jì)算機(jī)硬件
1.4 處理操作
1.5 計(jì)算機(jī)軟件
習(xí)題
第2章 UNIX操作系統(tǒng)
2.1 UNIX操作系統(tǒng):歷史簡介
2.2 其他UNIX系統(tǒng)
2.3 UNIX操作系統(tǒng)概要
2.4 UNIX系統(tǒng)特征
習(xí)題
第3章 UNIX入門
3.1 與UNIX建立連接
3.2 使用一些簡單的UNIX命令
3.3 獲取幫助信息
3.4 更正鍵盤輸入錯誤
3.5 使用shell和系統(tǒng)工具
3.6 登錄過程
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第4章 vi編輯器入門
4.1 什么是編輯器
4.2 vi編輯器
4.3 基本的vi編輯器命令
4.4 存儲緩沖區(qū)
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第5章 UNIX文件系統(tǒng)介紹
5.1 磁盤組織
5.2 UNIX中的文件類型
5.3 目錄詳述
5.4 目錄命令
5.5 顯示文件內(nèi)容
5.6 打印文件內(nèi)容
5.7 刪除文件
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第6章 vi編輯器的高級用法
6.1 更多有關(guān)vi編輯器的知識
6.2 重排文本
6.3 vi操作符的域
6.4 在vi中使用緩沖區(qū)
6.5 光標(biāo)定位鍵
6.6 定制vi編輯器
6.7 其他的vi命令
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第7章 Emacs編輯器
7.1 引言
7.2 啟動Emacs
7.3 Emacs屏幕
7.4 退出Emacs
7.5 Emacs中的幫助信息
7.6 光標(biāo)移動鍵
7.7 刪除文本
7.8 重排文本
7.9 大小寫轉(zhuǎn)換命令
7.10 文件操作
7.11 Emacs緩沖區(qū)
7.12 文件恢復(fù)選項(xiàng)
7.13 搜索和替換
7.14 Emacs窗口
7.15 emaes文件
7.16 命令行選項(xiàng)
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第8章 UNIX文件系統(tǒng)高級操作
8.1 讀文件
8.2 shell重定向
8.3 增強(qiáng)的文件打印功能
8.4 文件操作命令
8.5 文件名替換
8.6 其他文件操作命令
8.7 UNIX的內(nèi)部:文件系統(tǒng)
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第9章 探索shell
9.1 UNIX shell
9.2 shell變量
9.3 其他元字符
9.4 其他UNIX系統(tǒng)工具
9.5 啟動文件
9.6 Korn Shell和Bourne Again Shell
9.7 UNIX進(jìn)程管理
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第10章 UNIX通信
10.1 通信方式
10.2 電子郵件
10.3 mailx輸入模式
10.4 mailx的命令模式
10.5 定制mailx環(huán)境
10.6 與本地系統(tǒng)外的用戶通信
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第11章 程序開發(fā)
11.1 程序開發(fā)
11.2 編程語言
11.3 編程機(jī)制
11.4 一個簡單的C++程序
11.5 UNIX編程跟蹤工具
習(xí)題
上機(jī)練習(xí)
第12章 shell編程
12.1 UNIX shell編程語言簡介
12.2 編寫更多的shell腳本
12.3 探索shell編程基礎(chǔ)
12.4 算術(shù)運(yùn)算
12.5 循環(huán)結(jié)構(gòu)
12.6 調(diào)試shell程序
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第13章 shell腳本:編寫應(yīng)用程序
13.1 編寫應(yīng)用程序
13.2 UNIX內(nèi)核:信號
13.3 對終端的進(jìn)一步討論
13.4 其他命令
13.5 菜單驅(qū)動應(yīng)用程序
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
第14章 告別UNIX
14.1 磁盤空間
14.2 其他UNIX命令
14.3 拼寫錯誤更正
14.4 UNIX系統(tǒng)安全
14.5 使用FTP
14.6 使用壓縮文件
14.7 telnet命令
14.8 遠(yuǎn)程計(jì)算
命令小結(jié)
習(xí)題
上機(jī)練習(xí)
附錄A 命令索引
附錄B 分類命令索引
附錄C 命令小結(jié)
附錄D vi編輯器命令小結(jié)
附錄E Emacs編輯器命令小結(jié)
附錄F ASCⅡ表