檔案架構


目錄和檔案

我們可以說﹐電腦上面的所有資料都是以檔案的形式儲存的﹐如果要讀寫儲存設備的資料更是非經檔案系統不可。

幾乎學習所有作業系統都是從檔案系統的管理開始。比如DOS的dir(dierctory﹐顯示目錄內容), cd(change directory﹐轉換目錄)這些命令就是檔案管理指令來的。檔案其實隨您喜歡放拿裡都可以﹐只要能讓系統找得到就可以了﹐但為了方便和較系統的管理﹐檔案系統通常會以目錄樹的形式管理。目錄(directory﹐在windows裡面也稱作資料夾--folder)﹐裡面都包含著一些檔案或目錄(其實目錄也是以檔案的形式存在的)。在目錄下面的目錄我們稱之為子目錄﹐當然﹐目錄上面的目錄就稱為父目錄(英文稱parent directory﹐中文恐怕有重男輕女之嫌)。而在頂頂的再沒有父目錄的目錄﹐應該稱為頂(top)目錄吧﹖哈哈﹐這樣就猜錯了﹐掉過來稱根(root)目錄才對哦~~

根目錄是最重要的﹐每個磁碟分區都有其各自的根目錄﹐如果根目錄消失了﹐那麼所有檔案和子目錄都會不見﹗我們稱一個檔案﹐準確來說是應該加上目錄所在地﹐我們稱之為路徑(path)。對一個檔案來說﹐路徑只有一條﹐也就是說﹐在同一個目錄裡面不能有兩個相同的檔案名稱﹐如果硬是用相同名稱的話﹐則可以放在不同的目錄裡面。就好像人名一樣﹐在自己的家裡面﹐父母給您起了一個名字﹐那麼這名字就不能給其它第弟妹妹了﹔但您不能限制別的父母給他們的孩子用您的名字哦﹐如果真那麼巧一樣姓名的話﹐那麼要區分您和他/她﹐就要說明是誰家的孩子才知道了。

檔案的名字其實可以隨便起的啦﹐不過為了方便和系統管理﹐一般都會按照一定格式來命名的。和我們的名字一樣﹐檔案也有其姓和名﹐一般會用一個點“.”分隔﹐不過他們的姓名好像是依西方人的傳統﹐將姓排在後面的。我們通常以檔案的姓來判別其類型﹐比如以“.com”結尾的是一個可執行命令(command)﹐以“.sys”結尾的通常是給系統(system)使用的。另外﹐不同的應用程式也喜歡給其產生的檔案取個比較容易判別的姓﹐如“.doc”是Word的檔案(document)﹐“.xls”是Excel檔案﹐等等﹐不勝枚舉。這個檔案的姓﹐有個正規名稱叫延伸檔案名或副檔案名。

不過在以前在DOS之下﹐檔案取命一般都依照8.3模式﹐也就是名字最長8個且不可以有空白和一些保留字(如“/”)﹐而姓則最長3個字。可不可以不起姓只用名呢﹖可以﹗不過長度也是只能最多8個字啦。然而到了Windows95之後﹐以及在其它的作業系統上面﹐可不會受這個限制﹐有些系統最長可以使用256個字呢﹗只不過﹐恐怕您要記著的話也難吧﹖

檔案屬性

檔案的增加、移除、改名、複製﹐等動作﹐完全由您做主﹐但如果檔案已經打開並正被程式使用中﹐您就不能這樣為所欲為了。有時候錯誤的更改了檔案名稱﹐還會對系統造成破壞呢(因為系統不知道您改了﹐除非您已經通知了它)﹐嚴重的還會讓系統無法工作呢﹗所以﹐有些檔案會加上屬性﹐就是標明檔案是唯讀(Read Only)的﹐或是給系統(System)使用的﹐或乾脆將其隱藏(Hidden)起來。

還記得在前面的作業系統裡面曾經教過用attrib來看檔案嗎﹖這個attrib.com就是用來查看和改變檔案屬性的了。再拿DOS的開機片為例: 打了attrib a:\*.* 之後﹐您會看到這樣的畫面:


C:\>attrib a:\*
  A  SHR     IO.SYS        a:\IO.SYS
  A  SHR     MSDOS.SYS     a:\MSDOS.SYS
  A  SHR     DRVSPACE.BIN  a:\DRVSPACE.BIN
  A 	  COMMAND.COM   a:\COMMAND.COM

(注﹕因為這張是用Widnows95來做的format /s﹐所以會多了個drvspace.bin檔﹐其實只有當您的磁碟使用了windows的壓縮才會用到) file:///E:/MYHOME~1/study/compu/compu_maintenance.htm

除了那個A(Achive﹐是供備份系統作參考的﹐在維護與注意 裡面再作說明)之外﹐您會看到那兩個隱藏檔案前面還有SHR的字眼﹐這就是檔案的屬性了﹕S=System, H=Hidden, R=Read Only。這樣的話﹐您使用dir是看不到帶有H書屬性的檔案的。不過要將之顯形也易如反掌啦: 輸入attrib -s -h -r a:\io.sys ﹐按SHR順序分別用減號就可以將其屬性全部解除掉﹐也就可以任您玩弄於掌了。

不過﹐系統之所以要如此設定﹐當然是有其道理的﹐如果您不確定如何修改這些檔案﹐最好還是用 attrib +s +h +r a:\io.sys (將減號換成加號)把屬性重新加上就安全多了。

實例分析

或許您會問 a:\*.*是什麼檔案啊﹖好問題﹐這個a:\*.* 可不簡單哦﹐要能完全解釋清楚﹐相信您對這一章也有相當認識了。

首先可以說這是一個帶路徑的檔案。

通常路徑都是使用“\”(在Unix裡面正好相反﹐用“/”)來代表一個目錄﹐第一個 \ 代表的就是根目錄﹐在根目錄前面的 a: 是DOS系統使用的磁碟代號(在其它的一些作業系統裡面可以用任何名字)。通常 a: 和 b: 分別代表第一個和第二個軟碟。c: 可以說是最重要的﹐因為DOS一切東西都要從 c: 開始的﹐所代表的是硬碟的第一個磁碟分區﹐從 d: 到後面則是由第二個開始的磁碟分區。

那麼 *.*呢﹖準確來說不可以說是一個檔案﹐因為 * 是一個通配字元﹐也就是說可以代表任何字﹐*.* 就是任何姓任何名了﹐也就是任何以“.”分隔的檔案。除了 * 還有一個通配字元是“?”﹐? 和 * 之間有何不同呢﹖ * 可以代表任何文字長度﹐不管只有一個字或是有8個字﹔而 ? 則只代表一個字元。比如 a: 的根目錄裡面有io.sys﹐打 dir a:\io.s?s 或 dir a:\io.* 都可以顯示這個檔案。

絕對路徑和當前目錄

一個檔案的準確表示應該是這樣的格式的 : <(包括磁碟代號的)路徑>\<檔案名>﹐我們稱這樣的格式為絕對路徑﹐為什麼我們要使用絕對路徑呢﹖一如前面幾段所說﹐是用來區分檔案身份的。但如果要顯示您目前所處於的目錄(我們稱為當前目錄)之下的檔案﹐則路徑可以省略。

開機之後﹐預設的當前目錄會是 c:\ ﹐如果您要顯示 a:\ 的目錄﹐就要加上路徑了。但如果我們不想每次找檔案都加入路徑去尋找檔案﹐我們可以輸入path來設定﹐比如 path=a:\;c:\windos 。path一次可以指定多個路徑﹐路徑和路徑之間使用“;”來分隔。如果碰到不同的路徑裡有相同檔案名稱的情形﹐會先以當前目錄為准﹐其次以在path前面的路徑為准。不過您不想每次開機後都輸入path吧﹖您可以將path加進 c:\autoexec.bat裡面﹐那麼系統在啟動的時候就會自動幫您輸入的了。

除了使用絕對路徑﹐我們還可以使用“.”“..”來表示路徑﹕ . 代表當前目錄﹐ .. 代表父目錄。假設當前目錄為 c:\temp\test\﹐如果想轉去 c:\dos﹐輸入 cd ..\..\dos 和輸入 cd c:\dos 是一樣的。如果您輸入的一個命令在當前目錄和所有路徑都找不到﹐那麼您會等到一個 Bad command or file name (或者是 Command not found)的錯誤信息。

有些Linux系統裡面﹐預設是沒有指定當前目錄的﹐那麼您就要輸入“./”來指定當前目錄了(當然使用絕對路徑是絕對可行的)。

檔案的類型和檔案總管

上面說過檔案的姓(在 . 後面﹐也稱為延伸檔案名或副檔案名)代表著不同的類型。然而不同類型的檔案﹐是需要不同的程式產生和開啟的(您自己是沒有可能產生或開啟一個檔案的)﹐比如Word的檔案類型是doc﹐Excel的檔案類型是xls等等。不過有些程式可以讀寫多種檔案類型﹐比如Word就可以讀寫doc、wri、txt 等類型的當案。

使用這些功能比較強大的程式﹐我們還可以實行檔案類型的轉換呢。比如我們用小畫家畫了一個圖形﹐儲存的時候會變成bmp的類型。bpm檔案通常都比較大﹐如果要拿到網頁上面展示就會很慢了。這時候我們可以使用MS Office帶來到Photo Editor開啟這個bmp檔案﹐然後將之另存為 jpg或gif 檔案類型﹐有時候這樣可以將檔案size減肥一半有多呢﹐越肥越見效﹗不過﹐小畫家卻是不可能看到jpg和gif 檔案的。

在Windows的檔案總管裡面﹐通常會將一些程式與它們最常使用的檔案類型關聯起來﹐那麼我們只要雙擊這個檔案﹐關聯的程式就會被啟動和將這個檔案開啟了。不過﹐我們是可以改變這些關聯的﹐在檔案總管裡面﹐選擇“檢視/資料夾選項/檔案類型”選取您欲改變關聯的類型﹐然後按“編輯\編輯...”我們就可以將之關聯到可以讀取這類型的其它“用來執用動作的應用程式”了。

使用windows的檔案總管確實比以前在DOS裡面方便多了﹐隨便用鼠標右鍵點選一個檔案和資料交﹐就會看到一些用來管理檔案的常用動作﹐比如﹕複製、剪下、刪除、等等。如果欲點選多個檔案/資料夾﹐可以用鼠標先在空白位置點下﹐然後按主鼠標拖動﹐將要選擇的範圍劃出來﹐變了顏色的部份就被選擇了﹔也可以按著 Shift鍵不放﹐先點第一個欲選擇的檔案﹐然後點最後一個﹐這樣這兩個檔案之間的連續範圍都會被選擇。按著 Ctrl 鍵也可以點選多個檔案哦﹐和 Shift鍵不同之處是 Ctrl 一次只能選擇一個檔案﹐重複多次則可以選擇多個檔案﹐如果再點選已經被選擇了的檔案﹐則會放棄選擇。選擇好之後﹐用右鍵點選任何一處變色的地方﹐就可以從彈出的菜單中﹐選擇您要進行的動作了。如果選擇了複製(可以直接按 Ctrl+C)﹐或剪下(Ctrl+X)﹐那麼﹐當轉換到目的地目錄﹐然後再按右鍵﹐選擇貼上(Ctrl+V)就可以完成動作了。

其實檔案總管還可以做很多事情﹐多摸索就知道了。

 

 


© 2000 Netman 網中人
Last Updated: March 28, 2000