黑帽联盟

 找回密码
 会员注册
查看: 1309|回复: 0
打印 上一主题 下一主题

[基础服务] mount命令详解

[复制链接]

895

主题

38

听众

3322

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情

    前天 13:01
  • 签到天数: 1643 天

    [LV.Master]伴坛终老

    功能:加载指定的文件系统。
    语法:mount [-afFhnrvVw] [-L] [-o] [-t] [设备名] [加载点]
    用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入 文件/etc/fstab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备 时,记录将被清除。

    常用参数和选项:
    -a 加载文件/etc/fstab中设置的所有设备。
    -f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
    -F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
    -h 显示在线帮助信息。
    -L 利用partition的表头名称(Lable)来进行挂载。
    -n 不将加载信息记录在/etc/mtab文件中。
    -o 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括:
    async 以非同步的方式执行文件系统的输入输出动作。
    atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
    auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
    defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async。
    dev 可读文件系统上的字符或块设备,取消选项为nodev。
    exec 可执行二进制文件,取消选项为noexec。
    noatime 每次存取时不更新inode的存取时间。
    noauto 无法使用-a参数来加载。
    nodev 不读文件系统上的字符或块设备。
    noexec 无法执行二进制文件。
    nosuid 关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
    nouser 使一位用户无法执行加载操作,默认设置。
    remount 重新加载设备。通常用于改变设备的设置状态。
    ro 以只读模式加载。
    rw 以可读写模式加载。
    suid 启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
    sync 以同步方式执行文件系统的输入输出动作。
    user 可以让一般用户加载设备。
    -r 以只读方式加载设备。
    -t 指定设备的文件系统类型。常用的选项说明有:
    minix Linux最早使用的文件系统。
    ext2 Linux目前的常用文件系统。
    msdos MS-DOS 的 FAT。
    vfat Win85/98 的 VFAT。
    nfs 网络文件系统。
    iso9660 CD-ROM光盘的标准文件系统。
    ntfs Windows NT的文件系统。
    hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。
    auto 自动检测文件系统。
    -v 执行时显示详细的信息。
    -V 显示版本信息。
    -w 以可读写模式加载设备,默认设置。

    简单用法:
    fat32的分区
    mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom (mount -t vfat -o iocharset=cp936 /dev/hda7 /mnt/cdrom)
    ntfs的分区
    mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom
    iso文件
    mount -o loop /abc.iso /mnt/cdrom
    软盘
    mount /dev/fd0 /mnt/floppy
    USB闪存
    mount /dev/sda1 /mnt/cdrom
    所有/etc/fstab内容 mount -a
    可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
    镜像文件:
    mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。
    显示中文方面,如果是fedora core 1 的话,用utf8更好
    mount -o iocharset=uft8 /dev/hda1 /mnt/c
    mount -o iocharset=uft8 /dev/sda1 /mnt/usb
    mount -t smbfs //ip_addr/share/dir /mnt/smb/share -o iocharset=uft8,username=name, password=passwd
    开机就mount上windows下的分区
    自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
    /dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
    注意,先得手工建立一个/mnt/d目录
    mount局域网上其他windows机器共享出的目录(bjchenxu)
    mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

    挂接命令(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 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 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 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 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 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的网络共享,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是准备共享的目录


    Hardy problem: Mounting NTFS via VNC

    "Cannot mount volume
    Error org.freedesktop.dbus.error.accessdenied"
    And then talks about a security policy that prevents me from sending a message to a recipient.

    To fix this, open the terminal and put in:
    Code:
    sudo blkid
    To find the id of my DATA drive (which will be something like /dev/sda2)
    I then used that info in the following:
    Code:
    sudo gnome-mount -vbd /dev/sda2
    Which will allow you to mount/view/write your files.

    This was annoying so I found a post that allowed me to auto mount the drive by editing fstab:
    Code:
    sudo gedit /etc/fstab
    And then adding the line:
    Code:
    /dev/sda2 /media/data ntfs defaults,umask=007,gid=46 0 1

    命令格式: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)。

    挂接光盘镜像文件

    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

    接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况.应该可以发现多了一个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
    插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
    [root at pldyrouter root]# fdisk -l
    系统多了一个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环境下测试通过

    补充:

    linux加载光驱

    (1)使用光驱前,要先mount一下:#mount /dev/cdrom /mnt/cdrom,然后您就可以进入/mnt/cdrom目录下读取光盘内容了;
    (2)当您想退出光盘时,须使用umout命令,否则光驱就会一直处于死锁状态:#umount /mnt/cdrom。

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部