linux 系統程式設計1

2021-07-05 06:26:46 字數 1176 閱讀 9510

在linux系統中一切皆檔案,在linux系統中一共有7種檔案型別:1.普通檔案    2.目錄檔案     3.字元裝置檔案    4.塊裝置檔案    5.鏈結檔案     6.管道檔案     7.套接字檔案

開啟/建立乙個檔案

int open(const char *pathname,int flags);

int open(const char *pathname,int flags,mode_t mode);

fd=open();

fd為返回值 是檔案描述符 即file descriptor 是乙個非負整數。

pathname :檔案路徑

mode:新檔案的訪問許可權,只有在o_creat 時才有意義

檔案描述符的分配規則:最小未被占用的

fd一般等於3

0:stdin     標準輸入

1:    stdout    標準輸出

2:  stderr     標準錯誤

檔案建立掩碼  umask();

#include

#include

#include

#include

#include

#include

#include

int main(int argc,char **argv)

int fd;

fd=open(argv[1],o_wronly|o_creat|o_trunc,0777);

if(fd<0)

perror("open()");

return -1;

printf("fd=%d\n",fd);

char *p="hello world";

write(fd,p,strlen(p));

close(fd);

return 0;

Linux系統程式設計 1

1.open與fopen,write與fwrite等等的區別 1 乙個是系統呼叫,乙個是c庫函式 2 前者依賴於linux平台,後者只要有c庫就可以使用。3 前者直接軟中斷到核心態執行,i o操作頻繁,效率不高,後者在程序結束後將虛擬記憶體中的快取通過一次性的i o讀寫儲存到硬碟,效率高。2.檔案建...

Linux系統程式設計(1)

馮諾依曼體系結構 cpu 核心 儲存器 記憶體 外存 輸入裝置 輸出裝置 注 記憶體記憶體小,速度快,成本高,斷電之後丟失資料 外存記憶體大,速度慢,成本低,斷電之後不掉資料。cpu也是能夠儲存少量的資料的,上面存資料的元件 暫存器 訪問速度特別快。馮諾依曼 計算機祖師爺之一 作業系統 os 乙個管...

Linux 系統程式設計

1 i o操作 2 檔案和目錄管理 3 記憶體管理 1 建立匿名記憶體對映 2 對映 dev zero檔案 類unix 作業系統中,dev zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元 null,ascii nul,0x00 其中的乙個典型用法是用它提供的字元流來覆蓋資訊,另乙個常...