分類:
Mount命令:需要注意的:
1、掛載點必須是一個目錄。
2、一個分區掛載在一個已存在的目錄上,這個目錄可以不爲空,但掛載後這個目錄下以前的內容將不可用。對於其他操作系統建立的文件系統的掛載也是這樣。
3、光盤、軟盤、其他操作系統使用的文件系統的格式與linux使用的文件系統格式是不一樣的。光盤是ISO9660;軟盤是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。掛載前要了解linux是否支持所要掛載的文件系統格式。
掛載時使用mount命令:
格式:mount [-參數] [設備名稱] [掛載點] 其中常用的參數有
-t 指定設備的文件系統類型,常見的有:
minix linux最早使用的文件系統
ext2 linux目前常用的文件系統
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 網絡文件系統
iso9660 CD-ROM光盤標準文件系統
ntfs windows NT 2000的文件系統
hpfs OS/2文件系統
auto 自動檢測文件系統
-o 指定掛載文件系統時的選項。有些也可用在/etc/fstab中。常用的有:
codepage=XXX 代碼頁
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫方式掛載
nouser 使一般用戶無法掛載
user 可以讓一般用戶掛載設備
注意:mount命令沒有建立掛載點的功能,因此你應該確保執行mount命令時,掛載點已經存在。
例子:windows98裝在hda1分區,同時計算機上還有軟盤和光盤需要掛載。
# mk /mnt/winc
# mk /mnt/floppy
# mk /mnt/cdrom
# mount -t vfat /dev/hda1 /mnt/winc
# mount -t msdos /dev/fd0 /mnt/floppy
# mount -t iso9660 /dev/cdrom /mnt/cdrom
如果你的windows98目錄裏有中文文件名,使用上面的命令掛載後,顯示的是一堆亂碼。這就要用到 -o 參數裏的codepage iocharset選項。codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集,簡體中文一般用cp936或 gb2312,現在的新發行版一般都需要多加一個參數 utf8=0。當掛載的文件系統linux不支持時,mount一定報錯,如windows2000的ntfs文件系統。可以重新編譯linux內核以獲得對該文件系統的支持。關於重新編譯linux內核,就不在這裏說了。
mount -t vfat -o codepage=936,iocharset=cp936,utf8=0 /dev/hda7 /mnt/f
使用實例:
掛載光驅
mount -t iso9660 /dev/cdrom /mnt/cdrom
掛載光驅,支持中文
mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
掛載 Windows 分區,FAT文件系統
mount -t vfat /dev/hda3 /mnt/cdrom
掛載 Windows 分區,NTFS文件系統
mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
掛載 ISO 文件
mount -o loop /abc.iso /mnt/cdrom
掛載軟驅
mount /dev/fd0 /mnt/floppy
掛載閃盤
mount /dev/sda1 /mnt/cdrom
掛載 Windows 操作系統共享的文件夾
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
顯示掛載的文件系統
mount
cat /etc/fstab開機自動加載的FS
cat /etc/mtab當前已經加載的FS
==============================================================
/etc/fstab文件:
/etc/fstab就是在開機引導的時候自動掛載到linux的文件系統。
例如這是一個普通的/etc/fstab:
/dev/devicemountpointtyperulesdumpfsck_order
---------------------------------------------------------------------------------------
/dev/hda2/ext3defaults01 /dev/hda3swapswapdefaults00
/dev/hda5/usrext3defaults00
/dev/fdo/mnt/flopyext3noauto00
/dev/cdrom/mnt/cdromiso9660noauto,ro00
1>/dev/device就是需要掛載的設備,/hda2就是第一個IDE插槽上的主硬盤的第二個分區。如果是第二個IDE插槽主硬盤的第三個分區,那就是/dev/hdc3,具體可以在linux下使用fdisk -l查看。
2>mountpoint 就是掛載點。/、 /usr、 swap 都是系統安裝時分區的默認掛載點。
如果你要掛載一個新設備,你就要好好想想了,因爲這個新設備將作爲文件系統永久的一部分,需要根據FSSTND(文件系統標準),以及它的作用,用戶需求來決定。比如你想把它做爲一個共享資源,放在/home下面就是一個不錯選擇。
3> type 是指文件系統類形。
4>rules 是指掛載時的規則。下面列舉幾個常用的:
auto 開機自動掛載
default 按照大多數永久文件系統的缺省值設置掛載定義
noauto 開機不自動掛載
nouser 只有超級用戶可以掛載
ro 按只讀權限掛載
rw 按可讀可寫權限掛載
user 任何用戶都可以掛載
請注意光驅和軟驅只有在裝有介質時纔可以進行掛載,因此它是noauto
5>dump 是指dump系統備份工具。這一項爲0,就表示從不備份。如果上次用dump備份,將顯示備份至今的天數。
6>fsck_order 指fsck(啓動時fsck檢查的順序)。爲0就表示不檢查,(/)分區永遠都是1,其它的分區只能從2開始,當數字相同就同時檢查(但不能有兩1)。
如果我要把第二個IDE插槽主硬盤上的windows C 區掛到文件系統中,那麼數據項是:
/dev/hdc1 /c vfat defaults 0 0
(/c 是事先建立的文件夾,作爲c盤的掛載點。)
當你修改了/etc/fstab後,一定要重新引導系統纔會有效。
===
簡介:
linux下如何掛接(mount)光盤鏡像文件、移動硬盤、U盤、Windows網絡共享和NFS網絡共享呢?
linux是一個優秀的開放源碼的操作系統,可以運行在大到巨型小到掌上型各類計算機系統上,隨着linux系統的日漸成熟和穩定以及它開放源代碼特有的優越性,linux在全世界得到了越來越廣泛的應用。現在許多企業的計算機系統都是由UNIX系統、Linux系統和Windows系統組成的混合系統,不同系統之間經常需要進行數據交換。下面我根據自己的實際工作經驗介紹一下如何在linux系統下掛接(mount)光盤鏡像文件、移動硬盤、U盤以及Windows網絡共享和UNIX NFS網絡共享。
掛接命令(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@pldyrouter /]# fdisk -l Disk /dev/sda: 73.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@pldyrouter /]# fdisk -l Disk /dev/sda: 73.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 |
和USB接口的移動硬盤一樣對linux系統而言U盤也是當作SCSI設備對待的。使用方法和移動硬盤完全一樣。插入U盤之前,應先用fdisk –l 或 more /proc/partitions查看系統的硬盤和硬盤分區情況。
[root@pldyrouter root]# fdisk -l Disk /dev/sda: 73.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@pldyrouter root]# fdisk -l Disk /dev/sda: 73.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網絡共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁盤共享,就必須安裝和使用samba軟件包。現在流行的linux發行版絕大多數已經包含了samba軟件包,如果安裝linux系統時未安裝samba請首先安裝samba。當然也可以到www.samba.org網站下載samba軟件包,現在最新的版本是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環境下測試通過。