linux檔案描述符
系統呼叫
作業系統的五大功能之一就是對檔案管理
在現代作業系統中,要利用大量的程式和資料,由於記憶體容量有限,而且不能長期儲存,於是把這些資料以檔案的形式放在外存中,需要的時候再將它調入記憶體,從此就有了檔案系統。負責管理在外存上的檔案,並把訪問和共享、保護等手段提供給使用者。
普通檔案-。計算機使用者和作業系統用於存放資料、程式資訊的檔案,一般都長期地存放在外儲存器中,普通檔案一般又分為文字檔案和二進位制檔案。
目錄檔案d。
裝置檔案。linux把所有的外設都當做檔案來看待,每一種i/o裝置對應乙個裝置檔案並存放在dev目錄中。
管道檔案p。主要用於在程序間傳遞資料,管道是程序間出啊基地資料的「媒介」。某程序資料寫入管道的一端,另乙個程序從管道另一端讀取資料。管道檔案又被稱作為fifo檔案。鏈結檔案l。又稱符號鏈結檔案,鏈結檔案不是通過檔名實現檔案共享的,而是通過鏈結檔案中包含的指向檔案的指標來實現對檔案的訪問。使用鏈結檔案可以訪問普通檔案、目錄檔案和其他檔案。
檔案擁有者可以把檔案的訪問屬性設成3種不同訪問許可權:可讀r、可寫w、可執行 x
檔案又有三個不同級別:檔案擁有者u、所屬的使用者組g、系統裡其他使用者o
當某個程式開啟檔案時,作業系統返回相應的檔案描述符。檔案描述符是乙個正整數,通常乙個程序啟動時,都會開啟三個檔案——標準輸入0、標準輸出1、標準錯誤2
系統呼叫
庫函式write read open closefwrite fread fopen fclose
系統呼叫是指,作業系統提供個使用者程式呼叫的一組「特殊」介面,使用者程式可以通過介面來獲得作業系統核心提供的服務。linux系統中,系統呼叫函式定義在glibc中。
linux的系統呼叫按照功能邏輯大致分為程序控制、程序間通訊、檔案系統控制、系統控制、儲存管理、網路管理、socket控制、使用者管理等幾類。
若要訪問檔案,使用系統呼叫的時候要使用檔案描述符,呼叫函式時使用檔案流
函式定義: int creat(const char pathname, mode_tmode)*
函式說明:pathname指向欲建立的檔案路徑字串
函式定義: *int open(const char pathname, int flags, mode_t mode);
函式定義: *ssize_t read(int fd, void buf, size_t count);
Linux系統程式設計之檔案程式設計
目錄 一 檔案程式設計 1 linux檔案 2 檔案描述符 file descriptor 3 常用api open write read lseek close 1 open 開啟檔案函式 2 close 關閉檔案 3 write 寫檔案 4 read 讀檔案 5 lseek 游標定位 linux...
Linux系統程式設計 檔案 一
llinux作業系統是以檔案為基礎而設計的,llinux的檔案子系統主要用於管理檔案儲存空間的分配,檔案訪問許可權的維護,對檔案的各種操作。使用者可使用命令對檔案進行操作 程式設計師可以使用系統呼叫或c語言的庫函式對檔案進行操作。一般linux發行版本都含有以下目錄 bin boot linux d...
Linux系統程式設計 檔案 四
1.建立 mkdir include include int mkdir const char pathname,mode t mode 執行成功返回0,錯誤返回 1 2.刪除 rmdir include int rmdir const char pathname 執行成功返回0,錯誤返回 1 rm...