Linux掛載U盤(使用mount命令)

2020-07-16 10:05:06
掛載 U 盤和掛載光碟的方式是一樣的,只不過光碟的裝置檔名是固定的(/dev/sr0 或 /dev/cdrom),而 U 盤的裝置檔名是在插入 U 盤後系統自動分配的。

因為 U 盤使用的是硬碟的裝置檔名,而每台伺服器上插入的硬碟數量和分割區方式都是不一樣的,所以 U 盤的裝置號需要單獨檢測與分配,以免和硬碟的裝置檔名產生衝突。

U 盤的裝置檔名是系統自動分配的,我們只要查詢出來然後掛載可以了。首先把 U 盤插入 Linux 系統中,這裡需要注意的是,如果是虛擬機器,則需要先把滑鼠點入虛擬機器再插入 U 盤。

通過使用 fdisk 命令,即可檢視到 U 盤的裝置檔名,執行命令如下:

[[email protected] ~]# fdisk -l
Disk /dev/sda: 21.5GB, 21474836480 bytes
#系統硬碟
…省略部分輸出…
Disk/dev/sdb: 8022 MB, 8022654976 bytes
#這就是識別的U盤,大小為8GB
94 heads, 14 sectors/track, 11906 cylinders
Units = cylinders of 1316 * 512 = 673792 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 11907 7834608 b W95 FAT32
#系統給U盤分配的裝置檔名

檢視到 U 盤的裝置檔名,接下來就要建立掛載點了。命令如下:

[[email protected] ~]# mkdir /mnt/usb

然後就是掛載了,掛載命令如下:

[[email protected] ~]# mount -t vfat /dev/sdb1 /mnt/usb/
掛載U盤。因為是Windows分割區,所以是vfat檔案系統格式
[[email protected] ~]# cd /mnt/usb/
#去掛載點存取U盤資料
[[email protected] usb]# ls
#輸出為亂碼
#之所以出現亂碼,是因為編碼格式不同

之所以出現亂碼,是因為 U 盤是 Windows 中儲存的資料,而 Windows 中的中文編碼格式和 Linux 中的不一致,只需在掛載的時候指定正確的編碼格式就可以解決亂碼問題,命令如下:

[[email protected] ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
#掛載U盤,指定中文編碼格式為UTF-8
[[email protected] ~]# cd /mnt/usb/
[[email protected] usb]# ls
1111111年度總結及計劃表.xls ZsyqlHL7osKSPBoGshZBr6.mp4 協定書
12月21日.doc 恭喜發財(定).mp4 新年VCR(定).mp4
#可以正確地檢視中文了

因為我們的 Linux 在安裝時採用的是 UTF-8 編碼格式,所以要讓 U 盤在掛載時也指定為 UTF-8 編碼格式,才能正確顯示。

[[email protected] ~]# echo $LANG
zh_CN.UTF-8
#檢視一下Linux預設的編碼格式

注意,Linux 預設是不支援 NTFS 檔案系統的,所以預設是不能掛載 NTFS 格式的行動硬碟的。要想讓 Linux 支援行動硬碟,主要有三種方法:
  1. 重新編譯核心,加入 ntfs 模組,然後安裝 ntfs 模組即可;
  2. 不自己編譯核心,而是下載已經編譯好的核心,直接安裝即可;
  3. 安裝 NTFS 檔案系統的第三方外掛,也可以支援 NTFS 檔案系統;