Linux系統的最高一級目錄是根目錄(/
),相當於Windows系統中的計算機。在根目錄下會有一些一級目錄,首先我們要了解這些目錄的作用。(值得花點時間瞭解一下)
CentOS 6
的根目錄內容如下圖所示:
學習Linux目錄結構有什麼好處?
- 你會更加熟悉Linux系統的檔案目錄結構。
- 瞭解了目錄結結構之後,以後遇到一些陌生的檔案,你就看他放在哪裡,基本上就能猜出來這個檔案的大概作用。
- 如果大家都遵守這樣的目錄,Linux系統的管理將變得非常規範。因為伺服器不是一個人在維護,是一個團隊中很多人一起進行維護。
1、一級目錄說明
(1)一級目錄列表
目錄名 | 目錄作用 |
---|---|
/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/ |
掛載目錄。系統建議是用來掛載媒體裝置的,如軟盤和光碟。 |
/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/ |
動態資料儲存位置。主要儲存快取、日誌以及軟體執行所產生的檔案。 |
(2)/bin/和/sbin/目錄說明
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/
目錄。
(3)/boot/目錄說明
boot
目錄中的檔案,都是系統啟動時必須的。如果誤刪了,系統一定會啟動失敗。(沒事別動它)
(4)/lib/和/lib64/目錄說明
/lib/
和/lib64/
目錄中放的是函式庫。函式庫就是程式集合,函式就是程式。
一些需要頻繁呼叫的程式,就可以封裝成一個函式庫。
函式庫降低了開發人員的開發難度,提升了效率。
所有的成熟語言都會有完整的函式庫的。Linux系統是C語言開發的函式庫。
Linux的函式庫的命名規則:.so+數字
結尾命名的檔案就是函式庫。
(5)/lost+found/目錄說明
這個目錄就是意外崩潰或者關機之後的檔案修復目錄。開機時通過fsck
工具自動修復,如果自動修復不了,手動其實也解決不了什麼問題,所以這個目錄知道有什麼作用就可以了。
(6)/media/、/misc/、/mnt/目錄說明
我們在之前的文章已經解釋了掛載,知道只要是一個已經建立的空目錄就可以作為掛載點。
那麼系統雖然準備了三個預設掛載目錄/media
、/mnt
、/misc
,但是到底在哪個目錄中掛載什麼裝置都可以由管理員自己決定。
例如剛接觸Linux的時候,預設掛載目錄只有/mnt
一個,所以養成了在/mnt
下建立不同目錄掛載不同裝置的習慣。如/mnt/cdrom
掛載光碟,/mnt/usb
掛載U盤,這都是可以的。
官方推薦/media
目錄掛載光碟,/misc
目錄掛網路儲存裝置,/mnt/
掛載U盤或者移動盤。
根據自己的需求和使用習慣進行分配就可以。
提示:
cgroup
目錄,在Red Hat 7
版本中就淘汰了。
(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
臨時目錄。
(自己建立的隨便刪,系統自帶的或者生成的還是慎重刪)
2、重要的二級目錄說明
這些二級目錄的主要位置就是在根下的/usr/
目錄和/var/
目錄中。
(1)重要的二級目錄列表
目錄 | 說明 |
---|---|
/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/ |
系統的定時任務佇列儲存位置。系統的計劃任務會儲存在這裡。 |
(2)總結:
1)一定要記住的目錄
/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/
。
2)瞭解即可的目錄
/usr/lib/
、/usr/src/kernels/
說明:
/usr/src/kernels/
是空的,是因為我們選擇安裝的軟體包是basicserver
。
basicserver
軟體包中是沒有安裝原始碼的,如果你需要檢視核心的原始碼進行學習,可以自己手動安裝。
提示:記住每個目錄的作用,是存放什麼東西的就可以了,方便以後我們對Linux系統的學習。