如何把資料長期的儲存在外部儲存介質之上(比如硬碟)
如何把檔案的資料、名字、屬性關聯在一起呢?
unix中的儲存方式:多級索引
i-node(128位元組,後60個位元組存放15個指標)
目錄的內容
存放此目錄下檔案名字和i-node
的編號,通過i-node
編號可以找到唯一的檔案資料,但是i-node
沒有檔案的名字,unix中檔案名字和檔案內容分開存放
unix中檔案共享(鏈結檔案)
多個檔案名字指向同乙個i-node
windows使用碟符,unix沒有碟符的概念,下述以unix為例:
mv:移動檔案
mv file1 file2 (把file1重新命名為file2)rm:刪除link
假如abc、xyz對應的i-node
相同,則執行rm abc之後,xyz依然存在
只有乙個i-node
的link
數降為0的時候,這個資料才真正從硬碟上被刪掉
cat:檢視檔案內容
對於乙個檔案來說,有三類人,他們的許可權分別為:
主人主組的其他人
主組之外的人
檔案的許可權只能由root或者主人修改,許可權的檢視:ls -l
對於目錄(把目錄比作房間):
指令源目錄所需許可權
原始檔所需許可權
目標目錄所需許可權cdx
初始化時需要劃分i-node塊和存放資料的塊(間接指標索引塊和資料塊)的比例,設定bytes-per-inode,假設為4096,表示每4096位元組中有128位元組為i-node塊。
磁碟配合
乙個使用者或者乙個組在檔案系統中最多可以存放多少資料。超過硬限制報error,超過軟限制報warning。
如果掛載到非空目錄上,原目錄中的檔案將暫時被隱藏。
> mount 裝置名字 空目錄名字(掛載檔案系統,需要root許可權)
>
> umount 裝置的名字\mount點的名字 (解除安裝檔案系統,相當於windows彈出u盤)
在unix中,根目錄、home都是檔案系統。
如果資料量還是太大,就考慮其他的備份策略:
硬碟的分割槽
與邏輯卷管理的比較
空間大小劃分後無法更改,初期對硬碟空間的規劃帶來困難,如果採用第三方的分割槽管理工具還會帶來資料上的風險。
受硬碟大小的限制。
邏輯卷管理:邏輯卷取代了分割槽,成為檔案系統的容器。
邏輯卷的大小=邏輯塊大小*邏輯塊個數,邏輯塊大小等於物理塊大小。
系統啟動 以Linux為例
這篇說一下計算機的啟動過程,主要是pc系統上linux的啟動過程,嵌入式的稍微提到一下,這上面的東西不一定非常正確,大多從網上相關的技術文章中獲取的資訊,以及查閱了部分linux的 總的來說這個文章定位於學習交流的性質,如果您覺得有不對的地方請一定指出來。正文開始 系統復位完成後,cpu從乙個確定的...
檔案讀寫(以登入註冊為例)
void regist writeprivateprofilestring name,username name,loginuser.ini 第乙個name是 裡面的值 username是鍵的名稱,name就是你輸入的值 writeprivateprofilestring name,password...
以hello 為例,製作 a so 庫檔案
先編寫hello程式 建立工作目錄,mkdir hello test 新建 hello.c 檔案 touch hello.c 可以用 gedit hello.c 也可以用vi hello.c 開啟檔案後,輸入如下 int main int argc,char ar 在一些編譯器中,這行 自動生成 e...