对于新手学习,mount 命令,一定会有很多疑问。其实我想疑问来源更多的是对linux系统本身特殊性了解问题。

linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备。如:

[chengmo@centos5 dev]$ ls | grep -E  "^(sd|hd)"
hdc
sda
sda1
sda2
sdb
sdb1

hd* 代表普通硬盘; sd*代表scic硬盘 a*代表基本盘(主盘) b*代表 从属盘(副盘) 1*代表第一分区 2*代表第二分区

因此,需要进行设备访问时候,我们需要进行系统挂载(mount). 那么mount到底能够挂载那些设备呢。 我们可以看一下。

一、mount可以用来挂载什么:

不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,现在的xp可以支持FAT32,NTFS,现在最新版本的windows 7 引入了新的WinFS文件系统。 而 Linux差不多支持所有的文件系统格式,但一般使用ext2或ext3文件系统。很多用户使用的是windows操作系统,如果想在运行的Linux下访问其它文件系统中的资源的话,就要用Linux mount命令来实现。

二、mount使用格式:

mount命令[-参数] [设备名称] [挂载点]

说明:

[挂载点]必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。

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

常见参数说明:

Mount 挂载文件系统使用帮助
参数 说明
常见参数:
-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. ext2 linux目前常用的文件系统

  2. msdos MS-DOS的fat,就是fat16 vfat

  3. windows98常用的fat32

  4. nfs 网络文件系统

  5. smbfs windows共享系统

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

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

  8. auto 自动检测文件系统

-o options 指定挂载系统选项:多个选项可以用","分割.某些选项只有在出现在文件 /etc/fstab 中时才有意义。下列选项可以用于任何要挂载的文件系统(但是并非所有文件系统都关心它们,例如,选项 sync 在今天只对 ext2,ext3 和 ufs 有效) 
选项说明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操作,突然断电不会掉资料,但加重磁盘负担dirsync所有对文件系统内目录的更新应当是同步完成的,影响下列系统调用:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 renameuser允许普通的用户挂载文件系统,挂载者的用户名被写入mtab,从而使他可以再次卸载文件系统。这个选项暗含了选项noexec,nosuid, 以及 nodev.users允许每个用户挂载卸载文件系统codepagecodepage=XXX代码页iocharsetiocharset=XXX 字符集loop挂载回旋设备 经常挂载iso文件用到usernameusername=user 访问设备的用户名passwordpassword=pass 访问设备的密码以下参数只对特殊文件系统有用:uid/giduid=value 和 gid=value 以特殊用户及组 挂载系统ownmaskownmask=value owner权限的权限掩码othmaskothmask=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 的分区
-w 将文件系统安装为可读写,同(-o rw)
-v 显示详细的挂载进度
-l 列出所有已经挂载的文件系统列表
其它参数:
--bind 将文件层次的一部分重新挂载到其他地方.只挂接单一的文件系统,如果目录有其它文件系统,将不能挂载。如果需要都挂载,可以用:--rbind 参数。 
mount --bind olddir newdir 2个目录可以访问系统内容
--move 将一个目录移到另外地方,mount --move olddir newdir
-h 显示帮助
-V 显示版本

三、常见分区加载方法:

  • mount挂载iso文件

#mkdir /mnt/iso

#mount –o loop linuxsetup.iso /mnt/iso

在linux 不需要虚拟光驱,就可以直接读取iso文件了。

  • mount挂载光驱系统

一般来说CDROM的设备文件是/dev/hdc 或dev/cdrom或media/cdrom,使用方法:

#mkdir /mnt/cdrom  #创建/mnt/cdrom目录

#mount /dev/cdrom /mnt/cdrom –o iocharset=cp936

#mount -t auto /dev/cdrom /mnt/cdrom (挂载cdrom,测试可行)

默认不指定光驱系统,可以自动搜索得到,将编码指定为中文

  • mount挂载软驱

# mkdir /mnt/floppy

# mount /dev/fd0 /mnt/floppy

默认不指定文件系统,可以自动搜索得到

  • mount挂载windows共享文件(samba)

#mkdir /mnt/winshare  创建 winshare 目录

#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare

#mount -t cifs -o username=登陆用户,password="登陆密码" //192.168.101.172/winshare目录  /mnt/winshare  ( 本人使用提CentOS6.5测试可行)

(开机自动挂载,需要在/etc/fstab文件中添加下列代码)

//192.168.101.172/winshare目录  /mnt/share cifs username=登陆用户,password=登陆密码 0 0

指定访问共享的用户名,密码,codepage指定编码与iocharset同意义。这里的windows 系统是中文简体。

codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312

  • mount挂载u盘

如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:

#mkdir /mnt/upan

#mount /dev/sda1 /mnt/upan

挂载即可。

  • mount挂载nfs系统

与windows共享连接差不多。需要正确配置服务端的nfs服务。然后通过客户端的:showmount -e 192.168.0.30 可以查看连接。

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

  • umount卸载文件系统

umount  dir

如上面: umout /mnt/upan或者umount /dev/sda1

以上是mount命令使用介绍。其中-o参数最为复杂。 每个不同文件系统所支持参数可能各不相同。如果遇到特殊文件系统。建议查阅相关资料。下一节将说下,与mount 相关的文件:fstab格式。

最新文章

  1. JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path.
  2. java类加载器
  3. C++内存分析
  4. codeforce 605BE. Freelancer's Dreams
  5. WebBrowser控件使用相关
  6. MyEclipse2014拷贝web工程
  7. Windows下MongoDB安装及创建用户名和密码
  8. HDU 1068 Girls and Boys 二分图最大独立集(最大二分匹配)
  9. MySQL 的性能(上篇)—— SQL 执行时间分析
  10. Java常用类之String类练习
  11. .NET Core 在程序集中集成Razor视图
  12. 重写equals时,遵守的规定
  13. java-15习题
  14. JAVA for(i = 0; i<a.length; i++) 解析
  15. spring2.0:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either th
  16. Power BI 与 Azure Analysis Services 的数据关联:1、建立 Azure Analysis Services服务
  17. int(a) 和 (int &) a 及 数据存储地址的探究
  18. 安装mysql-5.6版本步骤与卸载
  19. 关于Cocos2d-x很多奇怪的报错
  20. Oracle数据安全(三)权限管理

热门文章

  1. Service Worker和HTTP缓存
  2. ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net
  3. 从感知机到 SVM,再到深度学习(一)
  4. IDE-Android Studio -FAQ-使用习惯(不断更新 欢迎留言)
  5. Django Form组件 学生管理系统
  6. 初试valgrind内存调试工具
  7. git出现错误原因解释
  8. 老刘 Yii2 源码学习笔记之 Component 类
  9. windows汇编环境配置
  10. ASP.NET Core + Docker +Jenkins 实现持续集成