注意:usr-->lib 默認存放的動態庫,本身寫的應用程序/home/app裏面的文件都會調用此
/usr-->lib 目錄裏面的動態庫。
如下是常見的重要目錄以及各個目做用: / 根目錄。 包含了幾乎所的文件目錄。至關於中央系統。進入的最簡單方法是:cd /。 /boot 引導程序,內核等存放的目錄。 這個目錄,包括了在引導過程當中所必需的文件,引導程序的相關文件(例如grub,lilo以及相應的配置文件以及內核相關文件(例如vmlinuz等通常都存放在這裏。在最開始的啓動階段,經過引導程序將內核加載到內存,完成內核的啓動(這個時候,還不存在,加載的內核雖然是從硬盤讀取的,可是沒通過Linux的,這是比較底層的東西來實現的。而後內核本身建立好,而且從虛擬文件系統的其餘子目錄中(例如/sbin 和 /etc加載須要在開機啓動的其餘程序或者服務或者特定的動做(部分能夠由用戶本身在相應的目錄中修改相應的文件來配製。若是咱們的機器中包含多個操做系統,那麼能夠經過修改這個目錄中的某個配置文件(例如grub.conf來調整啓動的默認操做系統,系統啓動的擇菜單,以及啓動延遲等參數。 /sbin 可使用的命令的存放目錄。 存放大多涉及的命令(例如引導系統的init程序,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令(可是時普通用戶也可能會用到。這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin等目錄是類似的,咱們要記住,凡是目錄sbin中包含的都是才能執行的,這樣就好了。後面會具體區分。 /bin 普通用戶可使用的命令的存放目錄。 系統所須要的那些命令位於此目錄,好比ls、cp、mkdir等命令;相似的目錄還/usr/bin,/usr/local/bin等等。這個目錄中的文件都是可執行的、普通用戶均可以使用的命令。做爲基礎系統所須要的最基礎的命令就是放在這裏。 /lib 根目錄下的所程序的共享庫目錄。 此目錄下包含系統引導和在根用戶執行命令時候所必需用到的共享庫。作個不太好可是比較形象的比喻,點相似於Windows上面的system32目錄。理說,這裏存放的文件應該是/bin目錄下程序所須要的庫文件的存放地,也不排除一些例外的狀況。相似的目錄還/usr/lib,/usr/local/lib等等。 /dev 設備文件目錄。 在Linux中設備都是以文件形式出現,這裏的設備能夠是硬盤,鍵盤,鼠標,網卡,終端,等設備,經過訪問這些文件能夠訪問到相應的設備。設備文件可使用mknod命令來建立,具體參見相應的命令;而爲了將對這些設備文件的訪問轉化爲對設備的訪問,須要向相應的設備提供設備驅動模塊(通常將設備驅動編譯以後,生成的結果是一個*.ko類型的,在內核啓動以後,再經過insmod等命令加載相應的設備驅動以後,咱們就能夠經過設備文件來訪問設備了。通常來講,想要支持某個設備,只要個東西:相應的硬件設備,支持硬件的驅動模塊,以及相應的設備文件。 /home 普通用戶的家目錄($HOME目錄。 在Linux機器上,用戶主目錄一般直接或間接地置在此目錄下。其結構一般由本地機的管理員來決定。一般而言,系統的每一個用戶都本身的家目錄,目錄以用戶名做爲名字存放在/home下面(例如quietheart用戶,其家目錄的名字爲/home/quietheart。該目錄中保存了絕大多數的用戶文件(用戶本身的配置文件,定製文件,文檔,數據等),root用戶除外(參見後面的/root目錄。因爲這個目錄包含了用戶實際的數據,一般員爲這個目錄單獨掛載一個獨立的,這樣這個目錄的文件系統格式就可能和其餘目錄不同了(儘管表面上看,這個目錄仍是屬於根目錄的一棵子樹上),有利於數據的維護。 /root 用戶root的$HOME目錄 員(就是root用戶或)的主目錄比較特殊,不存放在/home中,而是直接放在/root目錄下了。 /etc 全局的配置文件存放目錄。 系統和程序通常均可以經過修改相應的配置文件,來進行配置。例如,要配置系統開機的時候啓動那些程序,配置某個程序啓動的時候顯示什麼樣的風格等等。一般這些配置文件都集中存放在/etc目錄中,因此想要配置什麼東西的話,能夠在/etc下面尋找咱們可能須要修改的文件。一些大型套件,如X11,在 /etc 下它們本身的子目錄。系統配置文件能夠放在這裏或在 /usr/etc。 不過所程序老是在 /etc 目錄下查找所需的配置文件,你也能夠將這些文件連接到目錄 /usr/etc。另外,還一個須要注意的常見現象就是,當某個程序在某個用戶下運行的時候,可能會在該用戶的家目錄中生成一個配置文件(通常這個文件最開始就是/etc下相應配置文件的拷貝,存放相應於「當前用戶」的配置,這樣當前用戶能夠經過配置這個家目錄的配置文件,來改變程序的行爲,而且這個行爲只是該用戶特的。緣由就是:通常來講一個程序啓動,若是須要讀取一些配置文件的話,它會首先讀取當前用戶家目錄的配置文件,若是存在就使用;若是不存在它就到/etc下讀取全局的配置文件進而啓動程序。就是這個配置文件不自動生成,咱們手動在本身的家目錄中建立一個文件的話,也有許多程序會首先讀取到這個家目錄的文件而且以它的配置做爲啓動的選項(例如咱們能夠在家目錄中建立vim程序的配置文件.vimrc,來配置本身的vim程序。 /usr 這個目錄中包含了命令庫文件和在一般操做中不會修改的文件。 這個目錄對於系統來講也是一個很是重要的目錄,其地位相似Windows上面的」Program Files」目錄(請原諒我可能這樣作比較不太恰當^_^。安裝程序的時候,默認就是安裝在此文件內部某個子文件夾內。輸入命令後系統默認執行/usr/bin下的程序(固然,前提是這個目錄的路徑已經被添加到了系統的中。此目錄一般也會掛載一個獨立的,它應保存共享只讀類文件,這樣它能夠被運行Linux的不一樣主機掛載。 /usr/lib 目標庫文件,包括動態鏈接庫加上一些一般不是直接調用的可執行文件的存放位置。 這個目錄功能相似/lib目錄,理說,這裏存放的文件應該是/bin目錄下程序所須要的庫文件的存放地,也不排除一些例外的狀況。 /usr/bin 通常使用者使用而且不是系統自檢等所必需可執行文件的目錄。 此目錄至關於根文件系統下的對應目錄(/bin,非啓動系統,非修復系統以及非本地安裝的程序通常都放在此目錄下。 /usr/sbin 管理員使用的非系統必須的可執行文件存放目錄。 此目錄至關於根文件系統下的對應目錄(/sbin,保存系統管理程序的,而且這些文件不是系統啓動或文件系統掛載 /usr 目錄或修復系統所必需的。 /usr/share 存放共享文件的目錄。 在此目錄下不一樣的子目錄中保存了同一個操做系統在不一樣構架下工做時特定應用程序的共享數據(例如程序文檔信息)。使用者能夠找到一般放在 /usr/doc 或 /usr/lib 或 /usr/man 目錄下的這些相似數據。 /usr/include C程序語言編譯使用的頭文件。 linux下開發和編譯應用程序所須要的頭文件通常都存放在這裏,經過頭文件來使用某些庫函數。默認來講這個路徑被添加到了中,這樣編譯開發程序的時候編譯器會自動搜索這個路徑,從中找到你的程序中可能包含的頭文件。 /usr/local 安裝本地程序的通常默認路徑。 當咱們下載一個程序源代碼,編譯而且安裝的時候,若是不特別指定安裝的程序路徑,那麼默認會將程序相關的文件安裝到這個目錄的對應目錄下。例如,安裝的程序可執行文件被安裝(安裝實質就是複製到了/usr/local/bin下面,此程序(可執行文件所須要依賴的庫文件被安裝到了/usr/local/lib目錄下,被安裝的軟件若是是某個開發庫(例如Qt,Gtk等那麼相應的頭文件可能就被安裝到了/usr/local/include中等等。也就是說,這個目錄存放的內容,通常都是咱們後來本身安裝的軟件的默認路徑,若是擇了這個默認路徑做爲軟件的安裝路徑,被安裝的軟件的所文件都限制在這個目錄中,其中的子目錄就相應於根目錄的子目錄。 /proc 特殊文件目錄。 這個目錄採用一種特殊的文件系統格式(proc格式,內核支持這種格式。其中包含了所有虛擬文件。它們並不保存在磁盤中,也不佔據磁盤空間(儘管命令ls -c會顯示它們的大小)。當您查看它們時,您實際上看到的是內存裏的信息,這些文件助於咱們瞭解系統內部信息。例如: ├1/ 關於進程1的信息目錄。每一個進程在/proc 下一個名爲其進程號的目錄。 ├cpuinfo 處理器信息,如類型、製造商、型號和性能。 ├devices 當前運行的核心配置的設備驅動的列表。 ├dma 顯示當前使用的DMA通道。 ├filesystems 核心配置的文件系統。 ├interrupts 顯示使用的中斷,and how many of each there have been. ├ioports 當前使用的I/O端口。 ├kcore 系統映象。與大小同樣,但實際不佔這麼多內存; ├kmsg 核心輸出的消息。也被送到syslog 。 ├ksyms 核心符號表。 ├loadavg 系統」平均負載」;3個沒意義的指示器指出系統當前的工做量。 ├meminfo 存儲器使用信息,包括和swap。 ├modules 當前加載了哪些核心模塊。 ├net 網絡協議狀態信息。 ├self 到查看/proc 的程序的進程目錄的符號鏈接。 ├stat 系統的不一樣狀態 ├uptime 系統啓動的時間長度。 └version 核心版本。 /opt 可擇的文件目錄。 這個目錄表示的是可擇的意思,些自定義軟件包或者第方工具,就能夠安裝在這裏。好比在Fedora Core 5.0中,OpenOffice就是安裝在這裏。些咱們本身編譯的軟件包,就能夠安裝在這個目錄中;經過源碼包安裝的軟件,能夠把它們的安裝路徑設置成/opt這樣來安裝。這個目錄的做用一點相似/usr/local。 /mnt 臨時掛載目錄。 這個目錄通常是用於存放掛載儲存設備的掛載目錄的,好比磁盤,光驅,網絡文件系統等,當咱們須要掛載某個磁盤設備的時候,能夠把磁盤設備掛載到這個目錄上去,這樣咱們能夠直接經過訪問這個目錄來訪問那個磁盤了。通常來講,咱們最好在/mnt目錄下面多創建幾個子目錄,掛載的時候掛載到這些子目錄上面,由於一般咱們可能不只僅是掛載一個設備吧? /media 掛載的媒體設備目錄。 掛載的媒體設備目錄,通常外部設備掛載到這裏,例如cdrom等。好比咱們插入一個U盤,咱們通常會發現,Linux自動在這個目錄下創建一個disk目錄,而後把U盤掛載到這個disk目錄上,經過訪問這個disk來訪問U盤。 /var 內容常常變化的目錄。 此目錄下文件的大小可能會改變,如緩衝文件,日誌文件,緩存文件,等通常都存放在這裏。 /tmp 臨時文件目錄。 該目錄存放系統中的一些臨時文件,文件可能會被系統自動清空。的系統直接把tmpfs類型的文件系統掛載到這個目錄上,tmpfs文件系統由Linux內核支持,在這個文件系統中的數據,其實是內存中的,因爲內存的數據斷電易失,當系統從新啓動的時候咱們就會發現這個目錄被清空了。 /lost+found 恢復文件存放的位置。 當系統崩潰的時候,在系統修復過程當中須要恢復的文件,可能就會在這裏被找到了,這個目錄通常爲空。 另外,有些目錄初學者容易混淆,這裏簡單區分一下: /bin,/sbin與/usr/bin,/usr/sbin: /bin通常存放對於用戶和系統來講「必須」的程序(二進制文件)。 /sbin通常存放用於系統管理的「必需」的程序(二進制文件),通常普通用戶不會使用,根用戶使用。 /usr/bin通常存放的只是對用戶和系統來講「不是必需的」程序(二進制文件)。 /usr/sbin通常存放用於系統管理的系統管理的不是必需的程序(二進制文件)。 /lib與/usr/lib: /lib和/usr/lib的區別相似/bin,/sbin與/usr/bin,/usr/sbin。 /lib通常存放對於用戶和系統來講「必須」的庫(二進制文件)。 /usr/lib通常存放的只是對用戶和系統來講「不是必需的」庫(二進制文件)。