ubuntu 文件系統簡介

在安裝 ubuntu 以前本身在網上作了點功課,又複習了下一些基礎的概念,特地記錄下來。這篇介紹下他的文件系統,下篇在介紹具體安裝過程。linux

1 文件系統類型

windows 中常見的磁盤格式有 fat1六、fat32 和 ntfs 。windows 是一個封閉的系統。沒法打開 ext3 或者 mac 日誌式。c++

在 ubuntu 中其文件系統普遍使用 ext3 ( ext4 是 ext3 的擴展)的文件格式,從而實現了將整個硬盤的寫入動做完整的記錄在磁盤的某個區域上。若是裝 windows 和 ubuntu 雙系統的話,在 ubuntu 中能夠實現主動掛載 windows 的文件系統,並以只讀的方式訪問磁盤中 windows 系統上的文件。ubuntu

當你以用戶的身份登陸 ubuntu 系統後,能夠查看本身目前所在的目錄,操做及結果以下:windows

aidan@Aidan-Ubuntu:~$ pwd
/home/aidan

個人家裏就是這樣的,而根目錄下就比較複雜了,稍後咱們詳細介紹。緩存

圖片描述

這是個人家,關於 linux 用戶的知識在這裏就不在贅述,不太瞭解的同窗能夠參考:bash

在 ubuntu 中磁盤文件系統、網絡文件系統均可以很是方便的使用,而屏蔽了網絡和本地之間的差別。在 ubuntu 中全部的文件都是基於目錄的方式存儲的。一切都是目錄,一切都是文件。這原本就是 linux 所倡導的。spa

2 文件系統結構

/ 是一切目錄的起點,如大樹的主幹。其它的全部目錄都是基於樹幹的枝條或者枝葉。在 ubuntu 中硬件設備如光驅、軟驅、usb 設備都將掛載到這顆繁茂的枝幹之下,做爲文件來管理。.net

這裏給你們先介紹一個軟甲 tree,我用它來處理文件目錄。功能很強大,安裝的話很簡單,使用也是比較簡單的,安裝完以後查看幫助就好。

sudo apt-get install tree // 安裝 tree

tree --help // 查看 tree 使用幫助

cd / // 切到根目錄

tree -L 1 // 查看跟目錄下全部 1 及文件或文件夾

2.1 根目錄文件結構

.
├── bin // bin是Binary的縮寫。存放系統中最經常使用的可執行文件(二進制)
├── boot // 這裏存放的是Linux內核和系統啓動文件,包括Grub、lilo啓動器程序
├── cdrom
├── dev // dev是Device(設備)的縮寫。該目錄存放的是Linux的外部設備,如硬盤、分區、鍵盤、鼠標、usb等
├── etc // 這個目錄用來存放全部的系統管理所須要的配置文件和子目錄,如passwd、hostname等
├── home // 用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的
├── initrd.img -> boot/initrd.img-4.4.0-21-generic
├── lib // 存放共享的庫文件,包含許多被/bin和/sbin中程序使用的庫文件
├── lib64
├── lost+found // 這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些零散文件
├── media // ubuntu系統自動掛載的光驅、usb設備,存放臨時讀入的文件
├── mnt // 做爲被掛載的文件系統得掛載點
├── opt // 做爲可選文件和程序的存放目錄,主要被第三方開發者用來簡易安裝和卸載他們的軟件
├── proc // 這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。這裏存放全部標誌爲文件的進程,比較cpuinfo存放cpu當前工做狀態的數據
├── root // 該目錄爲系統管理員,也稱做超級權限者的用戶主目錄
├── run
├── sbin // s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序,如系統管理、目錄查詢等關鍵命令文件
├── snap
├── srv // 存放系統所提供的服務數據
├── sys // 系統設備和文件層次結構,並向用戶程序提供詳細的內核數據信息
├── tmp // 這個目錄是用來存放一些臨時文件的,全部用戶對此目錄都有讀寫權限
├── usr // 存放與系統用戶有關的文件和目錄
├── var // 長度可變的文件,尤爲是些記錄數據,如日誌文件和打印機文件
└── vmlinuz -> boot/vmlinuz-4.4.0-21-generic

下面咱們來具體介紹下 /var 和 /usr 目錄下的內容

2.2 /var 和 /usr 文件結構

2.2.1 /var 文件結構

.
├── backups
├── cache // 應用程序緩存目錄
├── crash // 系統錯誤信息
├── lib
├── local
├── lock -> /run/lock
├── log // 日誌文件
├── mail // 電子郵件
├── metrics
├── opt
├── run -> /run
├── snap
├── spool
└── tmp // 臨時文件目錄

2.2.1 /usr 文件結構

.
├── bin // 應用程序和程序包的鏈接庫
├── games // 存放着XteamLinux自帶的小遊戲
├── include // 用來存放Linux下開發和編譯應用程序所須要的頭文件,for c 或者c++
├── lib // 應用程序和程序包的鏈接庫
├── local // 系統管理員安裝的應用程序目錄
├── locale
├── sbin // 存放root超級用戶使用的管理程序
├── share
└── src // Linux開放的源代碼

注: ubuntu嚴格區分大小寫和空格,因此Sun和sun是兩個不一樣的文件。

參考資料:

poplong的專欄:ubuntu文件系統結構講解