各種深入講解Linux作業系統

來源:互聯網
上載者:User

Linux作業系統經過長時間的發展,很多使用者都很瞭解Linux了,本人很喜歡Linux作業系統,下面就這個問題來詳細說說吧。接觸Linux作業系統也有一段時間了,不過這幾天在編譯開來源程式時,才發現自己對Linux作業系統的目錄結構瞭解的不夠透徹,很多重要目錄都說不清楚是用來幹嘛的,於是在網上百度了一下這方面的介紹,根據自己的使用習慣,整理出來一篇關於Linux檔案系統的目錄結構的文章,和大家一起分享。文章對Linux作業系統下所有目錄一一說明,對比較重要的目錄加以重點解說,以協助初學者熟練掌握Linux作業系統的目錄結構。同時文章最後附錄了一份Linux目錄結構的簡明手冊,以便大家查閱。

什麼是檔案系統

當您使用Linux作業系統的時候,如果您通過ls –l / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin ... ... 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或檔案。檔案系統在Linux作業系統下看上去就象樹形結構,所以我們可以把檔案系統的結構形象的稱為樹形結構。 Linux作業系統的最頂端是/,我們稱/為Linux的root,也就是 Linux作業系統的檔案系統。Linux作業系統的入口就是/,所有的目錄、檔案、裝置都在/之下,/就是Linux檔案系統的召集人,也是最上級的領導者。

檔案系統的類型

Linux作業系統有四種基本檔案系統類型:普通檔案、目錄檔案、串連檔案和特殊檔案,可用file命令來識別。
普通檔案:如文字檔、C語言元代碼、SHELL指令碼、二進位的可執行檔等,可用cat、less、more、vi、emacs來察看內容,用mv來改名。
目錄檔案:包括檔案名稱、子目錄名及其指標。它是LINUX儲存檔案名稱的唯一地方,可用ls列出目錄檔案。
串連檔案:是指向同一索引節點的那些目錄條目。用ls來查看是,串連檔案的標誌用l開頭,而檔案面後以"->"指向所串連的檔案。
特殊檔案:LINUX的一些裝置如磁碟、終端、印表機等都在檔案系統中表示出來,則一類檔案就是特殊檔案,常放在/dev目錄內。例如,軟碟機A稱為/dev/fd0。LINUX無C:的概念,而是用/dev/had來自第一硬碟。

目錄結構的詳細解說

檔案系統的組織圖分析,我們能分析什麼呢?也就是當我們列/目錄時,所看到的/usr、/etc ... ... /var 等目錄是做什麼用的,這些目錄是不是有些特定的用途。無論哪個哪個版本的Linux作業系統,都有這些目錄,這些目錄應該是標準的。當然各個Linux發行版本也會存在一些小小的差異,但總體來說,大體還是差不多。
言歸正傳,下面飄揚將講到本文最核心的部分:Linux作業系統的目錄結構。

/ Linux作業系統的入口,也是處於最高一級的目錄;
/bin 系統所需要的那些命令位於此目錄,比如 ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的檔案都是可執行檔、普通使用者都可以使用的命令。作為基礎系統所需要的最基礎的命令就是放在這裡。
/boot Linux作業系統的核心及引導系統程式所需要的檔案目錄,比如 vmlinuz initrd.img 檔案都位於這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位於這個目錄;
/dev裝置檔案儲存體目錄,比如音效卡、磁碟... ...
/etc 系統設定檔的所在地,一些伺服器的設定檔也在這裡;比如使用者帳號及密碼設定檔;
/home  普通使用者家目錄預設存放目錄;
/lib  庫檔案存放目錄
/lost+found  在ext2或ext3檔案系統中,當系統意外崩潰或機器意外關機,而產生一些檔案片段放在這裡。當系統啟動的過程中fsck工具會檢查這裡,並修複已經損壞的檔案系統。 有時系統發生問題,有很多的檔案被移到這個目錄中,可能會用手工的方式來修複,或移到檔案到原來的位置上。
/mnt 這個目錄一般是用於存放掛載儲存裝置的掛載目錄的,比如有cdrom 等目錄。可以參看/etc/fstab的定義。有時我們可以把讓系統開機自動掛載檔案系統,把掛載點放在這裡也是可以的。主要看/etc/fstab中怎麼定義了;比如光碟機可以掛載到/mnt/cdrom 。
/opt  表示的是可選擇的意思,有些軟體包也會被安裝在這裡,也就是自訂軟體包,比如在Fedora Core 5.0中,OpenOffice就是安裝在這裡。有些我們自己編譯的軟體包,就可以安裝在這個目錄中;通過源碼包安裝的軟體,可以通過 ./configure --prefix=/opt/目錄 。
/proc作業系統運行時,進程資訊及核心資訊比如cpu、硬碟分區、記憶體資訊等)存放在這裡。/proc目錄偽裝的檔案系統proc的掛載目錄,proc並不是真正的檔案系統,它的定義可以參見 /etc/fstab 。
/rootLinux超級許可權使用者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相關的設定檔存放地。

/usr/bin   這個目錄是可執行程式的目錄,普通使用者就有許可權執行;當我們從系統內建的軟體包安裝一個程式時,他的可執行檔大多會放在這個目錄。比如安裝gaim軟體包時。相似的目錄是/usr/local/bin;有時/usr/bin中的檔案是/usr/local/bin的連結檔案;
/usr/sbin 這個目錄也是可執行程式的目錄,但大多存放涉及系統管理的命令。只有root許可權才能執行;相似目錄是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;
/usr/local 這個目錄一般是用來存放使用者自編譯安裝軟體的存放目錄;一般是通過源碼包安裝的軟體,如果沒有特別指定安裝目錄的話,一般是安裝在這個目錄中。這個目錄下面有子目錄。自己看看吧。
/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相應的目錄中。
/var/adm 比如軟體包安裝資訊、日誌、管理資訊等,在Slackware作業系統中是有這個目錄的。在Fedora中好象沒有;自己看看吧。
/var/log 系統日誌存放,分析日誌要看這個目錄的東西;
/var/spool   印表機、郵件、Proxy 伺服器等假離線目錄;

附錄:目錄結構的簡明查閱手冊

(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 可選的應用程式,譬如,REDHAT 5.2下的KDE REDHAT 6.0下,KDE放在其它的XWINDOWS應用程式中,主執行程式在/usr/bin目錄下)
/tmp 臨時檔案。該目錄會被自動清理乾淨。
/lost+found 在檔案系統修複時恢複的檔案

(2)“/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目錄下大應用程式的符號串連。

(3)“/proc”目錄的內容:
/proc/cpuinfo 關於處理器的資訊,如類型、廠家、型號和效能等。
/proc/devices 當前運行核心所配置的所有裝置清單。
/proc/dma 當前正在使用的DMA通道。/proc/filesystems 當前運行核心所配置的檔案系統。
/proc/interrupts 正在使用的中斷,和曾經有多少個中斷。
/proc/ioports 當前正在使用的I/O連接埠。

本文是Linux檔案系統的一個組成部分,對於一個系列文檔來說,還是必不可缺的。寫本文的目的如開頭已經敘說的一樣,是為了給Linux作業系統學習者提供一個關於Linux作業系統檔案系統的目錄結構的參考手冊。如有不明之處,請聯絡飄揚,你可以到我的留言本http://www.piaoyang.org/guestbook 給我留言,我會儘力解答你的問題。以此拙作,希望能給大家帶去些微的協助。

  1. Linux作業系統吸引我們的優點
  2. Linux作業系統的曆史
  3. 輕鬆在Linux作業系統中找回遺失的root密碼
  4. 為你分析Linux作業系統和Windows系統
  5. 講解介紹Fedora 7 linux作業系統DVD版

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.