linux 下mount使用指南

在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。
在使用mount这个指令时,至少要先知道下列三种信息:
  1. 要Mount对象的文件系统类型? (File system type)
  2. 要Mount对象的设备名称? (/dev/????)
  3. 要将设备Mount到哪个目录去?

一、获得系统支持的文件系统类型
就第一点来说,用户可以执行
   cat /proc/filesystems
来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型,那你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在线培训栏目中的相关文章。
常用的文件系统有:
  Win95/98常用的FAT 32文件系统 :vfat
  Win NT用的文件系统     :ntfs
  OS2用的文件系统    :hpfs
  Linux用的文件系统    :ext2
  光盘片用的文件系统    :iso9660
其中虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。

二、确定设备的名称
在Linux中,设备名称通常都在/dev里。这些设备名称的命名都是有规则的,我们可以用"推理"的方式把设备名称找出来。
譬如说/dev/hda1这个IDE设备。hd是Hard Disk(硬盘)的意思,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a则是代表第一个设备,通常IDE接口可以接上四个IDE设备(例如四块硬盘)。所以要识别IDE硬盘的方法分别就
是:hda、hdb、hdc、hdd。此外,hda1中的"1"代表hda的第一个硬盘分区
(partition),hda2代表hda的第二个分割区,依此类推。
此外,你可以直接检查/var/log/messages这个文件,在该文件中可以找到计算机开机后,系统已辨认出来的设备代号。

三、查找挂接点
最后我们要决定将设备挂接到哪里,先查看一下你的计算机是不是有个/mnt的空目录?该目录就是专门用来当作挂载点(Mount Point)的目录。建议您在/mnt里多建这几个目录:/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。

举例而言,如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux
的ext2系统,如果是Win XX的话,请将ext2改成vfat):
1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
2. MO ===>mount -t ext2 /dev/sda /mnt/mo
3. cdrom ===>mount -t ext2 /dev/hdc /mnt/cdrom
4. SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom
5. SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr

这是假设,如果你的设备的名称跟这个不同的话请自行修改。

最后需要注意的是:
1. 执行mount动作时先打一下pwd看看现在的目录是不是在挂载点,如果现在目录在挂载点的话,mount (或umount)不会成功 (会显示device busy)。
2. 想卸载某设备的语法是umount 目录名,例如umount /mnt/cdrom等。

1.如何mount ISO格式的文件

On RedHat Linux:
To mount: # mount -t iso9660 /<file.iso> /<mountpoint> -o loop
To unmount: # umount /<mountpoint>

On Solaris:
To mount:
# lofiadm -a /<file.iso> (will create device file /dev/lofi/1)
# mount -F hsfs -o ro /dev/lofi/1 /<mountpoint>

To unmount:
# umount /<mountpoint>
# lofiadm -d /dev/lofi/1


On HP-UX:
To mount:
# nohup pfs_mountd &
# nohup pfsd &
# pfs_mount -o xlat=UNIX <file.iso> /<mountpoint>

To unmount:
# pfs_umount  /<mountpoint>

Subsequently, kill the following processes:
1. pfs_mountd
2. pfsd
3. pfs_mountd.rpc
4. pfsd.rpc


On IBM AIX:
To mount:
1. Build a logical volume (the size of an ISO image, better if a little bigger)

2. Create an entry in /etc/filesystem using that logical volume (LV), but setting its Virtual File System (V'S) to be cdrfs

3. Create the mount point for this LV/ISO

4. Copy the ISO image to the LV using dd

5. Mount and work on it like a mounted CD-ROM

The entry in /etc/filesystem should look like:

/IsoCD:

dev = /dev/lv09
vfs = cdrfs
mount = false
options = ro
account = false

To unmount:

1. Unmount the file system

2. Destroy the logical volume
 

Mounting ISO images on AIX

There is a known problem with mounting ISO images on the AIX platform. To workaround the problem, complete the following instructions:

  1. Obtain the size of the image.

    For example:

    # ls -al
    total 731594
    drwxr-xr-x 2 root system 512 Aug 18 11:33 .
    drwxr-xr-x 6 root system 512 Aug 18 11:32 ..
    -rw-r--r-- 1 root system 374575104 Apr 29 02:59
    fim_console_rios_aix_5.iso
  2. Identify the nearest multiple of 128 MB that will provide enough space for the image. In the above example, the image is approximately 374 MB, so use 384 MB as an image size.

    Make a logical volume of this size. Ensure that there is enough space on the physical volume. For example, hdisk0.

    # mklv -y cdlv -s n -L /dev/cdlv rootvg 384M hdisk0

    If the command fails, increase the volume size by a multiple of 128.

  3. Use thedd command to create a pseudo-device. Ensure that the partition has enough space for the pseudo-device. In the following example command, the pseudo-device is /dev/cdlv.
    # dd if=/opt/software/iso/fim_console_rios_aix_5.iso of=/dev/cdlv

    Note that this command may take a long time and will create two dd processes.

  4. Mount the device like a CD-ROM in AIX. Ensure that the mount point exists.
    # mount -v cdrfs -o ro /dev/cdlv /mnt/iso
  5. Change directory into /mnt/iso.

2.如何mount USB文件

查了mount的手册,用普通用户关键了一个脚本 .usbmount用来mount,具体如下
    -----------
    sudo mount -t vfat -o codepage=936,iocharset=cp936,uid=$UID,gid=$GID /dev/sda /media/usb
    ln -s /media/usb /home/$USER/usb
    -----------------
    这样运行这个脚本就OK了,其中codepage=936对应的是简体中文,对于codepage的详细信息,参考一下内容:http://www.linuxforum.net/chinese/topic/lcr-3.html 然后又写了一个umount的脚本,搞定!
    
    解决过程,中间出现的错误,及解决方法
    1.无法显示中文,命令:mount -t vfat /dev/sda /media/usb
    需加入-o iocharset=utf8
    2.无法想usb内托动文件,命令:mount -t vfat -o iocharset=utf8 /dev/sda /media/usb
    加入uid gid,具体id值可以通过 id命令得到。
    3.在gnome-terminal中无法正确显示中文,命令:mount -t vfat -o iocharset=utf8,uid=XXX,gid=XXX /dev/sda /media/usb
    加入codepage,修改ischarset。得到最终的脚本。

3.其他方式总结

1,mount软驱:mount -t msdos /dev/fd0 /mnt

2,mount u盘:fdisk -l查看,然后mount -t vfat /dev/sda1 /mnt

3,mount光驱:mount /dev/cdrom /mnt

附件:mount其他类型(转贴)

学习操作系统时我们都了解到文件系统是操作系统的重要组成部分之一。文件系统有很多种类型,比windows的fat、fat32;Linux的ext、ext2或ext3;FreeBSD的ufs等等。在使用Linux的过程,也常常Linux操作系统使用虚拟文件系统VFS,通过VFS可以直接存取其它已被内核支持的各种文件系统,用起来就像是在普通的 Linux的ext系列文件系统一样。早期的Linux内置支持的文件系统不多,自 kernel 2.0.x 起并支持到 VFAT ,以后逐 渐增加,到目前可以说 决大多数的文件系统都有了支持。只是有一些如NTFS需要重新编译内核才能支持。

  Linux在启动过程中,会按照/etc/fstab中的设置,把各个分区上的文件系统加挂到对应到加载点上去。Linux至少需要两个分区才能启动:一个是根分区/,另一个是交换分区,如果在启动时根分区加载失败,Linux就不能完成启动。如果交换分区加载失败,Linux就不能仍能启动,在内存不够的情况下速度就会受很大的影响。根分区的文件系统类型通常是ext、ext2或ext3,但也可以是其它的一些文件系统。

  除了加载了Linux所必需的文件系统外,Linux的用户还经常需要使用其它的各种文件系统,特别是在一台机器上同时安装多个操作系统的时候。比如笔者的机器上同时安装了Linux和Windows2000,其中Windows的C盘采用了NTFS文件系统、D盘采用了FAT32文件系统。而当我在Linux上工作的时候,常常需要访问Windows的C盘和D盘的内容,甚至是网络上的共享目录,Linux下加挂一个文件系统使用的是mount命令,用man mount命令可以得到命令参数的详细解释。下面就来介绍一下在几种情况下以命令行方式加挂文件系统的具体方法:

  1.加挂FAT32文件系统

  最简单的用法
  mount /dev/hda6 /mnt/d

  /dev/hda6是笔者Windows的D盘,/mnt/d是目录加挂点。Linux会识别到/dev/hda6分区的文件系统类型是什么,然后加挂的。当然也可以指定分区的文件系统类型,命令如下:

  mount -t vfat /dev/hda6 /mnt/d

  在实际中操作中,直接加挂一个windows的分区,中文的文件名和目录名会出现乱码,为了避免这种情况可以指定字符集,命令如下:

  mount  /dev/hda6 /mnt/d -o codepage="936",iocharset=cp936
  mount -t vfat /dev/hda6 /mnt/d -o codepage="936",iocharset=cp936

  注意:cp936是指简体中文,cp950是指繁体中文。

  2.加挂NTFS文件系统

  在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTFS后,可以用以下命令加挂:

  mount -t ntfs /dev/hda2 /mnt/c

  同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,不过和加挂vfat分区不同,实际中用以下命令是可行的:

  mount -t ntfs -o iocharset="cp936" /dev/hda2 /mnt/c -r
  mount -t ntfs -o iocharset="cp936",rw /dev/hda2 /mnt/c

  3.加挂U盘上的文件系统

  现在使用U盘的人越来越多了,其实在Linux下使用U盘也非常简单,Linux对USB设备有很好的支持,在你插入U盘后,U盘被识别为一个SCSI盘,通常您用以下命令就能加挂U盘上的文件系统
mount /dev/sda1 /usb

  同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,命令类似于上面对FAT32介绍的:
mount /dev/sda1 /usb -o pagecode="936",iocharset=cp936

  4.加挂Linux系统通过samba共享出来的目录

  利用samba共享出来的目录其实很难说其原来是哪种文件系统,不过这一点不重要,只要它对用户是透明的就好啦。加挂时,我们指定类型为smbfs,在加挂samba共享的分区时,也会出现中文的文件名和目录名乱码情况,可以用以下命令加挂:

  mount -t smbfs -o
  username=terry,password=terry,codepage=936,iocharset=cp936
  //terry-linux/terry  /mp3/
  mount -t smbfs -o
  username=terry,password=terry,codepage=936,iocharset=cp936
  //192.168.100.228/terry  /mp3/

  注意:你可以不直接写password=terry这个参数,系统界时会要你输入密码,这样就可以防止有人直接看到你的密码。视具体情况而定,-o后面的参数可以对应增减。

  5.加挂Window系统共享出来的目录

  在局域网中,常常需要去访问其它Windows系统共享出来的目录,在Linux下,安装了samba后就可以使用samba中带的命令来访问Windows机器的共享资源。

  用smbclient来列出Windows机器的共享资源  
 
  smbclient  -L 192.168.100.111

  根据上面所列出Windows的共享资源后,可以选择需要加挂到本地Linux中去的Windows的共享资源,然后使用smbmount或mount来加挂,请参照下面几条命令:

  smbmount  //192.168.100.111/public /public/
  mount //192.168.100.111/d /mnt/cdrom -o username="terry" (这样要在命令行输入密码的)
  mount //192.168.100.111/d /mnt/cdrom -o username="terry"$1234 (这样则不必在命令行输入密码)
 
  注:除了上面介绍的命令行方法之外,这时最好的方法就是使用其它的客户端,如LinNeighborhood、networkneighbours、ksmbshare等,请参考其它文章。

  以上介绍的都是命令行的方式,每次使用时都要输入一次,如果你常常要加挂一些文件系统,想在启动时自动加挂应该怎样做呢?下面介绍两种方法:

  方法1.
  把加挂的命令放在/etc/rc.d/rc.local中。

  方法2.
  修改分区配置文件/etc/fstab,在启动时加挂文件系统,下面是我的/etc/fstab文件:
  LABEL=/    /      ext3    defaults      
  1 1
  none      /dev/pts   devpts   gid=5,mode=620
  0 0
  LABEL=/home  /home    ext3    defaults      
  1 2
  none      /proc    proc    defaults      
  0 0
  none      /dev/shm   tmpfs    defaults      
  0 0
  /dev/hda4   swap     swap    defaults      
  0 0
  /dev/cdrom   /mnt/cdrom        iso9660
  noauto,owner,kudzu,ro 0 0
  /dev/hda2   /ntfs     ntfs    defaults,iocharset=cp936  0 0
  /dev/hda6   /win     vfat    defaults,codepage=936,iocharset=  cp936  0 0
  //192.168.100.228/terry /mp3    smbfs  username=terry,password=terry,codepage=cp936,iocharset=cp936 0 0

  请注意最后三行:

  倒数第四行,加挂我的C盘,NTFS格式的
  倒数第三行,加挂我的D盘,FAT32格式的
  倒数第二行,加挂的是我的局域网中另一台安装samba的Linux文件服务器上的一个目录

mount使用详解

语法:mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点]
用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。
常用参数和选项:
-a 加载文件/etc/fstab中设置的所有设备。
-f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。
-F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
-h 显示在线帮助信息。
-L<标签> 加载文件系统标签为<标签>的设备。
-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 以可读写模式加载设备,默认设置。

 

eg::

查询:smbclient -L 192.168.1.104    

挂接:smbmount //192.168.1.104/varconfig /tang/varconfig/ -o username="panzuji"$111111

删除:unmount /tang/varconfig/

在linux下挂载windows系统的网络共享磁盘:
mount -t smbfs -o username=longyufei,password=1985731 //192.168.0.80/E$ /mnt/samba
 
删除挂载点!
umount /mnt/samba/
 
在linux下挂载linux的Smaba服务磁盘:
mount -t smbfs -o username=lyf,password=1985731 //192.168.0.80/lyf /www/t_disk
 
删除挂载点!
umount /mnt/t_disk/
 
挂载linux系统的NFS网络共享磁盘
mount -t nfs -o rw 192.168.0.80:/home/lyf /mnt/nfs 
 
windows环境下访问linux下的NFS共享目录,不怎么方便!建议使用Smaba服务器!.
就可以是//方式访问了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘祖记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值