如何理解linux中檔案系統和分割槽兩個概念的區別?

時間 2021-05-08 00:46:38

1樓:Michael002

分割槽是partition,是更靠近物理層的概念。

檔案系統是filesystem,是更靠近軟體層的概念。

如Ubuntu文件所描述的,sda表示第乙個檢測到的硬碟,第二個就是sdb。

而sda1,sda2等等是第乙個sda硬碟上的第乙個和第二個分割槽。這些分割槽都是基於物理磁碟的概念。乙個分割槽對應一塊磁碟區域。

而filesystem是軟體層概念。檔案系統不一定對應物理上的分割槽,因為檔案系統有基於虛擬磁碟的。tmpfs就是temp filesystem的意思,就是說它是乙個臨時分割槽。

檔案系統可以看看mount命令,掛載在作業系統上的檔案系統不一定是硬體裝置,也可是檔案。

FAT ext是檔案系統的型別,檔案系統型別不同代表了不同的檔案儲存方式。

C.4. Device Names in Linux

如有疏漏,還請指出。

2樓:牛博恩

其他人的回答是比較通用的內容,針對你這個具體的截圖我再補充點內容。

你的磁碟做了兩個分割槽沒錯,其中靠前的sda1被用作boot也就是啟動分割槽,sda2被用作LVM,叫做邏輯卷管理,sda1和sda2可以理解成物理上把硬碟劃成了兩塊區域,要使用這些區域就需要使用檔案系統管理,檔案系統是一種組織檔案應該怎麼儲存到磁碟的軟體

對於作業系統來講,它只管訪問centos-root,而不需要知道硬碟的那些細節。

如果不理解那建議去專門學下LVM的知識。

3樓:朝聞君

檔案是OS對於硬體乃至所有資源的抽象,不僅僅是磁碟。

字元裝置(比如鍵盤) -> 抽象成檔案read的那些字元塊裝置(比如磁碟or記憶體or螢幕orCMOS) -> 抽象成整個檔案網路裝置(比如網絡卡)->抽象成socket。

linux/unix的核心思想萬物皆檔案,哪怕是記憶體中的資料結構(epoll)也是檔案。

所以linux才選擇VFS作為具體檔案系統之上的抽象,因為底層是異構化的,你所理解的fat也只不過是異構的小部分例如U盤,ext也只不過是異構的小部分例如硬碟,而異構化的底層各自擁有自己的檔案系統。

4樓:

檔案系統和分割槽兩個概念的含義有重合但不一樣。

在硬碟之外,可以有其他檔案系統,如tmpfs等,它也是乙個目錄樹,不過不是依託在硬碟上的,而是記憶體裡的,這時沒人會說它是分割槽。

vFAT、ext3等叫檔案系統型別(type)。

5樓:

好比一塊硬碟是個商場,分割槽是裡面一間間鋪子,檔案系統是商家。

tmpfs是乙個臨時檔案系統(看名就知道),系統自己加上去的,在記憶體裡。

6樓:依雲

分割槽就是把一片空間分割成多塊,檔案系統就是分割槽(或者別的空間)裡放的東西。就跟包裹和裡邊裝的物品的關係差不多。

tmpfs 和 devtmpfs 等也是檔案系統。tmpfs 是只存在於記憶體裡的檔案系統,用來放臨時檔案等不需要長久儲存的資料。

7樓:yfeng

分割槽和檔案系統,就好比你有一套毛胚房,這一整套毛胚房就相當於是一整塊物理硬碟;毛胚房裡面又分了很多間房間,如3室一廳,這3室一廳就相當於是物理硬碟上的分割槽;但這個些房間都還是毛胚的呀,還不能住呀,這時就得給他裝修了,這個裝修就相當於是給分割槽指定乙個檔案系統,裝修好後就能住人了(分割槽格式化後就能寫資料進去了)

8樓:exiledkingcc

你應該看一下df的man資訊。看它是怎麼描述這個file system的。它不是你以為的那個file system。

比如C++17裡面新增了乙個filesystem的命名空間,它的含義也和ext4、NTFS這些file system不一樣。乙個詞指的是什麼,要看它的上下文。

9樓:駿馬金龍

1.分割槽不是硬體概念。

分割槽是軟體概念,是在邏輯上對磁碟進行劃分。分割槽了只是建立並設定了分割槽表,將乙個大的磁碟劃分成邏輯的幾小塊,不是真的對磁碟硬體進行分割槽。不過,你非要認為它是硬體概念,勉強也能說的過去。

2.檔案系統。

作業系統為了讓磁碟資料以檔案的方式展現,於是有了檔案系統,方便資料的管理,方便資料的組織。如果沒有檔案系統,就沒有檔案的概念,所有資料全都按照資料結構堆在磁碟裡,你想找乙個資料,得費牛勁,還不一定找得到。

所以,分割槽進行格式化,實際上是在建立檔案系統(檔案系統,檔案的系統,管理檔案的系統,你細品),讓堆在磁碟裡的資料能夠借助檔案系統這種軟體以人類友好的方式展現出來。

3.除了磁碟檔案系統,還有網路檔案系統,記憶體檔案系統。

磁碟檔案系統和網路檔案系統我想你應該知道。df命令看到的dvtmpfs、tmpfs,就是記憶體檔案系統,就是把記憶體當作磁碟,所以這個檔案系統速度超快,因為是記憶體的速度。作業系統在啟動的時候,會自動建立一些記憶體檔案系統用來提供系統所需的特殊的功能。

你自己也可以用mount建立記憶體檔案系統,往這個記憶體檔案系統裡讀寫資料,速度也是超快。

mount -t ramfs my_ram_fs /mnt/ram_fs size

=5M還有虛擬檔案系統VFS,這是核心層次的乙個概念。由於Linux裡可以支援很多種類的檔案系統,比如ext4、ext3、xfs、fat32等等(檔案系統,管理檔案的系統,不同種類的檔案系統,管理方式不一樣,比如有的檔案系統有日誌),作業系統為了能夠支援各種各樣的不同管理方式的檔案系統,於是提出了VFS這個抽象層的虛擬檔案系統,這是核心唯一需要面對的檔案系統。

哪個檔案系統想要在Linux上使用,就得按照VFS制定的規則來管理檔案。也所以,只要檔案系統符合VFS的規則,核心就能通過VFS訪問到這個檔案系統裡所管理所組織的檔案資料,作業系統才能從從讀取到正確的資料。

還有使用者空間的檔案系統fuse。見名知意,是實現在使用者空間的檔案系統,這樣一來,程式設計師就可以在使用者空間程式中直接以檔案的方式管理和組織程式中的資料,而不像其它檔案系統一樣,隱藏在核心的底層,又抽象難理解細節,又難直接對資料操刀。

使用者空間檔案系統fuse,它的一端是核心的VFS,另一端是使用者空間的程式,當然,它也在記憶體中。

10樓:Rubbish

分割槽由硬碟分割槽表定義,與作業系統沒有必然關聯,規定了硬碟儲存空間的劃分,相當於一種集合的定義。

檔案系統一般存在於分割槽中,是作業系統對硬碟進行讀寫操作的媒介。

結構上,分割槽一般只是線性結構,分割槽在儲存空間中順序排列;而檔案系統一般具有複雜的資料結構實現方式。

上圖中tmpfs、devtmpfs都是linux系統中的特殊檔案系統,類似的還有procfs、sysfs等。具體可以參考

Lession 9 Linux核心檔案系統:proc、tmpfs、devfs、sysfs

下圖應該是fdisk -l的結果,這個命令展示的是硬碟分割槽狀況,與檔案系統無關。

11樓:趙躍宇

檔案系統就是從/開始的乙個樹形結構,你可以把乙個硬碟分割槽安排到任意乙個這下面的目錄。

安裝系統的時候手動分割槽的時候你就會看到,/必須要乙個分割槽,其他的分割槽你可以隨便指定。

Linux檔案系統中 bin sbin usr bin usr sbin usr local bin usr local sbin資料夾的區別是什麼?

xj wu 裝拆了十幾遍ubuntu1604系統 opencv3.1 3.4 cuda8 9後,開始慢慢領悟到ubuntu系統檔案即一切的魅力。usr 不是user的意思,而是unix system resrouces,所以上述資料夾都是系統目錄,跟伺服器中的某個單獨使用者沒什麼 私人關係 直白點說...

SSD使用Linux檔案系統選擇Lvm還是btrfs好?

LVM不是檔案系統,LVM的作用是整合成乙個邏輯硬碟,以便擴容之類。btrfs的速度比較慢,但如果你需要COW或者snapshot的話,btrfs還是可以的。你也可以選擇opensuse那樣的組合,使用btrfs 作為root 的檔案系統,然後把XFS作為home的檔案系統。我目前為止好像沒看到主流...

Linux的ext4檔案系統,為什麼inode裡只有12個指向資料塊的直接指標?

錢子晨 早期設計的時候應該有一些統計學分析在裡面的,例如有這樣乙個實驗資料 對乙個包含約150000個檔案的系統進行了度量。其中30 多的檔案大小在節以下,80 的檔案占用10 000 位元組或者更少的空間。假定塊的大小為節,只要使用12個直接指標便能引用大小為節及以下的檔案,可訪問總計節的塊。若塊...