對于每一個Linux學習者來說,了解Linux檔案系統的目錄結構,是學好Linux的至關重要的一步,深入了解linux檔案目錄結構的标準和每個目錄的詳細功能,對于我們用好linux系統至關重要,下面我們開始了解linux目錄結構的相關知識。
當在使用Linux的時候,如果您通過ls –l / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin ... ... 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或檔案。檔案系統在Linux下看上去就象樹形結構,是以我們可以把檔案系統的結構形象的稱為 樹形結構。
檔案系統的是用來組織和排列檔案存取的,是以她是可見的,在Linux中,我們可以通過ls等工具來檢視其結構,在Linux系統中,我們見到的都是樹形結構;比如作業系統安裝在一個檔案系統中,他表現為由/ 起始的樹形結構。linux檔案系統的最頂端是/,我們稱/為Linux的root,也就是 Linux作業系統的檔案系統。Linux的檔案系統的入口就是/,所有的目錄、檔案、裝置都在/之下,/就是Linux檔案系統的組織者,也是最上級的上司者。
由于linux是開放源代碼,各大公司和團體根據linux的核心代碼做各自的操作,程式設計。這樣就造成在根下的目錄的不同。這樣就造成個人不能使用他人的linux系統的PC。因為你根本不知道一些基本的配置,檔案在哪裡。。。這就造成了混亂。這就是FHS(Filesystem Hierarchy Standard )機構誕生的原因。該機構是linux愛好者自發的組成的一個團體,主要是是對linux做一些基本的要求,不至于是操作者換一台主機就成了linux的‘文盲’。
根據FHS(http://www.pathname.com/fhs/)的官方檔案指出, 他們的主要目的是希望讓使用者可以了解到已安裝軟體通常放置于那個目錄下, 是以他們希望獨立的軟體開發商、作業系統制作者、以及想要維護系統的使用者,都能夠遵循FHS的标準。 也就是說,FHS的重點在于規範每個特定的目錄下應該要放置什麼樣子的資料而已。 這樣做好處非常多,因為Linux作業系統就能夠在既有的面貌下(目錄架構不變)發展出開發者想要的獨特風格。
Linux目錄結構
你想知道為什麼某些程式位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less指令位于/usr/bin目錄下。為什麼沒在/bin中,或/sbin,或/usr/sbin目錄中?所有這些目錄之間有什麼不同?
在這篇文章中,讓我們回顧一下Linux的檔案系統結構,并了解各上層目錄的含義。
綠色檔案:可執行檔案,可執行的程式
紅色檔案:壓縮檔案或者封包件
藍色檔案:目錄
白色檔案:普通檔案,如文本檔案,配置檔案,源碼檔案等
淺藍色檔案:連結檔案,主要是使用ln指令建立的檔案
紅色閃爍:表示連結的檔案有問題
黃色:表示裝置檔案
灰色:表示其他檔案
Linux系統中常見目錄功能如下:
1)/ 根目錄;
每一個檔案和目錄從根目錄開始。
隻有root使用者具有該目錄下的寫權限。請注意,/root是root使用者的家目錄,這與/.不一樣
2)/bin 使用者二進制檔案,存放必要的指令;
包含二進制可執行檔案。
在單使用者模式下,你需要使用的常見Linux指令都位于此目錄下。系統的所有使用者使用的指令都設在這裡。
例如:ps、ls、ping、grep、cp
3)/boot 存放核心以及啟動所需的檔案;
包含引導加載程式相關的檔案。
核心的initrd、vmlinux、grub檔案位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
4)/dev 存放硬體裝置檔案;
包含裝置檔案。
這些包括終端裝置、USB或連接配接到系統的任何裝置。例如:/dev/tty1、/dev/usbmon0
5)/etc 存放系統配置檔案;
包含所有程式所需的配置檔案。
也包含了用于啟動/停止單個程式的啟動和關閉shell腳本。例如:/etc/resolv.conf、/etc/logrotate.conf
6)/home 普通使用者的宿主目錄,使用者資料存放在其主目錄中;
所有使用者用home目錄來存儲他們的個人檔案。
例如:/home/xiaoqi、/home/admin
7)/lib|lib64 存放必要的運作庫;
包含支援位于/bin和/sbin下的二進制檔案的庫檔案.
庫檔案名為 ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
8)/mnt 存放臨時的映射檔案系統,通常用來挂載使用;
臨時安裝目錄,系統管理者可以挂載檔案系統
9)/proc 存放存儲程序和系統資訊;
包含系統程序的相關資訊。
這是一個虛拟的檔案系統,包含有關正在運作的程序的資訊。例如:/proc/{pid}目錄中包含的與特定pid相關的資訊。
這是一個虛拟的檔案系統,系統資源以文本資訊形式存在。例如:/proc/uptime
10)/root 超級使用者的主目錄;
11)/sbin 系統二進制檔案,存放系統管理程式;
就像/bin,/sbin同樣也包含二進制可執行檔案。
但是,在這個目錄下的linux指令通常由系統管理者使用,對系統進行維護。例如:iptables、reboot、fdisk、ifconfig、swapon指令
12)/tmp 存放臨時檔案;
包含系統和使用者建立的臨時檔案。
當系統重新啟動時,這個目錄下的檔案都将被删除。
13)/usr 存放應用程式,指令程式檔案、程式庫、手冊和其它文檔;
包含二進制檔案、庫檔案、文檔和二級程式的源代碼。
14)/var 檔案系統,系統預設日志存放目錄。
包括系統一般運作時要改變的資料.每個系統是特定的,即不通過網絡與其他計算機共享
15)/media 可移動媒體裝置
用于挂載可移動裝置的臨時目錄。
舉例來說,挂載CD-ROM的/media/cdrom,挂載軟碟驅動器的/media/floppy