天天看點

『學了就忘』Linux基礎 — 15、了解Linux系統的目錄結構

目錄

  • 1、一級目錄說明
    • (1)一級目錄清單
    • (2)/bin/和/sbin/目錄說明
    • (3)/boot/目錄說明
    • (4)/lib/和/lib64/目錄說明
    • (5)/lost+found/目錄說明
    • (6)/media/、/misc/、/mnt/目錄說明
    • (7)總結
  • 2、重要的二級目錄說明
    • (1)重要的二級目錄清單
    • (2)總結:

Linux系統的最高一級目錄是根目錄(

/

),相當于Windows系統中的計算機。在根目錄下會有一些一級目錄,首先我們要了解這些目錄的作用。(值得花點時間了解一下)

CentOS 6

的根目錄内容如下圖所示:

『學了就忘』Linux基礎 — 15、了解Linux系統的目錄結構
學習Linux目錄結構有什麼好處?
  • 你會更加熟悉Linux系統的檔案目錄結構。
  • 了解了目錄結結構之後,以後遇到一些陌生的檔案,你就看他放在哪裡,基本上就能猜出來這個檔案的大概作用。
  • 如果大家都遵守這樣的目錄,Linux系統的管理将變得非正常範。因為伺服器不是一個人在維護,是一個團隊中很多人一起進行維護。

目錄名 目錄作用

/bin/

存放系統指令的目錄,普通使用者和超級使用者都可以執行。是

/usr/bin/

目錄的軟連結。

/usr/bin/

存放系統指令的目錄,普通使用者和超級使用者都可以執行。

/sbin/

存放系統指令的目錄,隻有超級使用者才可以執行。是

/usr/sbin/

/usr/sbin/

存放系統指令的目錄,隻有超級使用者才可以執行。

/boot/

系統啟動目錄,儲存與系統啟動相關的檔案,如核心檔案和啟動引導程式(

grub

)檔案等。

/dev/

硬體裝置檔案儲存位置。

/etc/

配置檔案儲存位置。系統内所有采用預設安裝方式(

rpm

安裝)的服務配置檔案全部儲存在此目錄中,如使用者資訊、服務的啟動腳本、常用服務的配置檔案等。

/home/

普通使用者的家目錄。在建立使用者時,每個使用者要有一個預設登入和儲存自己資料的位置,就是使用者的家目錄,所有普通使用者的宿主目錄是在

/home/

下建立一個和使用者名相同的目錄。如使用者

user1

的家目錄就是

/home/user/

,~就是代表目前位置在使用者的家目錄下。

/lib/

系統調用的函數庫儲存位置。是

/usr/lib/

的軟連結。

/lib64/

64位函數庫儲存位置。是

/usr/lib6/

/lost+found/

當系統意外崩潰或機器意外關機,而産生一些檔案碎片放在這裡。當系統啟動的過程中fsck工具(自動執行)會檢查這裡,并修複已經損壞的檔案系統。這個目錄隻在每個分區中出現,例如

/lost+found

就是根分區的備份恢複目錄,

/boot/lost+found

就是

/boot

分區的備份恢複目錄。

/media/

挂載目錄。系統建議是用來挂載媒體裝置的,如軟碟和CD光牒。

/misc/

挂載目錄。系統建議用來挂載NFS服務的共享目錄。

/mnt/

挂載目錄。早期Linux中隻有這一個挂載目錄,并沒有細分。現在系統建議這個目錄用來挂載額外的裝置,如U盤、移動硬碟和其他作業系統的分區

/opt/

第三方安裝的軟體儲存位置。這個目錄是放置和安裝其他軟體的位置,手工安裝的源碼包軟體都可以安裝到這個目錄中。不過還是習慣把軟體放到

/usr/local/

目錄中,也就是說,

/usr/local/

目錄也可以用來安裝軟體。

/proc/

虛拟檔案系統。該目錄中的資料并不儲存在硬碟上,而是儲存到記憶體中。主要儲存系統的核心、程序、外部裝置狀态和網絡狀态等。如

/proc/cpuinfo

是儲存CPU資訊的,

/proc/devices

是儲存裝置驅動的清單的,

/proc/filesystems

是儲存檔案系統清單的,

/proc/net

是儲存網絡協定資訊的。(不要動就好)

/sys/

虛拟檔案系統。和

/proc/

目錄相似,該目錄中的資料都儲存在記憶體中,主要儲存與核心相關的資訊

/root/

root

的宿主目錄。普通使用者宿主目錄在

/home/

下,

root

宿主目錄直接在

/

下。

/selinux/

Linux系統的增強安全元件的儲存位置。

/srv/

服務資料目錄。一些系統服務啟動之後,可以在這個目錄中儲存所需要的資料。(不許動)

/tmp/

臨時目錄。系統存放臨時檔案的目錄,在該目錄下,所有使用者都可以通路和寫入。我們建議此目錄中不能儲存重要資料,最好每次開機都把該目錄清空。

/usr/

系統軟體資源目錄。注意

usr

不是

user

的縮寫,而是

UNIX Software Resource

的縮寫,是以不是存放使用者資料的目錄,而是存放系統軟體資源的目錄。系統中安裝的軟體大多數儲存在這裡

/var/

動态資料儲存位置。主要儲存緩存、日志以及軟體運作所産生的檔案。

  • bin

    目錄和

    sbin

    目錄的差別?

    1)

    bin

    sbin

    目錄下放的是Linux的系統指令。

    2)在這兩個

    bin

    目錄中放的指令,是普通使用者和超級使用者都可以執行的指令。

    3)在兩個

    sbin

    目錄中放的指令,隻有超級使用者才能執行。

    4)

    bin

    是二機制(

    binary

    )的縮寫,表示是二進制指令,

    sbin

    是(

    super binary

    )的縮寫。
  • /bin/

    /usr/bin/

    目錄中指令有什麼差別?

    Red Hat 6

    版本,這兩個目錄還是分開的,到

    Red Hat 7

    版本,這兩個目錄就合并了。就隻剩下一個

    /usr/bin/

    目錄。

boot

目錄中的檔案,都是系統啟動時必須的。如果誤删了,系統一定會啟動失敗。(沒事别動它)

/lib/

/lib64/

目錄中放的是函數庫。函數庫就是程式集合,函數就是程式。

一些需要頻繁調用的程式,就可以封裝成一個函數庫。

函數庫降低了開發人員的開發難度,提升了效率。

所有的成熟語言都會有完整的函數庫的。Linux系統是C語言開發的函數庫。

Linux的函數庫的命名規則:

.so+數字

結尾命名的檔案就是函數庫。

這個目錄就是意外崩潰或者關機之後的檔案修複目錄。開機時通過

fsck

工具自動修複,如果自動修複不了,手動其實也解決不了什麼問題,是以這個目錄知道有什麼作用就可以了。

我們在之前的文章已經解釋了挂載,知道隻要是一個已經建立的空目錄就可以作為挂載點。

那麼系統雖然準備了三個預設挂載目錄

/media

/mnt

/misc

,但是到底在哪個目錄中挂載什麼裝置都可以由管理者自己決定。

例如剛接觸Linux的時候,預設挂載目錄隻有

/mnt

一個,是以養成了在

/mnt

下建立不同目錄挂載不同裝置的習慣。如

/mnt/cdrom

挂載CD光牒,

/mnt/usb

挂載U盤,這都是可以的。

官方推薦

/media

目錄挂載CD光牒,

/misc

目錄挂網絡儲存設備,

/mnt/

挂載U盤或者移動盤。

根據自己的需求和使用習慣進行配置設定就可以。

提示:

cgroup

目錄,在

Red Hat 7

版本中就淘汰了。

1)一定要記住的目錄

/bin/

/sbin/

/usr/bin/

/usr/sbin/

/boot/

/dev/

/etc/

/home/

/lib/

/lib64/、/mnt/

/tmp/

/root/

/usr/

/var/

2)了解即可的目錄

/lost+found/

/media/

/misc/

/opt/

3)沒事不要動的目錄

/proc/

/sys/

/selinux/

/srv/

4)提示:

推薦兩個可以做實驗的目錄:

  • 使用者的家目錄。
  • tmp

    臨時目錄。

(自己建立的随便删,系統自帶的或者生成的還是慎重删)

這些二級目錄的主要位置就是在根下的

/usr/

/var/

目錄中。

說明

/usr/lib/

也是一個應用程式調用的函數庫儲存位置。

/usr/local/

手工安裝的軟體儲存位置。我們一般建議源碼包軟體安裝在這個位置,不建議放在

/opt

目錄下。(軟體的安裝位置)

/usr/share/

應用程式的資源檔案儲存位置,如幫助文檔、說明文檔和字型目錄

/usr/src/

源碼包儲存位置。我們手工下載下傳的源碼包和核心源碼包都可以儲存到這裡。不過一般習慣把手工下載下傳的源碼包儲存到

/usr/local/src/

目錄中,把核心源碼儲存到

/usr/src/kernels/

目錄中。(

/usr/src/

是軟體安裝包的位置)

/usr/src/kernels/

核心源碼儲存位置。

/var/www/html/

RPM包安裝的Apache的網頁主目錄(也就是預設安裝(rpm)的Apache的網頁在這裡,裝完Apache會自動生成

/www/html/

目錄)。

/var/log/

系統日志儲存位置(預設安裝的軟體的日志在這裡,手動的不在這裡)。

/var/lib/

程式運作中需要調用或改變的資料儲存位置。如MySQL的資料庫儲存在

/var/lib/mysql/

目錄中。(預設安裝的MySQL資料庫的儲存位置在

/var/lib/mysql/

,這裡重點記住)。

/var/run/

一些服務和程式運作後,它們的PID(程序ID)儲存位置。是

/run/

目錄的軟連結

/var/spool/

放置隊列資料的目錄。就是排隊等待其他程式使用的資料,比如郵件隊列和列印隊列。

/var/spool/mail/

新收到的郵件隊列儲存位置。系統新收到的郵件會儲存在此目錄中。

/var/spool/cron/

系統的定時任務隊列儲存位置。系統的計劃任務會儲存在這裡。

/usr/local/

/usr/share/

/usr/src/

或者

/usr/local/src/

/var/log/

/var/www/html/

/var/lib/

/var/run/

/var/spool/

/var/spool/mail/

/var/spool/cron/

/usr/lib/

/usr/src/kernels/

說明:

/usr/src/kernels/

是空的,是因為我們選擇安裝的軟體包是

basicserver

basicserver

軟體包中是沒有安裝源代碼的,如果你需要檢視核心的源代碼進行學習,可以自己手動安裝。
提示:記住每個目錄的作用,是存放什麼東西的就可以了,友善以後我們對Linux系統的學習。