自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix文件知識講解

系統(tǒng) 其他OS
我們知道,Unix文件卷作為其文件系統(tǒng)存儲格式的,而不同的Unix系統(tǒng),文件卷格式是有差異的,甚至即使是同一Unix操作系統(tǒng)的不同版本,其文件系統(tǒng)也未必完全相同。

今天我們來學習一下Unix文件的知識。與DOS/Windows不同,Unix文件被刪除后很難恢復,這是由Unix獨特的文件系統(tǒng)結構決定的。所以,要想恢復這些文件,就需要另辟蹊徑。Unix文件系統(tǒng)的特殊性決定了它不能像Windows系統(tǒng)那樣恢復被刪除的文件。

Unix 文件目錄不像DOS/Windows那樣,文件即使被刪除之后仍保存有完整的文件名、文件長度、始簇號(即文件占有的第一個磁盤塊號)等重要信息。相反, 它的文件信息全部依靠一種被稱為i節(jié)點的數(shù)據(jù)結構來描述,而i節(jié)點在相應文件被刪除之后即被清空。

不過,需要說明的是,Unix系統(tǒng)下文件系統(tǒng)恢復的具體實現(xiàn)依賴于不同操作系統(tǒng)和不同版本的具體文件系統(tǒng)結構和磁盤塊分配算法(見附文)。本文只是試圖總結出一種一般性的思路和策略,限于篇幅,不能詳細討論它們的具體實現(xiàn)過程。

Unix文件系統(tǒng)結構

我們知道,Unix是以文件卷作為其文件系統(tǒng)存儲格式的,而不同的Unix系統(tǒng),文件卷格式是有差異的,甚至即使是同一Unix操作系統(tǒng)的不同版本,其文 件系統(tǒng)也未必完全相同,例如: SCO Unix 4.1版與5.0版文件系統(tǒng)結構就有明顯差異,但只要是Unix系統(tǒng),其文件卷的基本結構是一致的。

不管是什么Unix系統(tǒng),不管什么版本,其文件卷至少包括引導塊、超級塊、i節(jié)點表、數(shù)據(jù)區(qū)等幾個部分。

1. Unix文件引導塊

位于文件卷最開始的第一扇區(qū),這512字節(jié)是文件系統(tǒng)的引導代碼,為根文件系統(tǒng)所特有,其他文件系統(tǒng)這512字節(jié)為空。

2. Unix文件超級塊

位于文件系統(tǒng)第二扇區(qū),緊跟引導塊之后,用于描述本文件系統(tǒng)的結構。如i節(jié)點長度、文件系統(tǒng)大小等,其結構存放于/usr/include/sys/filsys.h中,其結構如下:
struct filsys
{ ushort s_isize; /*磁盤索引節(jié)點區(qū)所占用的數(shù)據(jù)塊數(shù)*/
daddr_t s_fsize; /*整個文件系統(tǒng)的數(shù)據(jù)塊數(shù)*/
short s_nfree; /*在空閑塊登錄表中當前登記的空閑塊數(shù)目*/
daddr_t s_free[NICFREE]; /*空閑塊登記表*/
short s_ninode; /*空閑索引節(jié)點數(shù)*/
ino_t s_inode[NICINOD]; /*空閑節(jié)點登記表*/
char s_flock; /*加鎖標志位*/
char s_ilock; /*節(jié)點加鎖標志位*/
char s_fmod; /*超級塊修改標志*/
char s_ronly; /*文件系統(tǒng)只讀標志*/
time_t s_time; /*超級塊上次修改的時間*/
short s_dinfo[4]; /*設備信息*/
daddr_t s_tfree; /*空閑塊總數(shù)*/
ino_t s_tinode; /*空閑節(jié)點總數(shù)*/
char s_fname[6]; /*文件系統(tǒng)名稱*/
char s_fpack[6];
long s_fill[13]; /*填空位*/
long s_magic; /*指示文件系統(tǒng)的幻數(shù)*/
long s_type; /*新文件系統(tǒng)類型*/ };

3. Unix文件i節(jié)點表

i節(jié)點表存放在超級塊之后,其長度是由超級塊中的s_isize字段決定的,其作用是用來描述文件的屬性、長度、屬主、屬組、數(shù)據(jù)塊表等,其數(shù)據(jù)結構在/usr/include/sys/ino.h中,如下:
 

  1. struct dinode   
  2. { ushort di_mode;   
  3. short di_nlink;   
  4. ushort di_uid;   
  5. ushort di_gid;   
  6. off_t di_size;   
  7. char di_addr[40];   
  8. time_t di_atime;   
  9. time_t di_mtime;   
  10. time_t di_ctime; };  

4. Unix文件目錄結構

Unix所有文件均存放于目錄中,目錄本身也是一個文件。目錄存放文件的機制如下: 首先,目錄文件本身也象普通文件一樣,占用一個索引節(jié)點; 其次,由這個索引節(jié)點得到目錄內容的存放位置; 再次,從其內容中取出一個個的文件名和它對應的節(jié)點號,從而訪問一個文件。

由此可知文件名是依靠目錄來描述的,文件的內容和其他信息則由索引節(jié)點來描述。

Unix文件的知識,我們就介紹到這里了。

【編輯推薦】

  1. Unix系統(tǒng)是門藝術
  2. Unix系統(tǒng)中Cygwin的功能講解
  3. SCO Unix磁盤塊分配算法
  4. 3種找回nix刪除文件方法
  5. Unix刪除文件的找回方法
責任編輯:小霞
相關推薦

2010-05-05 17:46:32

Unix文件系統(tǒng)

2010-04-30 17:38:31

Unix文本

2010-05-05 13:13:55

Unix內核

2010-05-05 13:45:21

Unix Telnet

2010-04-30 13:27:26

Unix cronta

2010-05-04 12:25:28

Unix鏈接

2010-04-30 13:38:51

Unix at命令

2010-05-05 10:44:37

Unix 反引號

2010-05-04 16:33:39

Unix系統(tǒng)

2010-05-05 15:02:39

Unix系統(tǒng)

2010-04-21 14:29:52

Unix 線程

2010-04-21 12:39:48

Unix 消息隊列

2010-05-04 09:45:28

Unix系統(tǒng)

2010-04-30 18:20:23

Unix系統(tǒng)

2010-04-13 17:52:16

Unix交換區(qū)

2010-05-05 13:22:29

Unix Shell

2010-05-10 15:37:14

Unix文件

2010-04-30 01:28:59

Unix系統(tǒng)

2010-04-20 11:34:26

Unix操作系統(tǒng)

2010-04-21 13:47:45

Unix內核
點贊
收藏

51CTO技術棧公眾號