Linux檔案操作

2021-07-24 18:36:28 字數 3607 閱讀 9826

1、檔案描述符

stdin_fileno  0  標準輸入

stdout_fileno 1 標準輸出

stderr_fileno 2 標準錯誤

2、系統函式 open() close() 開啟、關閉檔案
//該包含的標頭檔案

#include

#include

#include

#include

int open(const

char* pathname, int flags);

//flags :

int close(int fd);

3、顯示出錯資訊
#include 

#include

if(fd == -1)

4、系統函式 read()、write()讀寫檔案

ssize_t read (int fd,void *buf,size_t count);

//成功則返回讀取的位元組數,讀到eof返回0,失敗返回-1

ssize_t write (int fd,void *buf,size_t count);

//讀檔案的**

int main(int arg, char *args)

else

close(fd);

}return

0;}

//寫檔案的**

int main(int arg, char *args)

else

return

0;}

5、fstat() stat() 的使用
int fstat (int fd, struct stat * buf)

//引數fd必須是用open呼叫返回的有效檔案描述符

int stat (const

char* path, struct stat * buf)

//引數path必須是檔案路徑

struct stat ;

std_mod成員:

s_isreg(m) is it

a regular file?

s_isdir(m) directory?

s_ischr(m) character device?

s_isblk(m) block device?

s_isfifo(m) fifo (named pipe)?

s_islnk(m) symbolic link? (not in posix.1-1996.)

s_issock(m) socket? (not in posix.1-1996.)

//得到檔案狀態**

int main(int arg, char *args)

else

if (s_isdir(buf.st_mode))//判斷檔案是否為目錄

printf("%s size =%d\n", args[1], buf.st_size);//得到檔案大小

close(fd);

}return

0;}

關閉回顯:

char* getpass (const

char *prompt)

//引數prompt為螢幕提示字元

//函式返回值為使用者鍵盤輸入的字串

int main ()

5、c語言庫函式fopen()、fclose()開啟、關閉檔案
file *p fopen (const

char *path,const

char * mode);

//fopen 以mode模式開啟名為path的檔案

//fopen 返回乙個檔案指標

//出現錯誤,fopen返回null,並把errno設定為恰當的值

//mode 說明:r r+ w w+ a a+

int fclose(file* stream);

6、c語言庫函fread()、fwrite()數讀寫檔案
size_t fread(void *ptr,size_t size,size_t nmemb,file * stream);

size_t fwrite(void *ptr,size_t size,size_t nmemb,file * stream);

//引數ptr指向緩衝區儲存或讀取的資料

//引數size 控制記錄大小

//引數nmemb為記錄數

//函式返回讀取或回寫的記錄數

//原則上第二個引數*第三個引數不要大於第乙個引數的buf的大小

//c庫函式讀取檔案的**

int main(int arg, char *args)

else

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

fclose(p);

}return

0;}

//c庫函式讀寫二進位制檔案的**

struct person

;int fwrite(int arg, char *args)

else

return0;}

int fread(int arg, char *args)

else

fclose(p);

}return

0;}

7、行輸入和行輸出
char fgets(char *s,int size,file *stream);

intfputs(const

char *s,filee *stream);

//fgets 從檔案中讀取一行,返回eof代表檔案結束

//fputs 向檔案中寫入一行

8、檔案刪除改名函式
int remove (const

char* pathname);

int rename(const

char* oldpath,const

char *newpath);

9、找到當前目錄
char * getcwd(char *buf,size_t size)

//getcwd函式把當前的工作目錄返回

10、獲得目錄列表
#include 

dir * opendir(const

char * pathname)

//開啟目錄檔案

struct dirent * readdir(dir * dir)

//讀出目錄檔案內容

int closedir(dir * dir)

//關閉目錄檔案

//讀目錄的**

int main(int arg, char *args)

while((dirp = readdir(dp)) != null)//用readdir迴圈讀取目錄內容,讀到目錄尾,迴圈break

closedir(dp);//關閉目錄

return

0;}

linux 檔案操作

1 cat 開啟檔案 cat name.txt 開啟檔案name.txt cat 1.txt 2.txt 開啟2個檔案 cat n name.txt 開啟檔案後顯示行號 2 vi 輸出,刪除,查詢,替換,塊操作 等文字操作 vi 的三種基本工作模式 命令列模式,文字輸入模式,末行模式 命令列模式 不...

Linux 檔案操作

1,查詢檔案 find name 名稱 ls find atime 10 記著有乙個點號 兩邊都有空格,代表當前目錄,如果希望顯示系統的所有大於10天的檔案 可以將 換成 代表根目錄 find mtime n print n天前那天改過的檔案 find mtime n print n天以前改過的檔案...

linux檔案操作

unix檔案操作 讀寫操作 標c檔案讀寫 file 代表乙個開啟的檔案 unix linux的檔案讀寫函式 linux系統中 幾乎一切都是檔案,記憶體 目錄 硬體裝置都可以看成檔案。比如 記憶體 對應目錄 proc pid 目錄 可以用 vi 檢視,也是檔案 裝置 dev tty 鍵盤 顯示器 de...