Linux中文件操作
生活随笔
收集整理的這篇文章主要介紹了
Linux中文件操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在Linux系統(tǒng)中一切皆可以看成是文件,文件又可分為:普通文件、目錄文件、鏈接文件和設備文件。文件描述符(file descriptor)是內(nèi)核為了高效管理已被打開的文件所創(chuàng)建的索引,其是一個非負整數(shù)(通常是小整數(shù)),用于指代被打開的文件,所有執(zhí)行I/O操作的系統(tǒng)調(diào)用都通過文件描述符。程序剛剛啟動的時候,0是標準輸入,1是標準輸出,2是標準錯誤。如果此時去打開一個新的文件,它的文件描述符會是3。POSIX標準要求每次打開文件時(含socket)必須使用當前進程中最小可用的文件描述符號碼,因此,在網(wǎng)絡通信過程中稍不注意就有可能造成串話
struct file {struct list_head f_list; /*所有打開的文件形成一個鏈表*/struct dentry *f_dentry; /*指向相關目錄項的指針*/struct vfsmount *f_vfsmnt; /*指向VFS安裝點的指針*/struct file_operations *f_op; /*指向文件操作表的指針*/mode_t f_mode; /*文件的打開模式*/loff_t f_pos; /*文件的當前位置*/unsigned short f_flags; /*打開文件時所指定的標志*/unsigned short f_count; /*使用該結構的進程數(shù)*/unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;/*預讀標志、要預讀的最多頁面數(shù)、上次預讀后的文件指針、預讀的字節(jié)數(shù)以及預讀的頁面數(shù)*/int f_owner; /* 通過信號進行異步I/O數(shù)據(jù)的傳送*/unsigned int f_uid, f_gid; /*用戶的UID和GID*/int f_error; /*網(wǎng)絡寫操作的錯誤碼*/unsigned long f_version; /*版本號*/void *private_data; /* tty驅(qū)動程序所需 */};
文件描述表 文件表項 i節(jié)點
文件描述表項就是一個結構體
總結
以上是生活随笔為你收集整理的Linux中文件操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux-IO
- 下一篇: linux中的五大查找命令---wher