萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux 文件系統介紹

Linux 文件系統介紹

class="22342"> 一、簡介:

Linux作業系統中,以檔案來表示所有的邏輯實體與非邏輯實體。邏輯實體指檔案與目錄;;非邏輯實體則泛指硬碟、終端機、印表機等。

一般而言,Linux檔案名稱的組成除由連續字母、標點符號、數字等構成外,中間不能有空白字元、路徑名稱符號;/;或;#;*;%;&;{};[];……..等與Shell有關的特殊字元。

Linux檔案系統中,結構上以root;file;system;位最上位也最為重要,所謂root;file;system乃於開機時將root;partition掛載在;/;的目錄,若無法mount;/;則開機時無法進入Linux系統中此時僅能remount;;/;的目錄。該目錄下有/etc、/dev、/boot、/home、/lib、/lost+found、/mnt、/opt、/proc、/root、/bin、/sbin、/tmp、/var、/usr等重要目錄,以下茲分別介紹之。;

二、目錄與檔案簡介

1./etc:

本目錄下存放著許多系統所需的重要設定與管理檔案,有一些為純檔名,有些是以.conf的型態出現另亦有一些自成單一目錄:當然亦有些設定檔並非放在/etc目錄下,例如使用者家目錄之.bashrc、.bash_profile等檔案;通常要更動過/etc目錄下之設定檔內容必須重新啟動設定檔使設定生效,且一般亦無須重開機。以下謹胪列主要檔案如:

(1)
HOSTNAME
本檔案內容僅記載主機+網域名稱,在系統提示符號下輸入hostname可以顯示HOSTNAME之檔案內容。

(2)
XF86Config
本檔案內容為X;Window;System的主要設定檔,Caldera的版本放在/etc目錄下,RedHat版本則放在/etc/X11目錄下,有關顯示卡、滑鼠、鍵盤均可在此加以設定。

(3)
aliases
本檔案內容用來設定郵件別名及郵件清單可以讓特定的地址轉寄給不同的使用者或群組;編輯完/etc/aliases後須下newaliases指令使之生效,對於由遠端寄送至local端的郵件具有備份功能,為mail;server重要的設定檔之一。

(4)
amd.conf
本檔案為一常駐服務程式(daemon),全名為automatically;mount;file;system,Caldera的版本稱為am.d;是一個能自動mount和umount;cdrom和floppy的檔案系統。

(5)
at.deny
本檔案為對能否使用at指令的使用者加以限制,;at;是一個非常有用的工具,可以讓使用者指定在特定時刻執行某個程式或指令,通常只執行一次。如果你想定時定期的執行某項工作,應該使用cron工具而非at。

(6)
crontab
本檔案可讓系統定時執行排程工作為系統管理上極為重要之檔案,Cron是一個常駐程式;(daemon),在開機時啟動cron的daemon時,它會自動去檢查;/var/spool/cron;目錄下面看看是否有任何cron檔案。每一個user的可以去設定自己所要排定執行的工作。在這一個目錄底下,每一個user會有一個屬於他loginid名稱的cron檔案,crond會自動將這些user的cron檔案載入至記憶體中,並定期去執行每個user的cron檔案。另外,crond也會去讀取;/etc/crontab;的內容。

這是屬於系統的cron工作設定檔,主要系統會定期去執行;/etc/cron.d/;目錄下面四個cron.daily、cron.hourly、cron.weekly、cron.monthly目錄下(RedHat版本則集中放在/etc目錄下)的命令。

(7)
dhcpd.conf
本檔案為DHCP;Server的設定檔,可烤貝/usr/doc/dhcp-serial;number目錄下的dhcpd.conf.sample至/etc目錄下,該檔內容一般有記載著subnet、netmask、routers、domain-name、default-lease-time、max-lease-time及;IP;range;亦可一指派固定IP給特定主機。

(8)
dosemu.conf
本檔案為Dos模擬器的設定檔可以在Linux上模擬Dos環境,用Dos;指令。

(9)
dumpdate
dump指令可對Linux;ext2檔案系統進行檢查備份(例如dumpe2fs;/etc 對/etc;目錄作備份),dumpdate則是存放dump指令的執行日期。

(10)
exports
本檔案為NFS(Network;File;System)設定檔,NFS主要是運用在UNIX;系統上,用來使UNIX系統能夠在幾部電腦間做檔案的分享。其功能類似windows的網路磁碟機,可以mount的方式,分享其他linux或UNIX主機的目錄或檔案。exports檔案內則分別記載著分享目錄、分享對象及權限等項目。

(11)
fdprm
本檔案為軟碟機參數表,含有各大小格式磁區磁軌等資料。

(12)
fstab
本檔案包含了開機時需載入的檔案系統,每一行都表示一個檔案系統,各欄位分別有特定的裝置或遠端的檔案系統、掛載點、載入的檔案型態、掛載選項、dump設定及fsck設定。此檔案可供Linux於開機時載入到系統上,並於關機時卸載。

(13)
ftp*
以ftp開頭的檔案如ftpaccess(主要設定檔)、ftpconversions(檔案的相關壓縮規定)、ftpgroups、ftphosts、ftpusers(分別為ftp群組、主機、使用者拒絕存取設定)等均為ftp;server相關的設定檔。

(14)
group
本檔案為群組的資料檔,可以使每個使用者均擁有自己的群組;一般而言新的使用者建立後的的同時會產生相同於使用者名稱的群組名稱(RedHat;Distribution)(Caldera;Distribution;則會隨adduser;或useradd;指令的不同而會納入users群組或相同於使用者名稱的群組名稱);在GNOME環境中可用LinuxConf設定,在KDE環境中可用User;Manger加以設定之。

(15)
host*
在/etc目錄下以host開頭的檔案有host.conf、hosts、hosts.allow、host.deny等目錄,茲分述如下:


host.conf
本檔案設定網路搜尋順序依hosts或DNS之先後順序定之;同時亦可一設定是否將多重IP指定給一台主機與否。


hosts
本檔案設定主機的IP及網域名稱,利用此檔可加速特定主機的搜尋速度無須借助DNS之功能,早期未有DNS前即是依賴hosts檔作名稱查尋。


hosts.allow
本檔案記載著允許那些主機連線到你的主機,在系統安全上為Tcpwrapper機制的存取控制檔案。通常是維護主機安全或作測試用。


hosts.deny
本檔案記載著拒絕那些主機連線到你的主機,在系統安全上為Tcpwrapper機制的存取控制檔案。通常是維護主機安全或作測試用。一般而言,常與hosts.allow檔原則上先deny;ALL;再設定allow,被allow同意的存取便不會再被deny否決。

(16)
httpd
本目錄下置放有conf目錄、log;及module等檔案其中尤以conf目錄下的httpd.conf(主要設定檔);、access.conf(網頁目錄及資料來源路徑檔)、srm.conf(設定apache的存取控制檔),目前Apache;1.3.9以後版本已整合成httpd.conf加以設定即可;/etc/httpd為Apache;Server重要目錄所在。

(17)
inetd.conf
通常當系統啟動時,有部份的service是並沒有在開機時被啟動的,以節省系統資源。他們是利用inetd(;internet;daemon)--來監控網路服務的要求,再啟動適當的daemon。inetd;是用來監控各種service的daemon,依不同的port提供不同的監控。/etc/inetd.conf即為其設定檔,並由tcpd來提供監控。例如將telnet加上;#,系統便不提供telnet的服務。

本檔案最常與Tcpwrapper機制的存取控制檔案hosts.allow及;hosts.deny搭配負責網路安全的監控;舉ftp為例,當inetd接收到使用ftp的請求時,便會啟動tcpd,tcpd先紀錄這項ftp的請求,然後檢查hosts.allow、host.deny這二個存取設定控制檔,如果同意存取,就會啟動。另外,Tcpwapper只能影響inetd啟動,並且在inetd.conf裡面經過編輯,由tcpd呼叫的服務,所以並不能為其他服務提供安全保障(如sendmail、NFS等)。管理者可以看log檔知道系統是否有被別人侵入。

(18)
inittab
一般Linux系統啟動時,LILO;執行後載入kernel,kernel啟動後呼init;program(/sbin/init)啟動系統必備程式,init為parent;process(呼叫後fork;許多child;process),接著便檢視/etc/inittab,視/etc/inittab以runlevel?;啟動再執行/etc/rc.d/rc.?d/下所有s開頭之shell;script,直到完成(ex.s10network;;;s40cron)是以inittab檔案乃在規使用者要以那一種runlevel登入Linux系統,我們亦可直接在系統提示符號下輸入init;或;telinit;後加上欲入之第幾層runlevel,例如init;3;或telinit;5,即可進入該環境模式。

(19)
isapnp.gone
本檔案包含ISA介面卡所使用的資源,可用來設定硬體所需的記憶體、I/O;Base、IRQ及DMA。

(20)
issue(net)
本檔案是記載使用者在登入本機時所出現的一段文字訊息,例如「Red;Hat;Linux;release;6.2;(Zoot);+;CLE;V0.9P1;(Yami);Kernel;2.2.17-4CLE;on;an;i586」而issue.net則用於遠端登入時之文字訊息顯示之用。issue檔案可加以修改成你需要出現的內容,;但需同時將/etc/rc.d/rc.local檔案中「echo;“”;>;/etc/issue至echo;>>;/etc/issue」等幾行加上解起來,始能生效。

(21)
ldso.conf
本檔案存放了系統中共享函式庫(shared;libraries)的路徑;Linux提供了兩種形式函式庫:shared及static,而Unix只提供shared;libraries。當程式被編譯時,程式便會去連結該程式所需用到的函式庫。有時候程式為了便於偵錯,或是為了某些考量,我們不希望程式去使用共享函式庫,而是把會用到的程式庫全部連結進程式的執行檔,讓程式本身擁有一份函式庫中函式的副本,這種方式稱為靜態連結程式(static;linked),而依賴共享函式庫所建立的程式稱動態連結程式(Dynamically;Linked)。

系統安裝了library後,必須告訴程式library放置於何處,使用共享函式庫的好處是免除不同的程式裡重使用靜態函數庫(static;libraries),與其在每個呼叫這些函式的程式裡都儲存一份copy,不如把函式庫集中在系統的檔案裡,讓執行的程式都可以讀到這個程式。

當編輯完ldso.conf檔案增加新的函式庫或新安裝某個套件之後(可能會安裝某個新的共享函式庫),後須下ldconfig;-v,使之生效。

(22)
lilo.conf
lilo即linux;loader,本檔案lilo.conf內
copyright © 萬盛學電腦網 all rights reserved