iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
0
自我挑戰組

跟著FreeBSD官方handbook入門UNIX系列 第 12

[FreeBSD 入門] UNIX文件系统結構的基礎知識

  • 分享至 

  • xImage
  •  

上次有講到ZFS,是一種先進的文件系统"格式"。

今天要來學習整個 UNIX 文件系统結構的基本知識!

本文參考 UNIX:The Textbook ,3 ed 這本教科書,大家可以去找找。

觀念

在UNIX操作系統中,一且都視為文件 (file),文件其實就是一個連續的位元組,不論是網路介面卡、硬碟驅動、鍵盤滑鼠、印表機、純文字檔、執行檔、通通都當作是文件(file)。

文件類型

• Simple/ordinary file (普通文件)
• Directory (目錄)
• Symbolic (soft) link (符號文件)
• Character special file 文字特殊文件 (我還不知道這是啥)
• Block special file 區塊特殊文件 (我還不知道這是啥)
• Named pipe (FIFO) 隊列?!
• Socket 套接字?!

普通文件 (ordinary)

普通文件包含很多,像是圖片、MP3、影像、程式的原始碼、可執行檔、資料庫工具、編譯器、圖形軟體、瀏覽器,都算普通文件!!! 且它們之間沒有區別,都一樣是連續的位元組。
文件的名稱,可以隨自己喜歡設定,但是不能夠超過255個字符!
這可以透過指令查詢:

$ getconf _XOPEN_NAME_MAX
255

你也可以替文件創造一個自己喜歡的副檔名,像是 .good、.bad、.haha ....之類的,因為副檔名對UNIX來說沒有差別,但是要注意很多程式軟體還是有要求特定的副檔名,例如 C 編譯器要求程式碼檔名一定要 .c 。

目錄文件 (directory)

任何操作系統中的目錄文件都包含一系列目錄條目 (directory entries),用陣列(array)的方式存放,
目錄條目(directory entry)的結構:


|innode | 文件名稱 |


innode 是4個byte大小的索引值,包含了像是文件大小之類的屬性。
當我們建立一個文件時,系統kernel會自動給文件一個innode。

連結文件 (Link)

連結類型的文件,意思就是指向一個存在文件的文件,連結文件的內容是,某個已存在文件的路徑名稱。
所以說,不需要用複製的方式,你可以把某個文件,用符號連結的方式,同時連結到很多其他目錄裡,節省空間。
有點像,windows系統裡的"捷徑"的概念吧。

特殊 (裝置) 文件


上一篇
[FreeBSD 入門] 封包過濾器 / PF / 防火牆
下一篇
[FreeBSD 入門] PROCESS / 進程
系列文
跟著FreeBSD官方handbook入門UNIX18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言