1. 程式人生 > >Unix系統編程概述

Unix系統編程概述

數據結構 文件復制 顯示 接管 攝像機 網絡 ls -l 機制 和數

1.系統編程的程序模型

用戶輸入數據,計算機中的程序(可運行的一段代碼)對數據進行相應的處理,再在顯示器上輸出結果。

許多鍵盤或顯示器受到一種機制的管理連接到不同的程序。

2操作系統的職責

計算機用操作系統管理所有資源,將不同設備和程序連接起來。操作系統其實是一個特殊

的程序。

操作系統又稱為內核。

3系統資源

處理器:程序有指令構成,處理器是執行指令的硬件設備。

輸入輸出(I/O):程序中的、終端的、硬盤輸入輸出數據,都流經內核。

進程管理:內核中與進程相關的服務有新建一個進程、終止進程、進程調度。

內存:內存空間是用來存放程序和數據。所有程序必須在內存中運行。系統空間是用來容納操作系統的內存空間,容納應用程序的內存空間是用戶空間。

設備:磁帶機,光驅、鼠標、掃描儀和數碼攝像機

計時器:程序工作與時間有關。比如定時觸發

進程間通信:計算機中不同的進程也要相互通信。

網絡:網絡使得不同主機上的進程互相通信

4使用Unix

下列均是Ubuntu系統下的操作

(1)運行顯示時間和日期的程序如下

技術分享圖片

在Ubuntu系統中,運行如下圖,Ubuntu中沒有自帶fortune這個程序,我們按enter鍵後會提示我們如何輸入指令進行安裝,然後只要輸入密碼即可進行安裝。

技術分享圖片

技術分享圖片

5目錄操作

技術分享圖片

(1)查看目錄結構

技術分享圖片

因為我們用戶的主目錄一般在/home目錄中,所以輸入tree只能顯示/home下的目錄樹

輸入tree -L 1 / 是查看/下的第一層目錄

技術分享圖片

輸入tree -Ld 1 / 只顯示目錄

技術分享圖片

(2)ls 列出目錄內容

如:輸入ls /etc 會列出/etc目錄裏面所包含的文件和子目錄

技術分享圖片

輸入ls /會列出根目錄的內容

技術分享圖片

(3)cd 改變當前目錄

當前目錄為自己的主目錄,可以通過cd命令轉到其他目錄

技術分享圖片

如 cd /bin我們可以看到$ 前面已經有變化了

輸入 cd .. 我們可以將目錄轉為上一層目錄,即為根目錄,可見$前面有變化

無論當前目錄是什麽,我們都可以通過cd 這一命令回到用戶的主目錄,見上圖

技術分享圖片

(4)mkdir和rmdir

技術分享圖片

先用cd 回到主目錄

輸入mkdir jokes 這裏mkdir是新建目錄,jokes 是目錄名

輸入rmdir jokes 這裏rmdir 是刪除目錄的命令,但是刪除目錄時,目錄中的文件和子目錄要先被刪除或移走

6文件操作

技術分享圖片

(2)cat,more,less,pg---查看文件的內容

技術分享圖片

區別:

cat可以一下子列出文件的所有內容

當文件的內容比較多,在一屏內顯示不完時,more會更加合適:

顯示一屏後會暫停輸出,這時用戶按空格鍵,more會繼續輸出下一屏。

按enter鍵會顯示下一行,輸入“q”則退出

(3)cp 文件復制

如$ cp language hello world

將文件language復制一份,新的文件名為hello world

rm 文件刪除

如$ rm language hello world

一次刪掉兩個文件language和hello world

技術分享圖片

(4)通過ls -l 命令可以看到文件的所有者和許可權限

技術分享圖片

技術分享圖片

三個權限r:read w:write x:execute

7 Unix的計算器

輸入bc 啟動計算器

技術分享圖片

可以進行上述運算,該計算器可以處理很大的整數

技術分享圖片

技術分享圖片

技術分享圖片

8動手實踐

more的三種用法

$ more filename

$ command | more

$ more < filename

第一種情況,more顯示文件filename的內容;第二種情況,more將command命令的輸出分頁顯示;第三種情況,more從標準輸入獲取要分頁顯示的內容,這時more的標準輸入被重定向到文件filename。

技術分享圖片

技術分享圖片

技術分享圖片

可見這個程序中在顯示24行後會出現白底的more?

後面仍然顯示代碼

技術分享圖片

在列出/bin目錄下的文件時,仍是這種情況

改進more02

技術分享圖片

技術分享圖片

技術分享圖片

按enter鍵後

技術分享圖片

Unix系統的主要結構:內存被分為系統空間和用戶空間,內核和它的數據結構位於系統空間,用戶程序位於用戶空間,用戶通過終端連接到系統,文件存放在磁盤上各種各樣的設備都會被內核直接管理,用戶程序可以通過內核來訪問設備,最後還有網絡連接,用戶可以通過網絡接入系統。

技術分享圖片

Unix系統編程概述