如何在 Linux 中掛載和解除安裝檔案系統?


簡介

在 Linux 中,一切(圖片、二進位制檔案、文字檔案、目錄等)都被視為檔案。瞭解如何更好地組織和訪問檔案非常重要。mount 和 umount 命令在這種情況下非常方便。

在本文中,我們將學習這兩個命令。簡而言之,使用 mount 命令,我們可以將檔案系統掛載到一個目錄中,使用 umount 命令,我們可以從該目錄中解除安裝相同的檔案系統。這也可以用於硬碟和 USB 驅動器。我們必須記住,所有 mount 和 umount 命令僅在“sudo”或“root”使用者下工作。

列出所有儲存裝置

在我們學習 mount 和 umount 命令之前,我們需要列出 Linux 系統中的所有儲存裝置。

命令 1

sudo fdisk -l

輸出

[sudo] password for rian:
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0002d5a1

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 620969983 620967936 296.1G 83 Linux
/dev/sda2       620972030 625141759   4169730     2G  5 Extended
/dev/sda5       620972032 625141759   4169728     2G 82 Linux swap / Solaris

Partition 2 does not start on physical sector boundary.

命令 2

$ lsblk

輸出

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk
├─sda2   8:2    0     1K  0 part
├─sda5   8:5    0     2G  0 part [SWAP]
└─sda1   8:1    0 296.1G  0 part /

“mount”命令用於檢視所有當前已掛載的檔案系統

如果我們只輸入“mount”命令,就可以獲取所有資訊,例如當前已掛載的檔案系統是什麼。

命令

$ mount

輸出

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=985120k,nr_inodes=246280,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=202976k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)

------Many lines-----

cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13500)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
………………………………………

我們也可以使用以下命令檢視以上資訊。

$ cat /proc/mounts

現在,讓我們僅從“mount”命令的所有這些輸出中理解以下內容

/dev/sda1 on / type ext4

/dev/sda1 => 這是檔案系統名稱。

on / => 這稱為掛載點。“/”表示它掛載在根目錄中。

type ext4 => 這裡檔案系統的型別是 ext4。

“mount -t”命令用於檢視特定檔案系統的資訊

如果我們使用 –t 選項,則可以獲取特定檔案系統(例如:ext4)的資訊

命令

mount -t ext4

輸出

/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)

“mount”命令用於掛載檔案系統

這非常簡單。我們可以使用以下兩個命令來掛載任何檔案系統。

  • 使用“mkdir”命令建立掛載點目錄。

  • 掛載所需的檔案系統。

mount -t Type Device <Directory name created in step1>

這裡“Type”可以是 ext4,“Device”可以是 /dev/sda1。

“umount”命令用於解除安裝檔案系統

掛載檔案系統後,我們可以使用“umount”命令解除安裝相同的檔案系統。

命令

$ umount /dev/sda1

或者

$ umount <mount point directory>

執行此命令後,我們不再看到最後一個掛載的掛載點目錄中的檔案。

我們還可以使用相同的“umount”命令同時解除安裝多個檔案系統。

命令

$ umount /dev/sda1 /dev/sda2

“umount -l”命令用於解除安裝檔案系統

“umount –l”命令用於在使用者不確定目標檔案系統中是否存在任何讀寫操作時解除安裝檔案系統。此命令等待任何正在進行的操作完成,然後執行解除安裝。這也被稱為延遲解除安裝。

根據手冊頁

-l, --lazy              detach the filesystem now, clean up things later

命令

$ umount –l /dev/sda1

“umount -f”命令用於強制解除安裝檔案系統

“umount –f”用於強制解除安裝檔案系統,即使該檔案系統中存在正在進行的讀寫操作。

命令

$ umount -f /dev/sda1

當網路共享不可訪問時使用此命令。

結論

透過本文,我們瞭解了“mount”和“umount”命令以及許多引數,並瞭解了這兩個命令的重要性。現在,根據情況,我們可以使用這些命令,並在 Linux 中以更快的速度完成我們的工作。

更新於: 2023年5月8日

5K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.