linux目錄結構
Linux 系統哲學思想
-
一切皆是文件(包括設備,所以/dev下可以有設備文件)
-
小型,單一用途的程序
-
配置數據存放在文本中
Windows 系統哲學思想
- 一切皆圖形
- 考慮用戶體驗性
- 儘可能的隱藏實現過程
Linux Foundation有一套標準規範:
-
/
:系統的根目錄Windows和Linux這一點不太一樣,Windows習慣上有盤符(C盤,D盤等)的概念,以盤符作爲系統分區,而linux其實也有分區,只不過是Linux的分區是掛載(相當於給設備一個目錄入口)在“/”上的,所以分區在linux目錄結構上看不出來。
其實Windows也可以實現"掛載"到"根分區"的。
步驟1、在c盤建立"掛載點"(創建幾個目錄這裏建立目錄名稱爲G)
2、計算機》管理》磁盤管理,找到磁盤0,在分區上右擊,點擊"更改驅動器號和路徑(C)...",如圖所示:
3、此時也可以將盤符刪掉,如圖:
4、查看C盤的G文件夾,是否很出乎意料^_^.
-
/bin
:所有用戶可用的基本命令程序文件;類比Windows中除了c盤的Program Files文件夾,存放用戶安裝的程序。 -
/sbin
:系統用戶管理命令;類比c盤的Program Files文件夾,存放系統程序。 -
/boot
:系統的啓動文件,類似於Windows的mbr,boot loader的靜態文件(kernel,initramfs(initrd),grub等) -
/dev
:存儲特殊文件(tty虛擬終端之類)和設備文件(字符設備(鍵盤、顯示器)、塊設備(硬盤、光盤))。類似Windows中驅動盤(DVD驅動器,U盤驅動器) -
/etc
:存放系統或者程序的配置文件;類似windows中註冊表的功能 -
/home
:非root用戶的家目錄,windows中也有自己的家目錄。 -
/root
:root用戶的家目錄;Windows中C:\Users\Administrator目錄 -
/lib
:可以理解爲"library"的縮寫,爲系統啓動或者根文件系統上的應用程序(/bin,/sbin)等提供共享庫,以及爲內核提供內核模塊。-
libc.so.*
:動態鏈接的c庫 -
ld*
:運行時鏈接器/加載器 -
modules
:用於存儲內核模塊的目錄
-
-
/lib64
:爲64位系統共享文件庫 -
/media
:便攜式設備的掛載點(如光盤cdrom、u盤floppy) -
/mnt
:臨時文件系統的掛載點。 -
/opt
:附加程序的安裝位置;相當於用戶新建目錄以存放安裝程序。 -
/srv
:當前主機爲服務提供的數據 -
/tmp
:臨時文件(temporary files)(可供所有用戶執行寫入操作) -
/usr
:全局共享只讀文件(Universial Shareable Read-only)(類似於Windows中的"C:\Windows"目錄)-
bin
:非系統啓動時用到的程序 -
sbin
:系統啓動時用到的程序 -
include
:c程序的頭文件(header files) -
lib
:程序依賴的庫-
lib64
:程序依賴的庫 (64位)
-
-
local
:用來安裝本地應用程序(又一個層級目錄),第三方程序 (比如在MacOS下,brew安裝都會安裝在usr/local/bin下) -
share
:命令手冊頁,命令自帶文檔 -
src
:某些程序的源代碼
-
-
/var
:可變數據文件(系統日誌、緩存文件) -
/proc
:基於內存的虛擬文件系統(一切皆文件,把實時的內核參數和進程的信息進行可視化)(系統調優經常用到) -
/sys
:sysfs虛擬文件系統,提供了一種比proc更爲理想的訪問內存數據的途徑,爲管理Linux設備提供了一種統一模型的接口(see also: https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/)(系統調優經常用到) -
swap交換空間:當內存不夠使用時候,Linux會使用磁盤的一部分空間來當做內存使用,當然磁盤的速度遠小於內存的速度,此時會使系統運行效率極低;Windows中也有此概念,只不過叫做虛擬內存。如圖所示: