天天看點

Linux目錄結構包括檔案類型和一些重要的檔案子目錄

linux檔案系統的最頂端是/,稱為linux的root,所有的目錄、檔案、裝置都在/之下。

 檔案類型

 linux有四種基本檔案系統類型:普通檔案、目錄檔案、 連結檔案和特殊檔案。可以用file指令來識别。

 普通檔案:如文本檔案、c語言源代碼、shell腳本等,可以用cat、less、more、vi等來察看内容,用mv來改名。

 目錄檔案:包括檔案名、子目錄名及其指針。可以用ls列出目錄檔案

 連結檔案:是指向一索引節點的那些目錄條目,用ls來檢視時,連結檔案的标志用l開頭,而檔案後以"->"指向所連結的檔案

 特殊檔案:如磁盤、終端、列印機等都在檔案系統中表示出來,常放在/etc目錄内。例如:軟驅A稱為/dev/fd0,/dev/had來自第一硬碟。

 /bin:存放系統所需要的那些指令,比如ls、cp、mkdir等指令;功能和/usr/bin類似,這個目錄中的檔案都是可執行的、普通使用者可以使用的指令。

 /boot:這是 Linux的核心及引導系統程式所需要的檔案目錄,比如initrd.img等檔案都位于這個目錄中,grub系統引導管理器也位于這個目錄。

 /dev:裝置檔案存儲目錄,比如聲霸卡、磁盤。

 /etc:系統配置檔案的所在,一些伺服器的配置檔案也在這裡;比如使用者帳号及密碼配置檔案。

 /home:普通使用者目錄預設存放目錄。

 /lib:庫檔案存放目錄

 使用者無權限執行這個目錄下的指令,這個目錄和/usr/sbin;/usr/local/sbin目錄是相似的。凡是目錄sbin中包含的都是root權限才能執行的。

 /tmp:臨時檔案目錄,有時使用者運作程式的時候,會産生臨時檔案。這個目錄和/var/tmp目錄相似。

 /usr:這個是系統存放程式的目錄,比如指令、幫助檔案等。當我們安裝一個linux發行版官方提供的軟體包時,大多安裝在這裡。如果有涉及伺服器配置檔案的,會把配置檔案安裝在/etc目錄中。/usr目錄下包括設計字型目錄/usr/share/fonts,幫助目錄/usr/share/man 或/usr/share/doc,普通使用者可執行檔案目錄/usr/bin或/usr/local/bin;超級權限使用者root可執行指令存放目錄,比如/usr/sbin或/usr/local/sbin等,還有程式的頭檔案存放目錄/usr/include

 /var:這個目錄的内容是經常變動的,/var下有/var/log這是用來存放系統日志的目錄。/var/lib用來存放一些庫檔案,比如MySQL的。

 /media:本目錄是空的,是用于挂載的。

 /selinux:不知道到底是怎麼用的!!!

 /srv:一些服務需要通路的檔案存放在這

 /sys:系統的核心檔案

 /cdrom:光驅

 一些重要子目錄:

 /etc/init.d:這個目錄是用來存放系統或伺服器以System V模式啟動的腳本。

 /etc/X11:這是X-Window相關的配置檔案存放地。

 /usr/bin:這個目錄是可執行程式的目錄,普通使用者就有權限執行;當我們從系統自帶的軟體包安裝一個程式時,他的可執行檔案大多會放在這個目錄。

 /usr/sbin :這個目錄也是可執行程式的目錄,但大多存放設計系統管理的指令,隻有root權限才能執行

 /usr/local:這個目錄一般是用來存放使用者自編譯安裝軟體的存放目錄;一般是通過源碼包安裝的軟體,如果沒有特别指定安裝目錄的話,一般是安裝在這個目錄中。

 /usr/share:系統共用的東西存放地。

 /usr/src:核心源碼存放的目錄。

Linux 目錄結構及主要内容(1)

 “/”根目錄部分有以下子目錄:

    /usr 目錄包含所有的指令、程式庫、文檔和其它檔案。這些檔案在正常操作中不會被改變的。這個目錄也包含你的Linux發行版本的主要的應用程式,譬如,Netscape。

    /var 目錄包含在正常操作中被改變的檔案:假脫機檔案、記錄檔案、加鎖檔案、臨時檔案和頁格式化檔案等

    /home 目錄包含使用者的檔案:參數設定檔案、個性化檔案、文檔、資料、EMAIL、緩存資料等。這個目錄在系統省級時應該保留。

    /proc 目錄整個包含虛幻的檔案。它們實際上并不存在磁盤上,也不占用任何空間。(用ls –l 可以顯示它們的大小)當檢視這些檔案時,實際上是在通路存在記憶體中的資訊,這些資訊用于通路系統

    /bin 系統啟動時需要的執行檔案(二進制),這些檔案可以被普通使用者使用。

    /sbin 系統執行檔案(二進制),這些檔案不打算被普通使用者使用。(普通使用者仍然可以使用它們,但要指定目錄。)

    /etc 作業系統的配置檔案目錄。

    /root 系統管理者(也叫超級使用者或根使用者)的Home目錄。

    /dev 裝置檔案目錄。LINUX下裝置被當成檔案,這樣一來硬體被抽象化,便于讀寫、網絡共享以及需要臨時裝載到檔案系統中。正常情況下,裝置會有一個獨立的子目  錄。這些裝置的内容會出現在獨立的子目錄下。LINUX沒有所謂的驅動符。

    /lib 根檔案系統目錄下程式和核心子產品的共享庫。

    /boot 用于自舉加載程式(LILO或GRUB)的檔案。當計算機啟動時(如果有多個作業系統,有可能允許你選擇啟動哪一個作業系統),這些檔案首先被裝載。這個目錄也會包含LINUX核(壓縮檔案vmlinuz),但LINUX核也可以存在别處,隻要配置LILO并且LILO知道LINUX核在哪兒。

    /opt 可選的應用程式,譬如,REDHAT5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS應用程式中,主執行程式在/usr/bin目錄下)

    /tmp 臨時檔案。該目錄會被自動清理幹淨。

    /lost+found 在檔案系統修複時恢複的檔案

 “/usr”目錄下比較重要的部分有:

    /usr/X11R6 X-WINDOWS系統(version 11, release 6)

     /usr/X11 同/usr/X11R6 (/usr/X11R6的符号連接配接)

    /usr/X11R6/bin 大量的小X-WINDOWS應用程式(也可能是一些在其它子目錄下大執行檔案的符号連接配接)。 

    /usr/doc LINUX的文檔資料(在更新的系統中,這個目錄移到/usr/share/doc)。

    /usr/share 獨立與你計算機結構的資料,譬如,字典中的詞。

    /usr/bin和/usr/sbin 類似與“/”根目錄下對應的目錄(/bin和/sbin),但不用于基本的啟動(譬如,在緊急維護中)。大多數指令在這個目錄下。

    /usr/local 本地管理者安裝的應用程式(也可能每個應用程式有單獨的子目錄)。在“main”安裝後,這個目錄可能是空的。這個目錄下的内容在重安裝或更新作業系統後應該存在。

    /usr/local/bin 可能是使用者安裝的小的應用程式,和一些在/usr/local目錄下大應用程式的符号連接配接。

 /proc目錄的内容:

     /proc/cpuinfo 關于處理器的資訊,如類型、廠家、型号和性能等。

     /proc/devices 目前運作核心所配置的所有裝置清單。

     /proc/dma 目前正在使用的DMA通道。/proc/filesystems 目前運作核心所配置的檔案系統。

     /proc/interrupts 正在使用的中斷,和曾經有多少個中斷。

     /proc/ioports 目前正在使用的I/O端口。

     舉例,使用下面的指令能讀出系統的CPU資訊。

     cat /proc/cpuinfo

 總結來說:

     · 使用者應該将檔案存在/home/user_login_name目錄下(及其子目錄下)。

     · 本地管理者大多數情況下将額外的軟體安裝在/usr/local目錄下并符号連接配接在/usr/local/bin下的主執行程式。

     · 系統的所有設定在/etc目錄下。

     · 不要修改根目錄(“/”)或/usr目錄下的任何内容,除非真的清楚要做什麼。這些目錄最好和LINUX釋出時保持一緻。

     · 大多數工具和應用程式安裝在目錄:/bin, /usr/sbin, /sbin, /usr/x11/bin,/usr/local/bin。

     · 所有的檔案在單一的目錄樹下。沒有所謂的“驅動符”。

Linux 檔案系統的目錄結構(2)

 Linux檔案系統結的結構是樹形結構,其入口從/開始,了解Linux檔案系統的結構,對于我們需要掌握的基礎知識點之一。

    2、檔案系統的組織結構簡說;

    當您使用Linux的時候,如果您通過ls -la / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin …… …… 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或檔案。檔案系統在Linux下看上去就象樹形結構,是以我們可以把檔案系統的結構形象的稱為樹形結構。

    檢視檔案系統的結構,我們可以通過tree指令來實作;

    [root@localhost ~]# tree

    不過tree 這個指令目前在Fedora Core 5.0 中已經消失,在Slackware 10.2的版本中仍有保留。不過其它版本的Linux應該有;由tree指令的輸出結果來看,最頂端應該是/,我們稱/為Linux的root,也就是Linux作業系統的檔案系統。Linux的檔案系統的入口就是/,所有的目錄、檔案、裝置都在/之下,/就是Linux檔案系統的組織者,也是最上級的上司者。

    下面我們把Linux檔案系統的樹形結構的主要目錄列一下,主要

    3、檔案系統的組織結構分析;

    檔案系統的組織結構分析,我們能分析什麼呢?也就是當我們列/目錄時,所看到的/usr、/etc …… …… /var 等目錄是做什麼用的,這些目錄是不是有些特定的用途。無論哪個哪個版本的Linux系統,都有這些目錄,這些目錄應該是标準的。當然各個Linux發行版本也會存在一些小小的差異,但總體來說,還是大體差不多。

   Linux發行版本之間的差别其實很少,差别主要表現在系統管理的特色工具以及軟體包管理方式的不同,除此之外,沒有什麼大的差别;比如Fedora軟體包管理工具是rpm,而Slackware是pkgtool 或installpkg等;

    言歸正傳,我們接着說檔案系統組織結構。

    / Linux檔案系統的入口,也是處于最高一級的目錄;

   /bin  基礎系統所需要的那些指令位于此目錄,也是最小系統所需要的指令;比如 ls、cp、mkdir等指令;功能和/usr/bin類似,這個目錄中的檔案都是可執行的,普通使用者都可以使用的指令。做為基礎系統所需要的最基礎的指令就是放在這裡。

   /boot  Linux的核心及引導系統程式所需要的檔案,比如 vmlinuzinitrd.img 檔案都位于這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位于這個目錄;

    /dev 裝置檔案存儲目錄,比如聲霸卡、磁盤…… ……

   /etc  系統配置檔案的所在地,一些伺服器的配置檔案也在這裡;比如使用者帳号及密碼配置檔案;

   /home  普通使用者家目錄預設存放目錄;

   /lib 庫檔案存放目錄

   /lost+found 在ext2或ext3檔案系統中,當系統意外崩潰或機器意外關機,而産生一些檔案碎片放在這裡。當系統啟動的過程中fsck工具會檢查這裡,并修複已經損壞的檔案系統。 有時系統發生問題,有很多的檔案被移到這個目錄中,可能會用手工的方式來修複,或移到檔案到原來的位置上。

   /media  即插即用型儲存設備的挂載點自動在這個目錄下建立,比如USB盤系統自動挂載後,會在這個目錄下産生一個目錄 ;CDROM/DVD自動挂載後,也會在這個目錄中建立一個目錄,類似cdrom 的目錄。這個隻有在最新的發行套件上才有,比如Fedora Core 4.0 5.0 等。可以參看/etc/fstab的定義;

    /misc

   /mnt  這個目錄一般是用于存放挂載儲存裝置的挂載目錄的,比如有cdrom 等目錄。可以參看/etc/fstab的定義。有時我們可以把讓系統開機自動挂載檔案系統,把挂載點放在這裡也是可以的。主要看/etc/fstab中怎麼定義了;比如光驅可以挂載到/mnt/cdrom .

   /opt 表示的是可選擇的意思,有些軟體包也會被安裝在這裡,也就是自定義軟體包,比如在Fedora Core 5.0中,OpenOffice就是安裝在這裡。有些我們自己編譯的軟體包,就可以安裝在這個目錄中;通過源碼包安裝的軟體,可以通過 ./configure ——prefix=/opt/目錄 .

   /proc 作業系統運作時,程序(正在運作中的程式)資訊及核心資訊(比如cpu、硬碟分區、記憶體資訊等)存放在這裡。/proc目錄僞裝的檔案系統proc的挂載目錄,proc并不是真正的檔案系統,它的定義可以參見 /etc/fstab .

    /root Linux超級權限使用者root的家目錄;

   /sbin 大多是涉及系統管理的指令的存放,是超級權限使用者root的可執行指令存放地,普通使用者無權限執行這個目錄下的指令,這個目錄和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目錄是相似的; 我們記住就行了,凡是目錄sbin中包含的都是root權限才能執行的。

   /tmp 臨時檔案目錄,有時使用者運作程式的時候,會産生臨時檔案。/tmp就用來存放臨時檔案的。/var/tmp目錄和這個目錄相似。

    /usr 這個是系統存放程式的目錄,比如指令、幫助檔案等。這個目錄下有很多的檔案和目錄。當我們安裝一個Linux發行版官方提供的軟體包時,大多安裝在這裡。如果有涉及伺服器配置檔案的,會把配置檔案安裝在/etc目錄中。/usr目錄下包括涉及字型目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通使用者可執行檔案目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超級權限使用者root的可執行指令存放目錄,比如

/usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程式的頭檔案存放目錄/usr/include.

   /var 這個目錄的内容是經常變動的,看名字就知道,我們可以了解為vary的縮寫,/var下有/var/log 這是用來存放系統日志的目錄。/var/www目錄是定義Apache伺服器站點存放目錄;/var/lib 用來存放一些庫檔案,比如MySQL的,以及MySQL資料庫的的存放地;

    我們再補充一下一些比較重要的目錄的用途;

   /etc/init.d 這個目錄是用來存放系統或伺服器以System V模式啟動的腳本,這在以System V模式啟動或初始化的系統中常見。比如Fedora/RedHat;

   /etc/xinit.d 如果伺服器是通過xinetd模式運作的,它的腳本要放在這個目錄下。有些系統沒有這個目錄, 比如Slackware,有些老的版本也沒有。在Rehat/Fedora中比較新的版本中存在。

   /etc/rc.d 這是Slackware發行版有的一個目錄,是BSD方式啟動腳本的存放地;比如定義網卡,伺服器開啟腳本等。

   /etc/X11 是X-Windows相關的配置檔案存放地;

    比如下面的例子:

    [root@localhost ~]# /etc/init.d/sshd start 注:啟動sshd伺服器

   [root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd伺服器

    啟動 sshd: [确定]

    這就是典型的sshd 伺服器 System V模式啟動腳本,通過這運作這個腳本可以啟動sshd伺服器了。

   /usr/bin 這個目錄是可執行程式的目錄,普通使用者就有權限執行; 當我們從系統自帶的軟體包安裝一個程式時,他的可執行檔案大多會放在這個目錄。比如安裝gaim軟體包時。相似的目錄是/usr/local/bin; 有時/usr/bin中的檔案是/usr/local/bin的連結檔案;

   /usr/sbin 這個目錄也是可執行程式的目錄,但大多存放涉及系統管理的指令。隻有root權限才能執行;相似目錄是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;

   /usr/local 這個目錄一般是用來存放使用者自編譯安裝軟體的存放目錄;一般是通過源碼包安裝的軟體,如果沒有特别指定安裝目錄的話,一般是安裝在這個目錄中。這個目錄下面有子目錄。自己看看吧。

    /usr/lib 和/lib 目錄相似,是庫檔案的存儲目錄;

   /usr/share 系統共用的東西存放地,比如 /usr/share/fonts 是字型目錄,是使用者都共用的吧。

    /usr/share/doc和/usr/share/man幫助檔案,也是共用的吧;

   /usr/src 是核心源碼存放的目錄,比如下面有核心源碼目錄,比如 linux 、linux-2.xxx.xx 目錄等。有的系統也會把源碼軟體包安裝在這裡。比如Fedora/Redhat,當我們安裝file.src.rpm的時候,這些軟體包會安裝在/usr/src/redhat相應的目錄中。請參考: 《file.src.rpm 使用方法的簡單介紹》 .另外Fedhat 4.0 5.0,他的核心源碼包的目錄位于/usr/src/kernels目錄下的某個目錄中(隻有安裝後才會生成相應目錄);

   /var/adm 比如軟體包安裝資訊、日志、管理資訊等,在Slackware作業系統中是有這個目錄的。在Fedora中好象沒有;自己看看吧。

    /var/log 系統日志存放,分析日志要看這個目錄的東西;

   /var/spool 列印機、郵件、代理伺服器等假脫機目錄;

繼續閱讀