码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下mount 详解

时间:2015-02-11 02:02:29      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:mount

  1. 介绍

Linux系统中,磁盘分区是不能够直接访问的,需要将其挂载到系统中的某一个目录中(挂载点),然后通过访问挂载点来实现分区的访问. Unix类的操作系统如此,Windows也是一样;但Unix类的操作系统是通过mount进行的,挂载文件系统时要有挂载点,在安装Linux的过程中,有时会提示我们分区,然后建立文件系统,接着是选择挂载点。我们在Linux系统的使用过程中,也会挂载其它的硬盘分区,也要选中挂载点,挂载点通常是一个空置的目录,最好是我们自建的空置目录;

一些临时设备也使用一些临时的挂载点,通常位于/media , /media/floppy,/media/cdrom , /media/caeram. 通常将/dev/cdrom 挂载至/media/cdrom(mnt/cdrom) ,/dev/fd0 挂载/mnt/floppy (/media/floppy)

为提升性能,内核对所有设备操作做缓冲,这种机制要求对文件系统先使用umont 进行卸载,否则会造成数据的丢失甚至文件系统的损坏, 因为暂存在内存的数据来不及写回磁盘。

 

挂载点:为访问磁盘上的分区,将文件系统的根目录映射至/文件系统中的一个已经存在的目录下。这个过程叫挂载。已经存在的目录就称为挂载点。可以用mount 查看系统当前的挂载情况。挂载将遮住挂载点原来的文件

挂载权限:默认只有根用户才能挂载和卸载设备,临时设备使用不同的机制,控制台用户会变成一些设备的所有者。

 

2. sysopsis

mount [option] <device> <mount_point>

mount [option][-o mount_option] <device> <mount_point>

[mount_point]必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下原有内容不可访问umount以后会恢复正常。

[device] 可以是一个分区,一个usb设备,光驱,软盘,网络共享等。

 

完整选项说明

-t vfstype 

挂载指定的文件系统类型:adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs

 

一般文件类型,可以不需要指定就可以有相同自动检测(adfs, bfs, cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系统),如果探测失败,就将访问/etc/filesystems ,以指定文件系统探测。说明:如果清楚文件系统,最好指定具体类型。探测错误将带来灾难性的。

多个文件系统可以用“,”分割开来

mount -a -t nomsdos,ext 

将挂载fstab文件指定所有的文件系统,除了类型为 msdos ext 的那一些。

常见文件类型

  1. vfat  可挂载FAT32

  1. ext2 linux目前常用的文件系统

  2. msdos MS-DOSfat,就是fat16 vfat

  3. windows98常用的fat32

  4. nfs 网络文件系统

  5. smbfs windows共享系统

  6. iso9660 CD-ROM光盘标准文件系统

  7. ntfs windows NT/2000/XP的文件系统

  8. auto 自动检测文件系统

-o options

挂载时使用mount -o指定,若已经挂载的文件系统可以使用mount -o remount,mount_options 直接修改挂载参数. 指定挂载系统选项:多个选项可以用","分割.某些选项只有在出现在文件 /etc/fstab 中时才有意义。下列选项可以用于任何要挂载的文件系统

选项

说明

async

所有对文件系统的 I/O 操作都必须是异步完成的。

atime

每次存取时更新 inode 存取时间。这是默认选项。

auto

可以在使用 -a 选项时被挂载。

defaults

包含以下选项:rw, suid, dev, exec, auto, nouser,async.

dev

解析文件系统中的字符设备或块设备。

exec

允许执行二进制文件

_netdev

文件系统居于需要网络连接的设备上,避免断网下,不断挂载耗资源

noatime

不更新文件系统的inode存取时间(提升新闻服务器的速度)

noauto

只能被显式地挂载,-a不能使它挂载

nodev

不解析文件系统中的字符设备或块设备

noexec

不允许执行被加载的文件系统中的任何二进制文件

nosuid

不允许set-user-identifier set-group-identifier位起作用

nouser

禁止普通的挂载文件系统(默认)

remount

试图重新挂载一个已经挂载的文件系统。通常用来改变挂载选项,如由只读挂载改成可读写的。

ro

以只读方式挂载

rw

以读写方式挂载

suid

允许set-user-identifier set-group-identifier位起作用

sync

以同步方式进行I/O操作,突然断电不会掉资料,但加重磁盘负担

只对 ext2ext3 ufs 有效

dirsync

所有对文件系统内目录的更新应当是同步完成的,影响下列系统调用:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename

user

允许普通的用户挂载文件系统,挂载者的用户名被写入mtab,从而使他可以再次卸载文件系统。这个选项暗含了选项noexec,nosuid, 以及 nodev.

users

允许每个用户挂载卸载文件系统

codepage

codepage=XXX代码页

iocharset

iocharset=XXX 字符集

loop

挂载一个文件,经常挂载iso文件用到

username

username=user 访问设备的用户名

password

password=pass 访问设备的密码

以下参数只对特殊文件系统有用:

 

uid/gid

uid=value gid=value 以特殊用户及组 挂载系统

ownmask

ownmask=value owner权限的权限掩码

othmask

othmask=value othmask权限的权限掩码

不同文件系统所支持的属性不一定系统。可以查找相关资料

 

-a

搜索/etc/fstab文件中满足条件的文件系统,进行挂载操作。

格式: mount -a -t type -o options 不需要指定设备/目录

-f

测试mount系统,只检查设备和目录,并不真正挂载文件系统

-n

不把挂载的记录,记录在/etc/mtab 文件中

-r

将文件系统安装为只读,同(-o ro)

-w

将文件系统安装为可读写,同(-o rw)

-L label

挂载具有指定卷标 label 的分区, 可以使用Label挂载文件系统

-w

将文件系统安装为可读写,同(-o rw)

-v

显示详细的挂载进度

-l

列出所有已经挂载的文件系统列表

--bind

将文件层次的一部分重新挂载到其他地方.只挂接单一的文件系统,如果目录有其它文件系统,将不能挂载。如果需要都挂载,可以用:--rbind 参数。

mount --bind olddir newdir 2个目录可以访问系统内容

--move

将一个目录移到另外地方,mount --move olddir newdir

-h

显示帮助

-V

显示版本

 

3. mount 文件系统的方法

挂载时满足3个条件:分区文件系统类型,对应设备文件,挂载点

  1. 可以使用mount 手动实现

  2. 配置/etc/fstab (mount 调用)实现自动挂载

  3. 使用autofs 服务按需挂载(需要使用时才自动挂载)

 

自动挂载

/etc/fstab

rc.local 脚本中添加mount命令挂载文件系统

gnome 图形环境会运行一个automounter程序自动监控光驱和自动挂载它,其只对光驱起作用。

 

 

4. eg

mount   不带参数,显示所有已经挂载的文件系统 /proc/mounts

mount | column  -t  以清晰的格式显示所有挂载的文件系统

mount -a        挂载/etc/fstab中未挂载的设备(挂载/etc/fstab 中所有的文件系统 )

mount /dev/cdrom   挂载/etc/fstab中对应的文件系统

mount -o remount,rw /  重新以读写模式挂载/

mount -o remount,rw,auto / 重新挂载/目录,

mount -t tmpfs tmpfs /mnt -o size=1024m  挂载一个临时内存分区

mount -t cifs //192.168.1.3/game /media -o username=Joen%password

mount  -t  iso9660  -o  loop <光盘镜像> <挂载点>  挂载ISO光盘镜像

mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件

mount /dev/cdrom /mnt/cdrom

mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2‘ 已经存在

umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2‘ 退出

fuser -km /mnt/hda2 当设备繁忙时强制卸载

umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用

mount /dev/fd0 /mnt/floppy 挂载一个软盘

mount /dev/hdc /mnt/cdrecorder 挂载一个cdrwdvdrom 

mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统

mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享(samba)

showmount -e 192.168.0.30  查看连接

mount -t nfs 192.168.0.30:/tmp /mnt/nfs

mount --bind /olddir /newdir  olddirnewdir挂载到同一个inode,挂载后的目录(newdir)继承了被挂载目录的所有属性(除了名称)

本文出自 “Adelphos” 博客,请务必保留此出处http://adelphos.blog.51cto.com/2363901/1613483

Linux下mount 详解

标签:mount

原文地址:http://adelphos.blog.51cto.com/2363901/1613483

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!