1. 程式人生 > >linux目錄詳細

linux目錄詳細


------------------------------------------ 


 比較重要的目錄 

    在 Linux 系統中,有幾個目錄是特別需要注意的,以下提供幾個需要注意的目錄,以及預設相關的用途: 
        /etc: 這個目錄相當重要,如前所述,你的開機與系統資料檔案均在這個目錄之下,因此當這個目錄被破壞,那你的系統大概也就差不多該死掉了!而在往後的檔案中,你會發現我們常常使用這個目錄下的 /etc/rc.d/init.d 這個子目錄,因為這個 init.d 子目錄是開啟一些 Linux 系統服務的 scripts (可以想成是批次檔 )的地方。而在 /etc/rc.d/rc.local 這個檔案是開機的執行檔。 
        /bin, /sbin, /usr/bin, /usr/sbin:
 
這是系統預設的執行檔案的放置目錄,例如 root 常常使用的 userconf, netconf, perl, gcc, c++ 等等的資料都放在這幾個目錄中,所以如果你在提示字元下找不到某個執行檔時,可以在這四個目錄中查一查!其中, /bin, /usr/bin 是給系統使用者使用的指令,而 /sbin, /usr/sbin 則是給系統管理員使用的指令!   
        /usr/local: 這是系統預設的讓你安裝你後來升級的套件的目錄。例如,當你發現有更新的 Web 套件(如 Apache )可以安裝,而你又不想以 rpm 的方式升級你的套件,則你可以將 apache 這個套件安裝在 /usr/local 底下。安裝在這裡有個好處,因為目前大家的系統都是差不多的,所以如果你的系統要讓別人接管的話,也比較容易上手呀!也比較容易找的到資料喔!因此,如果你有需要的話,通常我都會將 /usr/local/bin 這個路徑加到我的 path 中。 
        /home:
 
這個是系統將有賬號的人口的家目錄設定的地方。     
        /var: 這個路徑就重要了!不論是登入、各類服務的問題發生時的記錄、以及常態性的服務記錄等等的記錄目錄,所以當你的系統有問題時,就需要來這個目錄記錄的檔案資料中察看問題的所在囉!而 mail 的預設放置也是在這裡,所以他是很重要的     
        /usr/share/man, /usr/local/man: 這兩個目錄為放置各類套件說明檔的地方,例如你如果執行 man man,則系統會自動去找這兩個目錄下的所有說明檔案


檔案種類: 


談完了檔案格式之後,再來談談所謂的檔案種類吧!我們在剛剛的屬性介紹中提到了最前面的標誌 ( d 或 - ) 可以代表目錄或檔案,那就是不同的檔案種類啦!Linux 的檔案種類主要有底下

這幾種:
    正規檔案( regular file ):就是一般型別的檔案,在由 ls –al 所顯示出來的屬性方面,第一個屬性為 [ - ]。另外,依照檔案的內容,又大略可以分為兩種檔案種類:
        純文字檔案(ascii) :這是 Unix 系統中最多的一種囉,幾乎只要我們可以用來做為設定的檔案都屬於這一種;
        二進位制檔案(binary) :通常執行檔除了 scripts (文字型批次檔案)之外,就是這一種檔案格式;   
    目錄 (directory):就是目錄!第一個屬性為 [ d ];
    連結檔 (link):就是類似 Windows 底下的快捷方式啦!第一個屬性為 [ l ];
    裝置檔 (device):與系統周邊相關的一些檔案,通常都集中在 /dev 這個目錄之下!通常又分為兩種:
    區塊 (block) 裝置檔 :就是一些儲存資料,以提供系統存取的介面裝置,簡單的說就是硬碟啦!例如你的一號硬碟的程式碼是 /dev/hda1 等等的檔案啦!第一個屬性為 [ b ];
    字元 (character) 裝置檔 :亦即是一些串列埠的介面裝置,例如鍵盤、滑鼠等等!第一個屬性為 [ c ]。


Linux 的檔案系統( inode ):
 

 

在 Linux 系統當中,每個檔案不止有檔案的內容資料,還包括檔案的種種屬性,例如:所屬群組、所屬使用者、能否執行、文

件建立時間、檔案特殊屬性等等。我們將每個檔案的內容分為兩個部分來儲存,一個是檔案的屬性,另一個則是檔案的內容。
 
為了應付這兩個不同的咚咚,所以 ext2 規劃出 inode 與 Block 來分別儲存檔案的屬性( 放在 inode 當中 )與檔案的內容( 放置在 Block area 當中 )。當我們要將一個 partition 格式化

( format )為 ext2 時,就必須要指定 inode 與 Block 的大小才行,也就是說,當 partition 被格式化為 ext2 的檔案系統時,他一定會有 inode table 與 block area 這兩個區域。
 
Block 已經在前面說過了,他是資料儲存的最小單位。那麼 inode 是什麼?!簡單的說, Block 是記錄『檔案內容資料』的區域,至於 inode 則是記錄『該檔案的相關屬性,以及檔案內容

放置在哪一個 Block 之內』的資訊。簡單的說, inode 除了記錄檔案的屬性外,同時還必須要具有指向( pointer )的功能,亦即指向檔案內容放置的區塊之中,好讓作業系統可以正確的去

取得檔案的內容啊

    該檔案的擁有者與群組(owner/group);
    該檔案的存取模式;
    該檔案的型別;
    該檔案的建立日期(ctime)、最近一次的讀取時間(atime)、最近修改的時間 (mtime);
    該檔案的容量;
    定義檔案特性的旗標(flag),如 SetUID...;
    該檔案真正內容的指向 (pointer);