掛接命令 (mount)
首先,介紹一下掛接 (mount) 命令的使用方法, mount 命令參數非常多,這裏主要講一下今天我們要用到的。
命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系統的類型,通常不必指定。 mount 會自動選擇正確的類型。常用類型有:
光盤或光盤鏡像: iso9660
DOS fat16 文件系統: msdos
Windows 9x fat32 文件系統: vfat
Windows NT ntfs 文件系統: ntfs
Mount Windows 文件網絡共享: smbfs
UNIX(LINUX) 文件網絡共享: nfs
2.-o options 主要用來描述設備或檔案的掛接方式。常用的參數有:
loop :用來把一個文件當成硬盤分區掛接上系統
ro :採用只讀方式掛接設備
rw :採用讀寫方式掛接設備
iocharset :指定訪問文件系統所用字符集
3.device 要掛接 (mount) 的設備。
4.dir 設備在系統上的掛接點 (mount point) 。
掛接光盤鏡像文件
由於近年來磁盤技術的巨大進步,新的電腦系統都配備了大容量的磁盤系統,在 Windows 下許多人都習慣把軟件和資料做成光盤鏡像文件通過虛擬光驅來使用。這樣做有許多好處:一、減輕了光驅的磨損 ; 二、現在硬盤容量巨大存放幾十個光盤鏡像文件不成問題,隨用隨調十分方便 ; 三、硬盤的讀取速度要遠遠高於光盤的讀取速度, CPU 佔用率大大降低。其實 linux 系統下製作和使用光盤鏡像比 Windows 系統更方便,不必借用任何第三方軟件包。
1 、從光盤製作光盤鏡像文件。將光盤放入光驅,執行下面的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:執行上面的任何一條命令都可將當前光驅裏的光盤製作成光盤鏡像文件 /home/sunky/mydisk.iso
2 、將文件和目錄製作成光盤鏡像文件,執行下面的命令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:這條命令將 /home/sunky/mydir 目錄下所有的目錄和文件製作成光盤鏡像文件 /home/sunky/mydisk.iso ,光盤卷標爲: mydisk
3 、光盤鏡像文件的掛接 (mount)
#mkdir /mnt/vcdrom
注:建立一個目錄用來作掛接點 (mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
注:使用 /mnt/vcdrom 就可以訪問盤鏡像文件 mydisk.iso 裏的所有文件了。
掛接移動硬盤
對 linux 系統而言, USB 接口的移動硬盤是當作 SCSI 設備對待的。插入移動硬盤之前,應先用 fdisk –l 或 more /proc/partitions 查看系統的硬盤和硬盤分區情況。
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
在這裏可以清楚地看到系統有一塊 SCSI 硬盤 /dev/sda 和它的四個磁盤分區 /dev/sda1 -- /dev/sda4, /dev/sda5 是分區 /dev/sda4 的邏輯分區。接好移動硬盤後,再用 fdisk –l 或 more /proc/partitions 查看系統的硬盤和硬盤分區情況
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdc: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS
/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)
/dev/sdc5 511 4864 34973473+ b Win95 FAT32
大家應該可以發現多了一個 SCSI 硬盤 /dev/sdc 和它的兩個磁盤分區 /dev/sdc1? 、 /dev/sdc2, 其中 /dev/sdc5 是 /dev/sdc2 分區的邏輯分區。我們可以使用下面的命令掛接 /dev/sdc1 和 /dev/sdc5 。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目錄用來作掛接點 (mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
注:對 ntfs 格式的磁盤分區應使用 -t ntfs 參數,對 fat32 格式的磁盤分區應使用 -t vfat 參數。若漢字文件名顯示爲亂碼或不顯示,可以使用下面的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
linux 系統下使用 fdisk 分區命令和 mkfs 文件系統創建命令可以將移動硬盤的分區製作成 linux 系統所特有的 ext2 、 ext3 格式。這樣,在 linux 下使用就更方便了。使用下面的命令直接掛接即可。
#mount /dev/sdc1 /mnt/usbhd1
掛接 U 盤
和 USB 接口的移動硬盤一樣對 linux 系統而言 U 盤也是當作 SCSI 設備對待的。使用方法和移動硬盤完全一樣。插入 U 盤之前,應先用 fdisk –l 或 more /proc/partitions 查看系統的硬盤和硬盤分區情況。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
插入 U 盤後,再用 fdisk –l 或 more /proc/partitions 查看系統的硬盤和硬盤分區情況。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdd: 131 MB, 131072000 bytes
9 heads, 32 sectors/track, 888 cylinders
Units = cylinders of 288 * 512 = 147456 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 889 127983+ b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1000, 8, 32) logical=(888, 7, 31)
系統多了一個 SCSI 硬盤 /dev/sdd 和一個磁盤分區 /dev/sdd1,/dev/sdd1 就是我們要掛接的 U 盤。
#mkdir -p /mnt/usb
注:建立一個目錄用來作掛接點 (mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:現在可以通過 /mnt/usb 來訪問 U 盤了 , 若漢字文件名顯示爲亂碼或不顯示,可以使用下面的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
掛接 Windows 文件共享
Windows 網絡共享的核心是 SMB/CIFS ,在 linux 下要掛接 (mount)windows 的磁盤共享,就必須安裝和使用 samba 軟件包。現在流行的 linux 發行版絕大多數已經包含了 samba 軟件包,如果安裝 linux 系統時未安裝 samba 請首先安裝 samba 。當然也可以到 www.samba.org網站下載 ......新的版本是 3.0.10版。
當 windows 系統共享設置好以後,就可以在 linux 客戶端掛接 (mount) 了,具體操作如下:
# mkdir –p /mnt/samba
注:建立一個目錄用來作掛接點 (mount point)
# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba
注: administrator 和 pldy123 是 ip 地址爲 10.140.133.23 windows 計算機的一個用戶名和密碼, c$ 是這臺計算機的一個磁盤共享
如此就可以在 linux 系統上通過 /mnt/samba 來訪問 windows 系統磁盤上的文件了。以上操作在 redhat as server 3 、 redflag server 4.1 、 suse server 9 以及 windows NT 4.0 、 windows 2000 、 windows xp 、 windows 2003 環境下測試通過。
掛接 UNIX 系統 NFS 文件共享
類似於 windows 的網絡共享, UNIX(Linux) 系統也有自己的網絡共享,那就是 NFS( 網絡文件系統 ) ,下面我們就以 SUN Solaris2.8 和 REDHAT as server 3 爲例簡單介紹一下在 linux 下如何 mount nfs 網絡共享。
在 linux 客戶端掛接 (mount)NFS 磁盤共享之前,必須先配置好 NFS 服務端。
1 、 Solaris 系統 NFS 服務端配置方法如下:
(1) 修改 /etc/dfs/dfstab, 增加共享目錄
share -F nfs -o rw /export/home/sunky
(2) 啓動 nfs 服務
# /etc/init.d/nfs.server start
(3)NFS 服務啓動以後,也可以使用下面的命令增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注: /export/home/sunky 和 /export/home/sunky1 是準備共享的目錄
2 、 linux 系統 NFS 服務端配置方法如下:
(1) 修改 /etc/exports, 增加共享目錄
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注: /export/home/ 目錄下的 sunky 、 sunky1 、 sunky2 是準備共享的目錄, 10.140.133.23 、 * 、 linux- client 是被允許掛接此共享 linux 客戶機的 IP 地址或主機名。如果要使用主機名 linux-client 必須在服務端主機 /etc/hosts 文件裏增加 linux-client 主機 ip 定義。格式如下:
10.140.133.23 linux-client
(2) 啓動與停止 NFS 服務
/etc/rc.d/init.d/portmap start ( 在 REDHAT 中 PORTMAP 是默認啓動的 )
/etc/rc.d/init.d/nfs start 啓動 NFS 服務
/etc/rc.d/init.d/nfs stop 停止 NFS 服務
注:若修改 /etc/export 文件增加新的共享,應先停止 NFS 服務,再啓動 NFS 服務方能使新增加的共享起作用。使用命令 exportfs -rv 也可以達到同樣的效果。
3 、 linux 客戶端掛接 (mount) 其他 linux 系統或 UNIX 系統的 NFS 共享
# mkdir –p /mnt/nfs
注:建立一個目錄用來作掛接點 (mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
注:這裏我們假設 10.140.133.9 是 NFS 服務端的主機 IP 地址,當然這裏也可以使用主機名,但必須在本機 /etc/hosts 文件裏增加服務端 ip 定義。 /export/home/sunky 爲服務端共享的目錄。
如此就可以在 linux 客戶端通過 /mnt/nfs 來訪問其它 linux 系統或 UNIX 系統以 NFS 方式共享出來的文件了。以上操作在 redhat as server 3 、 redflag server4.1 、 suse server 9 以及 Solaris 7 、 Solaris 8 、 Solaris 9 for x86&sparc環境下測試通過。