
linux的mount命令詳解
來源: ChinaUnix博客 日期: 2007.12.05 17:20 (共有條評論) 我要評論
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:采用讀寫方式掛接設備
iochart:指定訪問文件系統所用字符集
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 ctors/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 ctors/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 ctors/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 iochart=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iochart=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 ctors/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 ctors/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 ctors/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 iochart=cp936 /dev/sdd1 /mnt/usb
掛接Windows文件共享
Windows網絡共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁盤共享,就必須安裝和使用samba 軟件包。現在流行的linux發行版絕大多數已經包含了samba軟件包,如果安裝linux系統時未安裝samba請首先安裝samba。當然也可以到 www.samba網站下載......新的版本是3.0.10版。
當windows系統共享設置好以后,就可以在linux客戶端掛接(mount)了,具體操作如下:
# mkdir –p /mnt/samba
注:建立一個目錄用來作掛接點(mount point)
# mount -t smbfs -o urname=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 rver 3、redflag rver 4.1、su rver 9以及windows NT 4.0、windows 2000、windows xp、windows 2003環境下測試通過。
掛接UNIX系統NFS文件共享
類似于windows的網絡共享,UNIX(Linux)系統也有自己的網絡共享,那就是NFS(網絡文件系統),下面我們就以SUN Solaris2.8和REDHAT as rver 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.rver 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 rver 3、redflag rver4.1、su rver 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc環境下測試通過。
權限問題:
假設 rver 端的使用者 jack, ur id 為 1818, gid為 1818, client 端也有一個使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack 希望能完全讀寫 rver 端的 /home/jack 這個目錄。rver 端的 /etc/exports 是
這樣寫的:
/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)
這個的設定檔的意思是,所有 client 端的使用者存取 rver 端 /home/jack 這
目錄時,都會 map 成 rver 端的 jack (uid,gid=1818)。我 mount 的結果是
1. client 端的 root 可以完全存取該目錄, 包括讀、寫、殺……等
2. client 端的 jack (uid,gid=1818) 我可以做:
rm -rfrver_jack/*
cp something rver_jack/
mkdirrver_jack/a
CentOS CDROM掛載使用mount命令
2010-01-15 11:53 佚名 CSDN 我要評論(0)字號:T | T
命令:mount -t auto /dev/cdrom /mnt/cdrom這命令就是把CentOS CDROM掛載在/mnt/cdrom目錄中,這里我就可以訪問里面的內容了。
AD:
CentOS CDROM掛載還是比較常用的,于是我研究了一下CentOS CDROM掛載,在這里拿出來和大家分享一下,希望CentOS CDROM掛載對大家有用。使用mount命令CentOS CDROM掛載學習目的是能訪問CentOS CDROM掛載中的數據。
Linux顯示所有的目錄都在一個目錄樹下,而于他們位于哪一個驅動器/硬件無關。在Linux
下的磁盤內容作為子目錄形式出現的。可移動介質的內容不會自動出現在這些自目錄的,我們必須通過掛載驅動器來實現。
用mount命令來掛載CentOS CDROM掛載.
命令:mount -t auto /dev/cdrom /mnt/cdrom這命令就是把CentOS CDROM掛載在/mnt/cdrom目錄中,這里我就可以訪問里面的內容了。學習操作過程:[OK_008@CentOS4 ~]$ mount -t auto /dev/cdrom /mnt/cdrommount: only root can do that --一般用戶無法掛載cdrom,只有root用戶才可以操作。[OK_008@CentOS4 ~]$ --切換用戶操作:[root@CentOS4 /]# mount -t auto /dev/cdrom /mnt/cdrommount: mount point /mnt/cdrom does not exist --/mnt/cdrom目錄不存在,需要先創建。[root@CentOS4 /]# cd /mnt-bash: cd: /mnt: No such file or directory[root@CentOS4 /]# [root@CentOS4 /]# mkdir-p /mnt/cdrom --創建/mnt/cdrom目錄[root@CentOS4 /]# lsbin dev home lib media mnt proc sbin srv tmp varboot etc initrd lost+found misc opt root linux sys usr
[root@CentOS4 /]# mount -t auto /dev/cdrom /mnt/cdrom --掛載CentOS CDROM掛載mount: block device /dev/cdrom is write-protected, mounting read-only --掛載成功。
[root@CentOS4 /]# ls -l /mnt/cdrom --查看CentOS CDROM掛載里面內容total 859
dr-xr-xr-x 4 root root 2048 Sep 4 2005 CentOS
-r--r--r-- 2 root root 8859 Mar 19 2005 centosdocs-man.css
-r--r--r-- 9 root root 18009 Mar 1 2005 GPL
dr-xr-xr-x 2 root root 241664 May 7 02:32 headers
dr-xr-xr-x 4 root root 2048 May 7 02:23 images
dr-xr-xr-x 2 root root 4096 May 7 02:23 isolinux
dr-xr-xr-x 2 root root 18432 May 2 18:50 NOTES
-r--r--r-- 2 root root 5443 May 7 01:49 RELEASE-NOTES-en.html
dr-xr-xr-x 2 root root 2048 May 7 02:34 repodata
-r--r--r-- 9 root root 1795 Mar 1 2005 RPM-GPG-KEY
-r--r--r-- 2 root root 1795 Mar 1 2005 RPM-GPG-KEY-centos4
-r--r--r-- 1 root root 571730 May 7 01:l
[root@CentOS4 /]# [root@CentOS4 /]# umount /mnt/cdrom --卸載CentOS CDROM掛載,很容易,直接使用umount /mnt/cdrom 即可。另mount命令其他參數說明可以參考如下:
名稱 : mount 使用權限 : 系統管理者或/etc/fstab中允許的使用者 使用方式 : mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mount [-fnrsvw] [-o options [,...]] device | dir mount [-fnrsvw] [-t vfstype] [-o options] device dir
說明 : 將某個檔案的內容解讀成檔案系統,然后將其掛在目錄的某個位置之上。當這個命令執行成功后,直到我們使用 umnount 將這個檔案系統移除為止,這個命令之下的所有檔案將暫時無法被調用。這個命令可以被用來掛上任何的檔案系統,你甚至可以用 -o loop 選項將某個一般的檔案當成硬盤機分割掛上系統。這個功能對于 ramdisk,romdisk 或是 ISO 9660 的影像檔之解讀非常實用。
參數
-V 顯示程序版本 -h 顯示輔助訊息-v 顯示較訊息,通常和 -f 用來除錯。 -a 將 /etc/fstab 中定義的所有檔案系統掛上。 -F 這個命令通常和 -a 一起使用,它會為每一個 mount 的動作產生一個行程負責執行。在系統需要掛上大量 NFS 檔案系統時可以加快掛上的動作。 -f 通常用在除錯的用途。它會使 mount 并不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和 -v 一起使用。 -n 一般而言,mount 在掛上后會在 /etc/mtab 中寫入一筆資料。
但在系統中沒有可寫入檔案系統存在的情況下可以用這個選項取消這個動作。
-s-r 等于 -o ro -w 等于 -o rw -L 將含有特定標簽的硬盤分割掛上。 -U 將檔案分割序號為 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時才有意義。 -t 指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。 -o async 打開非同步模式,所有的檔案讀寫動作都會用非同步模式執行。 -o sync 在同步模式下執行。 -o atime -o noatime 當 atime 打開時,系統會在每次讀取檔案時更新檔案的『上一次調用時間』。
當我們使用 flash 檔案系統時可能會選項把這個選項關閉以減少寫入的次數。
-o auto -o noauto 打開/關閉自動掛上模式。 -o defaults 使用預設的選項 rw, suid, dev, exec, auto, nour, and async.
-o dev -o nodev-o exec -o noexec 允許執行檔被執行。
-o suid -o nosuid 允許執行檔在 root 權限下執行。
-o ur -o nour 使用者可以執行 mount/umount 的動作。
-o remount 將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。
-o ro 用唯讀模式掛上。
-
o rw 用可讀寫模式掛上。
-o loop= 使用 loop 模式用來將一個檔案當成硬盤分割掛上系統。
范例將 /dev/hda1 掛在 /mnt 之下。 #mount /dev/hda1 /mnt 將 /dev/hda1 用唯讀模式掛在 /mnt 之下。 #mount -o ro /dev/hda1 /mnt 將 /tmp/image.iso 這個光碟的 image 檔使用 loop 模式掛在 /mnt/cdrom之下。用這種方法可以將一般網絡上可以找到的 Linux 光 碟 ISO 檔在不燒錄成光碟的情況下檢視其內容。 #mount -o loop /tmp/image.iso /mnt/cdrom 相關命令umount 。