首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Linux 文件系統核心:五大文件類型與權限模型深度解析

     編輯:關於C語言

文件本質

Linux 文件 = 有名字的字符流集合,**內部無結構**,字符間關系由應用程序賦予。

五大文件類型

特殊設備文件:/dev/null

寫入其中的數據直接丟棄,相當於「黑洞」刪除操作。

文件權限模型

  • 三類權限:讀 r、寫 w、執行 x
  • 三類用戶:所有者、同組用戶、其他用戶
  • root 用戶擁有所有文件的完整權限

權限表示示例

-rw-r--r--  1 user group 1024 Jan 1 10:00 file.txt
│││││││││
││││││└─ 其他:讀
│││││└──── 其他:寫(無)
││││└───── 其他:執行(無)
│││├────── 組:讀
││└─────── 組:寫(無)
├───────── 主:讀
 └──────── 主:寫
 (首字符 - 表示普通文件,d=目錄,l=鏈接,b=塊設備,c=字符設備,p=管道)

核心洞察

  • 「一切皆文件」:設備、管道、Socket 均以文件形式抽象,統一 I/O 接口
  • 目錄是文件:ls -ld 可見目錄屬性
  • 硬鏈接共享 inode,刪除源文件數據不丟失;符號鏈接跨文件系統,源刪除則失效
  • 權限檢查順序:所有者 → 組 → 其他,首匹配生效
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型說明細分
普通文件最常見,無文件系統結構信息文本文件(行結構 ASCII)、二進制文件(內存映像)
目錄文件存放文件名及元信息,文件系統基本節點可包含子目錄/普通文件。注意:Linux 目錄**是一種文件**
鏈接文件指向真實文件的引用硬鏈接(同 inode)、符號鏈接(路徑引用)
設備文件訪問硬件的標準接口,通常在 /dev塊設備(固定塊訪問,如磁盤)、字符設備(字節流訪問,如終端)
管道文件進程間通信通道,先進先出,常駐高速緩存有名管道(FIFO,文件系統可見)、無名管道(親緣進程間)