《linux c程式設計指南》學習手記4

2021-09-22 13:26:22 字數 1630 閱讀 6828

7.1 檔案系統簡介

7.1.1 檔案

檔案許可權:r w x

訪問許可權:檔案所有者、檔案所有者同組使用者、其他使用者

7.1.2 索引節點

7.1.3 檔案系統

樹形層次結構系統,檔案最終都歸結到根目錄/上

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

《linux c程式設計指南》學習手記4

7.1 檔案系統簡介 7.1.1 檔案 檔案許可權 r w x 訪問許可權 檔案所有者 檔案所有者同組使用者 其他使用者 7.1.2 索引節點 7.1.3 檔案系統 樹形層次結構系統,檔案最終都歸結到根目錄 上 7.2 基於檔案描述符的io操作 7.2.1檔案的建立 開啟與關閉 1 檔案的建立 cr...

《linux c程式設計指南》學習手記3

6.3.1 多個程序之間的關係 程序組 getpgrp void 用來返回程序組號 setpgid用來建立乙個新的程序組或將乙個程序加入另乙個已存在的程序組 6.3.2 時間片分配 排程策略和引數 預設 時間片分配 先進先出 輪換規則 優先順序設定 nice 改變程序的動態優先順序 setprior...

《linux c程式設計指南》學習手記1

第一章 c語言基礎 linux概述 虛擬檔案系統vfs 程序通訊機制 管道,訊號 訊息佇列 訊號燈 共享記憶體 第二章 vim與emacs vi 的含義 visual 視覺化。vim vi improve 第三章 gcc編譯器 檢查是否安裝了gcc rpm a gcc 如果沒有安裝 切換到root ...