照例先搬磚
一.檔案儲存
檔案儲存在硬碟上,硬碟的最小儲存單位叫做「扇區」。每個扇區存512位元組,作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣
效率太低,而是一次連續地讀取多個扇區,即一次性讀取乙個塊。 這種由多個扇區組成的「塊」,是檔案訪問的最小單位。「塊」的大小,最常見的是
4kn,即連續八個sector組成乙個block。
檔案資料都儲存在「塊」中,那麼很顯然,我們還必須找到乙個地方儲存檔案的元資訊,比如檔案的建立者,檔案的建立日期,
檔案的大小等等。這種儲存檔案元資訊的區域就叫做inode,中文譯名為「索引節點」
inode包含檔案的元資訊,包括以下內容
1.檔案的位元組數
2.檔案擁有者的userid
3.檔案的groupid
4.檔案的讀.寫.執行許可權
5.檔案的時間戳 ctime指的是inode上一次改變 的時間(許可權,屬性)
mtime指的是inode上一次修改的時間(內容)
atime指的是上一次的訪問時間
但實際上,會因為修該內容而導致mtime(屬性)發生變化,從而間接引起ctime變化
二.inode的大小
inode也會消耗硬碟空間,所以硬碟格式化的時候,作業系統自動將硬碟分成兩個區域。乙個是資料區,存檔案資料;另乙個是
inode區,存放inode所包含的資訊,每個inode節點的大小,一般是128位元組或256位元組。inode節點的總數,
在格式化時就給定。
unix系統內部不使用檔名,而是使用inode號碼來識別檔案。
開啟檔案的過程
1.系統找到這個檔名對應的inode號碼;其次,通過inode號碼,獲取inode資訊;
最後,根據inode資訊,找到檔案資料所在的block,讀出資料
乙個inode對應多個檔案的情況稱之為硬連線,修改乙個檔案內容會影響到所有檔名
但刪除乙個檔案不會影響到另外乙個檔案的訪問
二.windows fat檔案結構
保留扇區
位於最開始的位置。第乙個保留扇區是引導區(分割槽引導)
fat區域
它包含有兩份檔案分配表,冗餘考慮,它是分割槽資訊的對映表指示簇是如何儲存的
根目錄區域
它是根目錄中儲存檔案和目錄資訊的目錄表,在fat32下它可以存在分割槽中的任何位置。
資料data區
整個磁碟應該是這樣
我們通過bpb,獲取每個fat表的所佔位元組,保留扇區,從而得知fdt的起始扇區
通過fdt得到檔案的首簇號,並通過首簇號得到檔案的起始扇區位置。
讀取檔案在資料區中的記錄。
個人感覺,通過fdt表定位到檔案首簇,通過fat表(它記錄著檔案如何被分散在不同的扇區中),形成簇鏈。
linux與windows下hosts檔案
etc hosts中設定ip與網域名稱對應 192.168.0.6 www.aabbccddee.com 如果要windows能訪問 c windows system32 drivers etc hosts也同樣需要做出設定 192.168.0.6 www.aabbccddee.com 這樣如果li...
find命令 linux與windows檔案互傳
whereis locate 查詢命令 yum install y mlocate 安裝locate命令 updatedb 常用快捷鍵 ctrl d 退出 ctrl c 取消執行命令 ctrl u 往前全部刪除 ctrl a 跳到最前面 ctrl e 跳到最後面 find 命令 ctime chan...
linux系統掛載windows系統的檔案
這個功能實現了windows編輯,linux編譯的好處,非常爽,值得寫乙個 最開始mount t cifs o username admin mnt mnt是linux目錄,workspace就是你自己設定的共享資料夾 最開始要建共享資料夾,但是右鍵沒有共享,估計是下面這個方案,有點忘了 設定允許可...