mount 是 Linux 掛載檔案系統的核心指令,支援本地裝置、網路共享、映像檔等多種來源。本文以實戰場景為導向,詳解參數語法與四大常見掛載場景完整流程。
mount [-t 檔案系統類型] [-o 掛載選項] 裝置 掛載點
| 參數 | 說明 | 常用值 |
|---|---|---|
-t | 指定檔案系統類型 | iso9660, vfat, ntfs, ext4, smbfs, nfs |
-o | 掛載選項 | ro, rw, loop, iocharset=utf8, username=, password= |
loop | 將檔案視為區塊裝置 (掛載 ISO) |
# 從實體光碟
cp /dev/cdrom /home/user/cdrom.iso
# 或
dd if=/dev/cdrom of=/home/user/cdrom.iso
# 從目錄建立
mkisofs -r -J -V "MY_DISK" -o /home/user/cdrom.iso /home/user/data/
mkdir -p /mnt/iso
mount -o loop -t iso9660 /home/user/cdrom.iso /mnt/iso
fdisk -l
# 或
lsblk
# 輸出範例:/dev/sdb1 (FAT32), /dev/sdc1 (NTFS)
mkdir -p /mnt/usb
# FAT32
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb
# NTFS (需安裝 ntfs-3g)
mount -t ntfs-3g -o iocharset=utf8 /dev/sdc1 /mnt/usb
# Linux 原生 ext4
mount /dev/sdd1 /mnt/usb
yum install cifs-utils samba-client # CentOS/RHEL
apt install cifs-utils # Debian/Ubuntu
mkdir -p /mnt/smb
# 臨時掛載
mount -t cifs //192.168.1.100/share /mnt/smb -o username=admin,password=pass,iocharset=utf8,vers=3.0
# 開機自動掛載 (/etc/fstab)
//192.168.1.100/share /mnt/smb cifs credentials=/etc/smb.cred,iocharset=utf8,vers=3.0 0 0
# /etc/smb.cred 內容:
username=admin
password=pass
# /etc/exports
/data/nfs 192.168.1.0/24(rw,sync,no_root_squash)
systemctl restart nfs-server
exportfs -rv
mkdir -p /mnt/nfs
mount -t nfs -o rw,vers=4 192.168.1.50:/data/nfs /mnt/nfs
# /etc/fstab
192.168.1.50:/data/nfs /mnt/nfs nfs rw,vers=4,_netdev 0 0
解決 UID/GID 不一致導致權限問題:
# 伺服器 /etc/exports
/data *(rw,all_squash,anonuid=1000,anongid=1000)
# 所有客戶端存取強制映射為 uid/gid 1000
mount | column -t # 查看所有掛載點美化輸出
findmnt # 樹狀顯示
umount /mnt/usb # 卸載
umount -l /mnt/usb # 惰性卸載 (裝置忙碌時)
fuser -km /mnt/usb # 強制釋放並卸載
掌握 mount -t 類型 -o 選項 裝置 掛載點 通用語法,配合 /etc/fstab 永久化、cifs/nfs 網路協議參數微調,即可應對 Linux 所有掛載需求。現代系統建議優先使用 ntfs-3g、cifs vers=3.0+、nfs vers=4 以獲得更好相容與效能。