7.1 文件系統簡介函數
7.1.1 文件spa
文件類型:普通文件、目錄文件、連接文件、設備文件、管道文件索引
文件權限:r w xip
訪問權限:文件全部者、文件全部者同組用戶、其餘用戶it
7.1.2 索引節點pip
7.1.3 文件系統sed
樹形層次結構系統,文件最終都歸結到根目錄/上select
7.2 基於文件描述符的IO操做權限
7.2.1文件的建立、打開與關閉程序
1 文件的建立 create
2 文件的打開 open
(文件操做不能保證都是成功的,所以文件操做都要進行檢測,若是錯誤要終止程序)
3 文件的關閉 close
7.2.2 文件的讀寫操做 write read
7.2.3 文件的定位 lseek
7.3 文件的其餘操做
7.3.1 文件屬性的修改
1 修改文件權限
改變文件全部者 chown fchown
(對文件進行操做時,調用chown使用該文件的路徑名,調用fchown時使用該文件打開時的文件描述符)
僅root用戶能夠使用
改變文件的訪問權限 chmod fchmod
2 修改文件的其餘屬性
重命名 rename
修改文件長度 truncate ftruncate
7.3.2 文件的其餘操做
1 dup 和 dup2 複製文件描述符
2 stat、fstat、lstat
stat:經過路徑名訪問文件,fstat經過文件描述符訪問文件
stat訪問一個符號鏈接時,追蹤到鏈接的末端的文件。lstat函數只返回連接自己的信息
3 fsync 將保存在緩衝區內的要寫入文件描述符fd的全部數據刷新到要寫入的文件中
4 flock 上鎖或解鎖
5 fcntl 查看或設置文件的一些相關信息
6 select 處理多個文件描述符的有效手段
7.4 特殊文件的操做
7.4.1 目錄文件的操做
1目錄文件的建立刪除 mkdir rmdir
2文件的打開關閉 opendir closedir
3目錄文件的讀取 readdir 讀取一個目錄文件的系統調用
7.4.2 連接文件的操做
1 硬連接操做
建立連接 link (只有root才能建立一個指向目錄文件的新的連接文件)
移除連接 unlink(將索引節點中的連接計數器減1)
2 符號連接
建立 symlink
打開並讀取名字: readlink
7.4.3 管道文件的操做
pipe一般用來與fork\dup2\execve等函數配合使用爲被重定向IO的其餘程序建立管道
7.4.4 設備文件
/dev