標籤:硬碟 tab 佔用 class art 類型 檔案 規劃 setuid
檔案名稱
在 Linux 底下,每個檔案或檔案夾的檔案名稱最長能夠到達 255 的字元,加上完整路徑時,最長可達 4096 個字元;
因為 Linux 在文字介面下的一些指令操作關係,一般來說,您在設定 Linux 底下的檔案名稱時, 最好能夠避免一些特殊字元比較好!比如底下這些:
* ?
> < ; & ! [ ] | \ ‘ " ` ( ) { }
由於這些符號在文字介面下,是有特殊意義的!另外,檔案名稱的開頭為小數點『.』時, 代表這個檔案為『隱藏檔』喔!同一時候,由於指令下達其中,經常會使用到 -option 之類的參數, 所以您最好也避免將檔案檔名的開頭以 - 或 + 來命名啊!
這個 FHS ( http://www.pathname.com/fhs/ ) 其實僅是規範出在根資料夾 ( / ) 底下各個基本的檔案夾應該是要放置什麼樣的檔案而已。
FHS 定義出兩層規範出來,第一層是 / 底下的各個檔案夾應該要放置什麼樣內容的檔案資料,比如 /etc 應該要放置設定檔, /bin 與 /sbin 則應該要放置可運行檔等等。
第二層則是針對 /usr 及 /var 這兩個檔案夾的次檔案夾來定義的。 比如 /var/log 放置系統登入檔案、 /usr/share放置共用資料等等。
磁碟切割
主要開機扇區( Master Boot Recorder, MBR ) 有什麼限制呢?他最大的限制來自於他的大小不夠大到儲存全部切割與開機管理程式的資訊,因此,MBR 僅提供最多四個 partition 的記憶,這就是所謂的 Primary (P)與 Extended (E) 的 partition最多僅僅能有四個的原因了。
邏輯區塊是在 partition 進行filesystem 的格式化時, 所指定的『最小儲存單位』,這個最小儲存單位當然是架構在 sector 的大小
上面( 由於 sector 為硬碟的最小物理儲存單位啊! ),所以啦, Block 的大小為 sector 的 2 的次方倍數。
Block 單位的規劃並非越大越好喔!怎麼說呢?由於一個 Block 最多僅能容納一個檔案 (這裡指Linux 的 ext2 檔案系統)!這有什麼問題呢?舉例來說好了,假如您的 Block 規劃為 4 KBytes ,而您有一個檔案大小為 0.1 KBytes ,這個小檔案將佔用掉一個 Block 的空間。
Superblock:如同前面說的,當我們在進行磁碟切割( partition )時,每一個磁碟切割槽( partition )就是一個檔案系統( filesystem ), 而每一個檔案系統開始的位置的那個 block 就稱為 superblock ,superblock 的作用是儲存像是檔案系統的大小、空的和填滿的區塊,以及他各自的總數和其他諸如此類的資訊等等, 這也就是說,當您要使用這一個磁碟切割槽( 或者說是檔案系統 )來進行資料存取的時候,第
一個要經過的就是 superblock 這個區塊了。
ext2檔案系統
在標準的 ext2 檔案系統其中,我們將每一個檔案的內容分為兩個部分來儲存,一個是檔案的屬性,還有一個則是檔案的內容。為了應付這兩個不同的咚咚,所以 ext2 規划出 inode 與 Block 來分別儲存檔案的屬性( 放在 inode 其中 )與檔案的內容( 放置在 Block area 其中 )。
當我們要將一個 partition 格式化( format )為 ext2時,就必需要指定 inode 與 Block 的大小才行,也就是說,當 partition 被格式化為 ext2 的檔案系統時,他一定會有 inode table 與 block area 這兩個地區。
inode 記錄的資訊(當然不止這些):
? 該檔案的擁有者與群組(owner/group);
? 該檔案的存模數式(read/write/excute);
? 該檔案的類型(type);
? 該檔案建立或狀態改變的時間(ctime)、近期一次的讀取時間(atime)、近期改動的時間(mtime);
? 該檔案的容量;
? 定義檔案特性的旗標(flag),如 SetUID...;
? 該檔案真正內容的指向 (pointer);
參考《鳥哥的私房菜》
linux 知識點拾遺