linux掛載

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 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環境下測試通過。

權限問題:

假設 server 端的使用者 jack, user id 為 1818, gid 為 1818, client 端也有一個使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack    希望能完全讀寫 server 端的 /home/jack 這個目錄。server 端的 /etc/exports 是

   這樣寫的:

      /home/jack *(rw,all_squash,anonuid=1818,anongid=1818)

   這個的設定檔的意思是,所有 client 端的使用者存取 server 端 /home/jack 這

   目錄時,都會 map 成 server 端的 jack (uid,gid=1818)。我 mount 的結果是

   1. client 端的 root 可以完全存取該目錄, 包括讀、寫、殺……等

   2. client 端的 jack (uid,gid=1818) 我可以做:

    rm -rf server_jack/*
    cp something server_jack/
    mkdir server_jack/a
 
下面給大家整理下排版較好的

本文介紹mount命令的用法,以及技巧光盤鏡像文件、移動硬盤及U盤的方法。

一,掛接命令(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)。

二,掛接光盤鏡像文件
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

 

到這裏,有關linux中掛載命令mount的用法就介紹完了,建議朋友多動手,自己練習下上面的例子,有助於對內容的理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章