Linux學習第二道坎——系統目錄結構及其做用

  若是說Linux學習的第一道坎是系統安裝及對磁盤分區的理解,那麼第二道坎就應該是對Linux系統目錄結構及其做用的掌握了(這裏主要指根目錄 / 下的一級目錄)!node

  隨着Linux的不斷髮展,Linux的主要目錄也有些微小的調整,固然不一樣的發行版本之間也有些細微的差異,不過主要目錄結構是不會有太大的變更的!windows

  廢話很少說,直接開機跑起Linux來拉出目錄一個一個講!這裏主要以CentOS 8 x64爲藍本進行講解,其主目錄結構如圖所示:服務器

.
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var運維

  在講解各個目錄的做用前先來簡要講一下截圖上有些特別的地方:學習

  一、高亮的淺藍色文件夾(binsbinliblib64)表示它們是一些符號連接(Symbolic Link,也叫軟連接,相似Windows的快捷方式),Linux一共有兩種連接類型,另外一種是硬連接(Hard Link);spa

  硬連接:在Linux系統中,保存在磁盤中的目錄或文件不管是什麼類型,都會給它分配一個索引節點(Inode:Index node),多個文件(名)能夠同時指向同一個索引節點,當最後一個指向目標索引節點的文件(名)被刪除後,文件的數據塊纔會被真正刪除;這裏文件(名)經過索引節點進行真實文件的連接(引用)就叫硬連接:3d

  軟連接:刪除軟連接,其指向的真實目錄或文件不會被刪除;若是刪除軟連接指向的真實(硬鏈接)目錄或文件,則該目錄或文件的全部軟連接都失效:unix

 

  二、綠色背景的目錄(tmp)表示它是全部用戶都有權讀寫的目錄;日誌

 

  好了,如今來說解每一個目錄的做用:blog

 

  /bin:bin是binary的縮寫,它是 /usr/bin 的軟連接目錄,該目錄主要用於存放普通用戶(非root用戶)可執行的命令程序,即普通命令程序存放目錄,例如 ls、cd、pwd、cat、mv、cp、su等等;

  /boot:見名知義,該目錄是系統啓動引導目錄,其中存放了Linux系統內核文件和引導文件,包含了系統啓動過程當中所需的全部內容;

  /dev: dev是device的縮寫,用於存放全部非可移動的硬件設備和終端設備,該目錄體現一Linux系統中一切皆文件的思想,Linux中的設備管理器程序——udev主要就管理着該目錄下的設備節點,注意與 /media、/mnt 、/proc 和 /sys 等目錄的區別;

  /etc:etc是etcetera的縮寫(表示一些零碎文件的存放目錄),主要用於存放系統管理所需的各類配置文件(靜態文件),是Linux系統的神經中樞!

  /home:普通用戶的主(家)目錄,主要用於存放普通用戶的用戶數據;

  /lib:lib是library的縮寫,它是 /usr/lib 的軟連接目錄,該目錄是共享標準程序庫(也叫動態連接庫,相似windows中的*.dll文件)的存放目錄,系統開機引導程序以及 /bin 和 /sbin 目錄中的命令程序通常都會調用該目錄中對應的lib;

  /lib64:同 /lib 相似,它是 /usr/lib64 的軟連接目錄,只是存放的是64位的標準程序庫;

  /media:media是媒體、媒介的意思,該目錄主要用於掛載可移除設備,例如U盤、光盤、移動硬盤等,還有已經淘汰了的軟盤等;

  /mnt:mnt是mount的縮寫(裝載、掛載的意思),該目錄主要用於臨時掛載其餘文件系統或設備,相對於 /media 目錄主要用於自動掛載設備,/mnt 目錄通常用於手動掛載設備;

  /opt:opt是option的縮寫(可選),該目錄主要用於安裝一些可選的第三方應用程序,安裝在該目錄的程序,它的全部數據、庫文件等等都是放在同一個目錄下,不會影響系統的其餘任何設置,所安裝的程序不須要了能夠直接刪除(注意與 /usr/local的區別);

  /proc:proc是process的縮寫(進程、過程),該目錄是虛擬的,即物理磁盤上不是存在這個目錄的,它是系統運行時,內存中的系統信息和全部進程信息的映射,能夠經過該目錄來獲取系統信息和進程信息;

  /root:系統超級管理員root用戶的主(家)目錄,主要用於存放root用戶的用戶數據;

  /run:該目錄用於存放系統運行時所需的文件,每次系統都會從新生成或修改該目錄中的文件數據,系統運行過程當中也會不時地修改該目錄中的數據,另外,之前是放置在 /var/run 目錄中的,如今 /var/run 目錄成了 /run 目錄的軟連接目錄(獨立自主了!);

  /sbin:sbin是super binary的縮寫,它是 /usr/sbin 的軟連接目錄,該目錄主要用於存放超級管理員root用戶可執行的命令程序,即超級管理員命令程序存放目錄,例如普通用戶須要 sudo 才能執行的命令通常都存放於此;

  /srv:srv是service的縮寫,該目錄用於存放某些服務程序的特定服務數據,例若有些發行版本會在安裝配置完FTP服務器後,在該目錄建立一個ftp子目錄用於存放FTP服務數據;

  /sys:sys是system的縮寫,該目錄也是一個虛擬目錄,主要用於收集和存放系統核心設備信息,主要指各種系統核心設備及其驅動信息,例如塊設備block、總線bus、內核kernel、電源power等等;

  /tmp:tmp是temp的縮寫,該目錄主要用於存放使用完後能夠隨時銷燬的臨時文件,若是是系統或應用程序自動產生的臨時文件,系統或應用程序通常也會自動刪除這些臨時文件,固然用戶也能夠主動在此存放一下臨時文件,該目錄全部用戶均可讀寫;

  /usr:usr是unix system resource的縮寫,是最龐大的一個目錄,全部的應用程序或程序庫幾乎都安裝或放置在該目錄下,包括前面講到的普通用戶和超級管理員用戶的各種命令程序及程序庫,根目錄下的/bin、/sbin、/lib 和 /lib64 都只是該目錄下某個子目錄的軟連接目錄!該目下的應用程序相關的手冊和其餘文檔也幾乎都存放在該目錄中(有點像Windows平臺下的【 C:\Windows + C:\Program Files + C:\Program Files (x86) 】);

  /var:var是variable的縮寫(變化的),該目錄主要用於存放頻繁變化的文件,好比系統和各類服務的輸出日誌,注意與 /tmp目錄的區別;

 

  Linux根目錄下的主要目錄就講完了,接下來再講一下咱們服務器運維過程當中使用多很是多的一個重要目錄—— /usr/local 目錄:

  /usr/local:該目錄主要用於存放那些手動安裝的軟件(即不是經過RPM、apt-get等包管理安裝的軟件),該目錄與它的上級目錄 /usr 具備很是類似的子目錄結構,通常狀況下由包管理器安裝的軟件會直接存放於 /usr 下,而咱們手動安裝的軟件一般會選擇放在 /usr/local 下:

 

  最後,還有一個不經常使用到的目錄也提一下,那就是系統崩潰等導常狀況出現文件丟失時,用於存放丟失文件的目錄—— /lost+found :

  /lost+found:該目錄也位於根目錄下,只是在非ext2/ext3格式的文件系統中通常狀況下是見不到它的(在ext2/ext3格式的文件系統下每一個分區默認都會有一個lost+found目錄),另外「lost+found」是一個完整的目錄名哦!通常在系統出現崩潰,有系統或服務丟失的文件須要存儲時,會自動建立該目錄,並將相關文件存入其中,待後面進行恢復時找回,該目錄默認只有root用戶能打開。固然,咱們也能夠手工建立該目錄,只是建立該目錄的命令不是普通的 mkdir 命令,而專用的 mklost+found 命令:

 

  最後的建議:Linux主要目錄結構及其做是是學習Linux必過的一關,一會兒記不住就多記幾回,同時能夠類比着Windows來輔助理解,天天拿出來看一遍,再加上平常的各種服務的搭建,慢慢就記住了!

相關文章
相關標籤/搜索