`
lysming
  • 浏览: 24566 次
  • 来自: ...
社区版块
存档分类
最新评论

linux的mount命令详解

阅读更多
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 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远程文件系统
  
   如果使用手工mount的方法访问一个NFS共享, 重新启动系统后这个文件系统必须mount才可以使用, Red Hat Enterprise Linux提供了两种方法来自动的挂载远程文件系统。/etc/fstab和autofs服务.

/etc/fstab
netfs服务会使用文件/etc/fstab作为参考, 所以像NFS共享的会被自动执行。
如下是一个/etc/fstab中的挂载NFS的一条记录。
   <server>:</remote/export> </local/directory> nfs < options> 0 0
使用你的NFS服务器替换如上的 <server> ,
使用NFS输出路径替换如上的 </remote/export> .
使用本地的挂载点目录替换 </local/directory;> 这个目录必须实现手动建立。
如上例子中的选项 nfs 说明了系统使用的文件系统类型。
可以使用nfs的选项替换 <options> ,多个选项之间使用“,”分开,如果需要更多的信息查看man fstab.

如下面的例子:
       server1.example.com:/share/directory /mnt/share nfs defaults 0 0

方法二, autofs 服务:
使用/etc/fstab的一个缺点是:不管用户访问NFS的次数和时间,系统总是会使用资源来维护这个NFS挂载。虽然对于一两个NFS挂载的时候这不是问题,但是如果系统在维护很多NFS挂载的时候,系统性能会受到影响,一个替代方法就是使用基于kernel的自动挂载工具:他可以在需要的时候自动的挂载NFS。

autofs 服务会根据/etc/auto.master文件来控制自动挂载命令:automount的命令可以更加方便的指定挂载点,主机名,输出目录等等。
autofs的配置文件以父-子关系来组织,主配置文件(/etc/auto.master) 列出了所有的挂载点,然后他会连接到一个特定的映射类型, 这个类型可以是配置文件,程序, NIS映射或者其他挂载方式,auto.master文件包含了如下内容。
   <mount-point> <map-type>
<mount-point>用于指定本地挂载点,<map-type>指定如何挂载,最通常的NFS挂载做法是使用一个文件,这个文件通常命名成auto.<mount-point>, <mount-point>是在auto.master指定的挂载点,一个NFS类型的auto.<mount-point>的内容如下:
   </local/directory> -<options> <server>:</remote/export>
使用本地挂载点替换 </local/directory;> ,该目录必须手动创建。
可以使用nfs的选项替换 <options> ,多个选项之间使用“,”分开,如果需要更多的信息查看man fstab. 确定在options列表前使用了符号"-"。
使用你的NFS服务器替换如上的 <server> ,
使用NFS服务器的输出路径替换如上的 </remote/export> .
可以使用nfs的选项替换 <options>
autofs配置文件可以用于很多中挂载方式和不同的文件系统上,特使是在NFS的挂载上特别有用,举例来说,有些单位把所有的/home目录集中于一台NFS服务器上,然后在每个节点上配置auto.master指向auto.home,使得每个节点都可以通过autofs挂载/home目录。所有的用户都可以在任何一台工作站上访问自己/home/下的的数据和配置文件,该案中的auto.master看起来会像如下所示。
   /home /etc/auto.home
这个文件设置了/home/挂载点被配置到了/etc/auto.home文件上,auto.home看起来应该如下:
   * -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp server.example.com:/home
这个文件显示了如果用户所要访问/home下的一个目录,它应该产生一个到nfs.example.com的NFS mount, mount的选项说明了每个/home下的目录都会使用各自的设定. 如果需要更多的mount选项信息, 可以参考Red Hat Enterprise Linux 3 Reference Guide的 Section 9.4.3 Common NFS Mount Options
有关autofs的更多信息,请参考man手册和安装向导。
   
分享到:
评论

相关推荐

    linux mount 命令

    Linux mount 命令详解 Linux mount 命令是 Linux 系统中最基本和最常用的命令之一,用于挂载文件系统,以便访问和管理文件。Mount 命令的基本语法为:`mount [-t fstype] [-o options] device dir` 其中,`-t ...

    Linux的mount命令详解

    Linux的mount命令详解 ,对初学者很有帮助,可以看看............

    linux mount

    ### Linux Mount 命令详解及其应用场景 #### 标题解析 - **Linux Mount 命令**:在Linux系统中,`mount`命令用于挂载文件系统到系统的某个目录。这一过程允许用户访问该文件系统中的数据。挂载通常在安装操作系统时...

    Linux命令详解词典.pdf

    《Linux命令详解词典》是一本详尽解析Linux操作系统中常用命令的参考书籍。Linux作为开源、免费的操作系统,其强大的命令行工具是其高效工作的重要组成部分。这本书旨在帮助用户理解和掌握这些命令,从而更好地在...

    Unix系统mount命令详解

    `mount` 命令是 Unix 和 Linux 系统中用于挂载文件系统的重要工具,它允许用户将存储设备(如硬盘、光盘、USB 驱动器等)的文件系统连接到操作系统中的特定目录,以便访问和操作其中的数据。下面是对 `mount` 命令的...

    Linux mount命令用法详解

    Linux mount命令 Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。 语法 mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mount [-fnrsvw] [-o options [,...]] device | dir mount [-fnrsvw] [-...

    linux的mount(挂载)命令详解.pdf

    Linux挂载命令详解 Linux操作系统中挂载(mount)命令是非常重要的,它允许用户将各种存储设备、网络共享和文件系统挂接到Linux系统中,以便访问和管理数据。在本文中,我们将详细介绍Linux挂载命令的使用方法和...

    linux的mount(挂载)命令详解借鉴.pdf

    本文主要讲解了 Linux 系统下挂载(mount)命令的使用方法,包括挂载光盘镜像文件、移动硬盘、U 盘、Windows 和 NFS 网络共享。同时,也介绍了 mount 命令的使用方法和参数设置。 一、mount 命令的使用方法 mount ...

    Linux命令详解手册.zip

    "Linux命令详解手册"提供了全面的命令指南,帮助用户理解和运用各种命令来高效地操作Linux系统。下面将详细阐述Linux命令的主要类别及其重要用途。 1. 文件和目录管理: - `ls`:列出目录内容,常用于查看当前目录...

    linux命令mount的使用

    ### Linux命令mount的使用详解 #### 一、概述 `mount` 命令是Linux系统中用于挂载文件系统的重要工具。通过该命令,用户能够将存储设备(如硬盘分区、USB驱动器、ISO镜像文件等)挂载到系统的特定目录下,从而访问...

    Linux系统命令集合

    包括 linux系统常用 命令详解( crond命令 mount命令详解 vi命令详解等),另外包括一些服务软件的使用说明(例如ftp等)。 无论对开发人员还是运维或测试人员掌握这些技术对个人有一个很大的飞跃。

    Linux Find 命令详解

    ### Linux Find 命令详解 #### 一、前言:了解 find 命令 `find` 是 Linux 和类 Unix 系统中一个非常强大的工具,用于在文件系统中搜索文件。它提供了多种选项来根据不同的标准进行精确查找,如文件名、权限、拥有...

    linux实用命令详解

    在Linux操作系统中,掌握一些常用的命令是至关重要的,因为它们能帮助我们有效地管理文件系统、进行数据备份和恢复,以及优化系统性能。以下是一些在Linux环境中常用的命令及其用途: 1. **mkdir**:用于创建目录。...

    linux实用命令详解[归类].pdf

    本文档“Linux实用命令详解[归类].pdf”详细介绍了在Linux环境中进行日常操作的一系列关键命令,包括文件系统操作、文件复制、链接文件创建、文件删除以及挂载和卸载文件系统等。 1. 创建目录: 使用`mkdir`命令...

    Linux 常用命令挂载命令详解

    挂载命令格式 mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 选项: -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统 -o 特殊选项:可以指定挂载的额外选项 下面...

    linux常用命令大全.pdf

    ### Linux常用命令大全 #### 一、文件管理 1. **查看目录与文件** - **ls**: 用于列出当前目录下的文件和子目录。常用选项包括: - `-l`: 以长格式显示文件详细信息,如权限、所有者、大小等。 - `-a`: 显示...

    linux实用命令详解.doc

    本篇将详细解析一些常用的Linux命令,帮助用户更好地理解和运用。 1. **mkdir**:用于创建目录。`mkdir`的基本用法是在当前路径下创建一个新的目录。例如,`mkdir test`创建一级目录`test`;`mkdir -p mytest/test1...

    Linux 系统实用命令详解

    ### Linux系统实用命令详解 #### 一、引言 在Linux操作系统中,命令行是进行系统管理和维护的主要工具之一。熟练掌握常用的Linux命令对于提高工作效率至关重要。本文将详细介绍一些常用的Linux命令及其用法,帮助...

    linux命令大全详解

    本文将深入探讨“Linux命令大全详解”所涵盖的各个方面,包括备份与压缩、磁盘管理、磁盘维护、网络通讯、文档编辑、文件传输、文件管理、系统管理和系统设置。 1. **备份与压缩**: - `tar`:用于创建、修改和...

    Linux磁盘维护命令详解

    以下是对Linux磁盘维护常用命令的详细讲解: 1. **fdisk**: 这是用于创建、修改和查看分区的命令。通过交互式界面,你可以创建新的分区、删除现有分区或更改分区类型。 2. **mkfs**: 这个命令用于格式化磁盘。例如...

Global site tag (gtag.js) - Google Analytics