Unix程序設計環境課件:第1章 Unix基礎_第1頁
Unix程序設計環境課件:第1章 Unix基礎_第2頁
Unix程序設計環境課件:第1章 Unix基礎_第3頁
Unix程序設計環境課件:第1章 Unix基礎_第4頁
Unix程序設計環境課件:第1章 Unix基礎_第5頁
已閱讀5頁,還剩82頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Unix程序設計環境教學目的Unix是一個歷史悠久、功能強大的操作系統。Unix在計算機操作系統發展歷史上具有里程碑作用。Unix是計算機專業教學和學術研究的首選操作系統之一。Unix廣泛應用于各種計算機、工作站和服務器上。學習和研究Unix,對從事計算機和其他相關專業工作具有實際意義。通過本課程,熟悉Unix知識和文化,培養Unix專業人才。課程教材課程教材:Unix編程環境 , 美Brian W. Kernigham等著,陳向群等譯,機械工業出版社,1999.10參考教材:1.Unix 環境高級編程, 美W.Richard Stevens著,尤晉元等譯,機械工業出版社,2000.22.實用

2、Unix教程,美 Steve Moritsugu著,安捷等譯,清華大學出版社,2001.7教學內容第1章 Unix基礎第2章 shell使用第3章 文件系統第4章 shell編程初步第5章 過濾程序及編程第6章 shell編程進階第1章 Unix基礎 1.1 Unix歷史和現狀1.2 Linux介紹1.3 Unix基本操作1.4 文件和常用命令1.5 目錄和常用命令什么是Unix?Unix系統組成Unix系統主要特性Unix系統發展歷史和現狀 1.1 Unix歷史和現狀1.1.1 什么是Unix?Unix是一個操作系統的“家族”AIX IBM公司HP-UX HP公司SOLARIS SUN公司I

3、RIX SGI公司LINUX 類Unix.Unix是一個支持多任務的操作系統同時運行多個程序一個繁忙的系統在同一時間內能運行上百個甚至上千個程序Unix是一個支持多用戶的操作系統在同一時間內,許多用戶能同時使用同一個計算機系統Unix是為網絡而設計的操作系統被設計來連接其他的計算機系統,并允許人們在網絡上工作1.1.2 Unix系統組成內核(Kernel): Unix系統的核心部分,包括硬件管理,進程管理,多用戶管理,內部命令等shell: shell命令解釋程序(用戶和Unix內核的接口)實用程序(Utilities): Unix系統提供的各類軟件工具,如文本編輯器,編譯程序,開發工具等應用

4、程序(Applications):用戶開發的各種應用程序內核shell實用程序應用程序1.1.3 Unix 系統主要特性 強大的shell功能 完善的安全機制具備網絡特性用一個簡單的shell命令可以完成其它操作系統需要花費時間編寫程序來實現的功能。把一些shell命令組合在一就起可以完成別的操作系統需要花費幾條或幾十條命令才能完成的功能。Unix基于多用戶的環境,具有較好的安全機制,包括用戶的管理、系統結構的保護以及文件的使用權限的管理等。在現代Unix系統中,強調內部通信機制以及外部設備的易接入性,增加的對TCP/IP協議的支持。使網絡連接更加容易、更加敏捷。1.1.3 Unix 系統主要

5、特性用簡單的設計技術和方法去完成較復雜、較全面的功能支持多用戶多任務的運行文件系統可以隨意裝卸具備良好的開放性和可移植性Unix系統中,所采用的最基本的設計思想是將復雜的問題進行分解,用最簡單、最基本的功能模塊的堆積、聯合、組裝來解決復雜的問題。多用戶分時多任務調度管理策略。支持一個用戶多種請求,支持幾百個用戶同時進行數據處理。 文件系統是可以裁剪的,可根據需要構筑獨特的文件系統并對其應用于某個硬件設備,使用時加載、用完后卸載。 同時具備良好的安全性可移植性是指軟件系統在不同的硬件平臺上通過簡單的重新編譯即可運行,將操作系統從一個平臺轉移到另一個平臺仍然能按其自身的方式運行的能力。開放性是指操

6、作系統提供開放的編程模式,使用戶能夠根據領域的特性優化(增加或修改)操作系統的支撐機制。Unix系統發展歷史Unix系統版本演化過程Unix系統主要商業版本Unix系統發展現狀1.1.4 Unix系統發展歷史和現狀Unix系統發展歷史1969年,Ken Thompson 建議AT&T Bell實驗室在Multics 操作系統的基礎上開始開發Unix系統。1971年, AT&T Unix Version 1運行在DEC公司PDP-11/20計算機上。1973年,Dennis Ritchie用C語言重寫了Unix系統的核心部分,產生了AT&T Unix Version 3。1974年,Thomps

7、on和Ritchie基于AT&T Unix Version 5在ACM上發表了其經典論文Unix分時系統。1976年,AT&T Unix Version 6出現,被廣泛應用于世界各地大學中。1979年,Bell實驗室發布了著名的AT&T Unix Version 7,被認為是現代Unix系統的起點。Unix系統發展歷史1982年,AT&T修改Unix版本命名方法,推出了第一個Unix商用版本Unix System V1。1983年,因為Unix的成就,ACM將圖靈獎授予Thompson和Ritchie。1980年代后期,由USL(Unix Systems Laboratories)負責開發各種

8、面向工業界的Unix System V 各種派生版本,相繼推出了Unix System V2和V3版本。1989年,UI(Unix國際組織)發布了Unix標準版本 System V4。1990年,發布了Unix System V Release 4.2 (SRV4.2)Unix系統發展歷史1970年代末到1980年代初,加州大學Berkeley分校就對Unix系統進行了系統的研究和擴展,產生了BSD(Berkeley Software Distribution)Unix版本。在AT&T Unix Version 7的基礎上,開發出了BSD Unix版本,包括BSD 3和BSD 4。BSD Un

9、ix版本增加了C shell、 vi編輯器、 Pascal語言、 網絡支持、虛擬內存,以及GUI工具。BSD Unix版本對UNIX最重要的貢獻之一是TCP/IP。BSD Unix有8個主要的發行版本中包含了TCP/IP:BSD4.1c、BSD4.2、BSD4.3、BSD4.3-Tahoe、BSD4.3-Reno、BSDNet2、BSD4.4以及 BSD4.4-lite。Unix系統發展歷史在Unix兩大系列的基礎上,一些其他軟件公司也開始為其自己的小型機或工作站提供商業版本的UNIX系統。有些基于System V版本,如IBM,HP公司。有些基于BSD版本,如Sun公司。Linux是一種自由

10、和開放源碼的類Unix操作系統,最初是由芬蘭人Linus Torvalds出于個人愛好編寫的,1991年9月Linux的第1個版本出現。目前,Linux可安裝在各種計算機硬件設備中,從手機、平板電腦、路由器和視頻游戲控制臺,到臺式計算機、大型機和超級計算機。Unix系統版本演化過程Unix系統主要商業版本軟件公司Unix類型硬件平臺IBMAIXIBM RS/6000系列計算機HPHP/UXHP7000/HP9000系列計算機,HP VISBALIZE B/C/J-Class工作站SUNSolarisSun SPARC和Ultra SPARC工作站, Sun Enterprise系列計算機SCO

11、 OpenServer,Unix WareIntel系列CPU芯片SGIIrixIntel系列CPU芯片LinuxLinuxIntel系列CPU芯片Unix系統發展現狀目前Windows系列的操作系統已經占據了桌面計算機統治地位。但是在高端工作站和網絡服務器領域,Unix系統仍然具有無可替代的作用。作為Unix系統的一種替代產品,Linux已經成功安裝在各種平臺上。Linux系統可作為Unix系統普及和延伸的平臺。Linux發行版本安裝Linux系統1.2 Linux介紹1.2.1 Linux發行版本1、Arch Linux是朝向輕量及簡單的Linux發行版本,是面向開發者角度定義,而非面向用

12、戶角度思考。2、RedHat Linux最早的Linux發行版本之一,擁有較高的市場占有率。3、Debian Linux迄今為止最遵循GNU規范的Linux系統。目前最好的Linux發行版本之一,擁有超過14,000的軟件安裝包。4、Turbo LinuxTurbo Linux是拓林思公司發行的Linux版本,已在日本和中國取得了巨大成功,在美國也有一定業績。5、SuSE LinuxSuSE是一家德國公司, SuSE Linux在歐洲市場擁有第一的市場占有率,具有界面美觀、操作簡易的特點。6、國產Linux:中科紅旗Linux,中標普華Linux 。Linux發行版本安裝統計1.2.2 安裝L

13、inux系統方案一:安裝一個獨立的Linux系統,如SuSE方案二:在一臺計算機上安裝Linux系統,其它計算機通過putty軟件登錄該計算機方案三:用CD或U盤直接啟動Live CD Linux, 如Slax方案四:在Windows環境中安裝:虛擬機+Linux方案五:在Windows環境中安裝cygwin-一個在windows平臺上運行的Unix模擬環境方案一 安裝SuSe LinuxSuSe Linux桌面配置界面SuSe Linux打印機配置界面SuSe Linux終端窗口SuSe Linux終端窗口方案二 利用Putty遠程登錄Unix普通用戶登錄方案三 Slax LiveCD Li

14、nuxSlax LiveCD Linux瀏覽器1.3 Unix基本操作Unix用戶登錄Unix在Unix系統中工作退出UnixUnix關機和重新啟動Unix程序員手冊1.3.1 Unix用戶Unix系統中有兩類用戶: 1) root用戶:命令提示符“#” 超級用戶,系統的擁有者,在系統中有且只有一個root用戶,它可以在系統中完成任何操作。 2) 普通用戶:命令提示符“$” 系統可以創建許多普通用戶,并為其指定相應的權限,使其有限地使用系統。Unix系統用戶信息文件: /etc/passwd創建Unix用戶創建新用戶: # useradd d /home/user001 user001改變用戶

15、目錄屬主: # chown user001:other /home/user001為用戶設置口令: # passwd user001刪除用戶 # userdel user0011.3.2登錄Unix用戶登錄步驟: 1) 輸入用戶名,系統根據該用戶名來識別用戶; 2) 輸入口令,該口令是用戶自己選擇的一個字符串,是登錄系統時識別用戶的唯一根據。登錄方法(1) 直接登錄Unix:login: johnpassword: *You have mail$登錄方法(2) 在Unix系統中,切換成另一用戶:$su切換成root用戶password: $su l user切換成另一用戶password: 1

16、.3.3在Unix系統中工作$ date Thr Sep 31 14:10:25 EDT 2000$1.3.4退出Unix退出Unix:3種方法$ exit 或$ 或$ logout退出后系統顯示:login: 退出Unix$ date Wed Sep 23 10:15:25 EDT 2009$ exitlogin:超級用戶登錄普通用戶登錄1.3.5 Unix關機和重新啟動1.shutdown命令2.halt命令3.reboot命令1. Shutdown命令 Shutdown命令是用來關閉Unix操作系統的。關閉系統或者是重新啟動系統的操作只有管理員才有權執行。Unix系統在工作時會使用部分內

17、存作緩存區,如果內存上的數據還沒有寫入硬盤,就把電源拔掉,內存就會丟失數據,如果這些數據是和系統本身有關的,那么會對系統造成極大的傷害。所以在關機之前執行三次同步指令sync,可以用分號“;”來把指令合并在一起執行,如:# sync;sync;sync舉 例# shutdown (內置2分鐘關機,并發送消息用戶)# shutdown h now (系統立刻關機)# shutdown r now (系統立刻重啟,相當于reboot)# shutdown h 20:25 (系統會在今天的20:25關機)# shutdown h +10 (系統會在十分鐘后關機)如果在關機之前,要傳送信息給正在機器上

18、的使用者,可以加“-q”的參數,則會輸出系統內置的shutdown信息給使用者,通知他們退出Unix。2. halt命令# halt 輸入halt命令,系統就會開始進入關閉過程,其效果和shutdown h now是完全一樣的。3.reboot命令# reboot 輸入reboot命令后,系統會將一個一個的服務都關閉掉,然后再關閉文件系統和硬件,接著機器開始重新自檢,重新引導,再次進入Unix系統。1.3.6 Unix程序員手冊在Unix系統中,一般都有相應的聯機幫助手冊,查閱方法:man 命令名 man 命令名 Unix程序員手冊手冊共分為8個分冊,各分冊用數字1至8表示,在每個分冊中的各項

19、則按字母順序排列。1.命令2.系統調用3.函數4.特殊文件5.文件格式及轉換6.游戲7.宏和語言8.維護Unix程序員手冊舉例:$ man cp = man 1 cp $ man 1 ls$ man 2 open$ man 3 printf $ man 4 tty$ man 5 /etc/passwd 1.4 文件和常用命令Unix文件文件相關命令命令提示符1) root用戶:#2) 普通用戶: $Unix命令文件相關命令目錄相關命令進程管理命令顯示狀態命令磁盤管理命令系統管理命令1.4.1 Unix文件文件: Unix文件是一個字符流,沒有文件結束符。命名規則:文件名組成:字母,數字,下劃線

20、特殊字符可以用,但最好不用。Unix文件類型(1)普通文件(Regular file)文件內容可以是文本或二進制格式數據。(2)目錄文件(Directory file)包含其它文件的名字以及指向與這些文件有關信息的指針。(3)字符特殊文件(Charocter special file)用于系統中的某些類型的設備。(4)塊特殊文件(Block special file)用于系統中的磁盤設備。Unix文件類型(5) 管道文件(FIFO)這種文件用于進程間的通信,有時也將其稱為命名管道。(6)套接字文件(socket)這種文件用于進程間的網絡通信。套接口也可用于在一臺宿主機上的進程之間的非網絡通信。

21、(7)符號連接文件(Symbolic link)這種文件指向另一個文件。 1.4.2文件相關命令ls 文件列表cat 顯示文件 pr 格式化文件cp 拷貝文件mv 移動文件rm 刪除文件wc 計算文件字數grep 查找字符串sort 文件排序tail 顯示文件末尾cmp 比較文件diff 顯示文件差異 ls列表命令$ ls -ltolal 2rwrr 1 you you 19 Sep 31 14:10 junkrwrr 1 you you 22 Sep 31 14:30 test$ls列表命令格式:ls 選項 目錄或文件 常用選項: -a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件; -c

22、 按文件的修改時間排序; -l 用長格式來顯示文件的詳細信息,每個文件一行信息。文件長格式列表$ ls -l類型與權限 鏈接數 文件主 文件組 大小 修改時間 文件名 $ ls -ltolal 2rwrr 1 you you 19 Sep 31 14:10 junkrwrr 1 you you 22 Sep 31 14:30 book$文件類型與存取權限由10個字符,分2部分、4個字段: rw rw r 第一部分:第1個字符表示文件類型。第二部分:第2-10個字符表示存取權限。文件類型第一部分:文件類型由第1個字符(第1個字段)表示。 rw rw r -普通文件 d 目錄文件 b塊設備文件 c

23、字符設備文件存取權限第二部分:存取權限由第2-10個字符(后三個字段)表示。 rw r r 分為三組: (2-4字符):文件主權限 (5-7字符):同組用戶權限 (8-10字符):其它用戶權限4種權限: 禁止r 讀w 寫x 行文件類型與存取權限舉例: - rwx r-x r- 文件類型:-表示普通文件。第1組:rwx表示文件主可讀、可寫、可執行第2組:r-x表示同組用戶可讀、不可寫、可執行第3組:r-表示其它用戶可讀、不可寫、不可執行$ cat 文件名$ cat文件名1文件名2 $文件內容文件1 內容文件2 內容 cat顯示文件命令$ pr文件名 $ pr文件名1文件名2 $文件內容文件1 內

24、容文件2 內容 pr格式顯示文件命令$ cp 選項 源文件或目錄 目標文件或目錄 選項: -a 該選項常在復制目錄時使用,它保留鏈接、文件屬性,并遞歸地復制目錄。 -f 如果目標文件或目錄已存在,就覆蓋它,并且不做提示。 -i 與f選項正好相反,它在覆蓋時,會讓用戶回答“Y”來確認 -p 使用該選項,復制文件時將保留修改時間和存取權限。 -r 若給出的源是一個目錄,那么cp將遞歸復制該目錄下所有的子目錄和文件,不過這要求目標也是一個目錄名。 cp拷貝文件命令舉例:如果源是文件名,目標是目錄名的話,那么使用cp命令可以指定多個源文件名。$ cp a.txt b.txt /usr/home/use

25、r01 該命令將把a.txt和b.txt文件復制到/usr/home/usr01目錄中。 cp拷貝文件命令$ mv 選項 源文件或目錄 目標文件或目錄 選項: -f 如果操作要覆蓋某已有的目標文件時不給任何提示。 -i 交互式的操作,如果操作要覆蓋某已有的目標文件時會詢問用戶是否覆蓋。 mv文件移動(換名)命令參數類型與mv命令的執行效果:第一參數(源) 第二個參數(目標) 結果 文件名 文件名 將源文件名改為目標文件名 文件名 目錄名 將文件移動到目標目錄 目錄名 目錄名(存在) 源目錄移動到目標目錄 目錄名 目錄名(不存在) 源目錄換名 目錄名文件名出錯mv文件移動(換名)命令$ rm 選

26、項 文件名或目錄名 選項: -f 在刪除過程中不給任何指示,直接刪除。 -r 指示rm將參數中列出的全部目錄和子目錄都遞歸地刪除。 -i 交互式的刪除,每個文件在刪除時都給出提示。 rm刪除文件命令$ wc -lwc 文件名-l 計算文件行數-w 計算文件字數-c 計算文件字符數舉例:$ wc poem846263poem$ wc計算文件的行/字/字符數grep是最為常用字符查詢命令,可用固定字符串來查詢,也可用正則表達式來查詢。格式:$grep 選項 字符串或正則表達式 文件列表 grep模式查找命令舉例:$ grep 字符串 文件名 查找帶該字符串的行$ grep v 字符串 文件名 查找不帶該字符串的行$grep root /etc/passwd 查找帶root的行grep模式查找命令$sort 文件名按ASCII字符排序$sort r 文件名按ASCII字符反向排序$sort n 文件名按數字排序$sort nr 文件名按數字反向排序$sort f 文件名大小寫字符混合排序$sort +n 文件名從第n+1個字段開始排序 sort排序命令舉例:$ ls -s | sort -n$ ls -s | sort -nr$ ls -l | sort +4nr注:“|”

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論