根分區中的/home目錄是否映射到/home分區

根分區中的/home目錄是否映射到/home分區

我的/home分區已開啟/dev/sda1。我的/分區已開啟/dev/sda2

每當我在分區中建立檔案時,/home它都會顯示在目錄/下的分區中/home

Windows相當於在D盤建立一個文件,該文件在C盤也可見。

這怎麼可能 ?

答案1

如果您今天的檔案系統體驗是基於 Windows 或單磁碟/分割區系統,那麼您可能不習慣掛載點的概念。 (儘管 Windows 現在也支援在掛載路徑上掛載磁碟,但這並不像 Linux/Unix 中那麼常見)

Linux/Unix 中的檔案系統是一個嵌套的檔案層次結構。 (資料夾也是文件..)

你從 開始/。一切的根源。就您而言,這是在分區上/dev/sda2。隨著/homeon /dev/sda1,你最終會得到

  • /
    • dev/
      • pts/
      • (東西)
    • sys/
    • home/
      • rebecca/
        • txtfile.txt
      • bob/

等等(還有很多目錄,這只是一個例子)

/因此,從->開始的路徑/home/rebecca/textfile.txt應盡可能透明。因此,雖然看起來textfile.txt位於/分區中,但實際上並非如此。它在/home/分區中。只是這樣分區位於目錄mounted中。//home

試試這三個指令:

  • df /
  • df /home/
  • df /home/rebecca/textfile.txt <-- 使用檔案的真實路徑

df命令將顯示運行該命令時安裝在系統上的所有檔案系統(真實的和虛擬的)。正如我在上面的範例中所使用df的那樣,可以過濾輸出,以便您一次檢查更少的內容。


長話短說- 這就是 Unix 和 Linux 掛載點的工作原理,使所有不同的磁碟一起顯示為一個內聚的檔案和目錄樹。

答案2

在 POSIX 檔案系統中,一切存在於檔案系統根目錄內的某個位置,位於/.在您安裝在 的根分割區上/,您有一個目錄/home。該目錄(大概)被用作掛載點(即已安裝的檔案系統(例如分割區)所在的位置)用於home分割區。在那裡創建的文件在分割區中創建home,其內容在該分割區的安裝點上可見。

儘管使內容/home消失會引起問題,但如果您要:

# umount /home; mount /dev/sda1 /mnt; ls /mnt

你會看到什麼內容曾經在/home,現在可見於/mnt

實際上不要這樣做;這是一個示範性的思想實驗。

mount在不給定任何參數的情況下,透過觀察命令的輸出,您可以看到在哪些安裝點安裝了哪些檔案系統的清單。

答案3

包含您自己的檔案的檔案系統(分割區)可以放置在檔案系統樹中的任何位置,檔案系統樹以/.通常它放置在/home並且其中有一個以您的用戶名命名的目錄。例如,您可能有/home/rebecca.

基於 UNIX 的系統(包括基於 Linux 的系統)使用單一檔案系統 ( /)。 Windows 系統使用多根檔案系統(C:D:等)。

當您將檔案寫入某個位置時,通常不需要擔心它被寫入哪個分割區,只要有足夠的磁碟空間來儲存檔案的內容即可。

相關內容