mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如CloneCD,Daemontool,WinMount等。
定义
当然,mount命令也变成了一种图形化的界面,用户不需要再去记住那些复杂的mount命令,只需选择文件并点击mount按钮就可以完成操作。mount在Windows系统下的含义是:挂载文件到一个虚拟盘或一个虚拟文件夹中,通过访问这个虚拟盘或文件夹使用整个文件。
发展
过去,玩游戏需要物理光驱和物理光盘,要把光盘里的游戏安装文件通过光驱的读取,再拷入电脑中安装并使用,有些游戏在玩的时候甚至还要实时读取光盘,这样对光驱的损害非常大。随着虚拟光驱的出现,各种虚拟镜像格式标准也陆续在互联网上出现,比如说ISO,BIN,MDS,MDF,NRG,IMG等。
虚拟光驱和虚拟镜像的出现对物理光驱和物理光盘起到了一个巨大的冲击作用,物理光驱已经不是电脑必须的一个设备了,游戏光盘的需求量也大大减少了。用户完全可以从网上下载一个虚拟游戏镜像,再用虚拟光驱软件读取就可以了,大大节省了成本。同样,很多电影,音乐,软件,资料都纷纷被做成了虚拟镜像文件,在互联网上传播。
格式
以下格式均可以mount到虚拟盘中使用
1.光盘镜像ISO/IMG/VCD/nrg/mdf及mds/FCD/LCD/bin等
支持软件:Alcohol,Clone,Daemon,UtraISO,WinISO,Virtualdisk,WinMount
2.音频镜像FLAC/APE/WV/WAVE
支持软件:WinMount
3.虚拟机硬盘镜像VHD/VMDK/VDI
支持软件:Virtualdisk,VMware,Virtualbox,WinMount
4.压缩格式RAR/ZIP/MOU
支持软件:WinMount
命令
【程序中mount()/umount()函数的系统调用】
功能描述:mount挂上文件系统,umount执行相反的操作。用法:
#include<sys/mount.h>
intmount(constchar*source,constchar*target,constchar*filesystemtype,unsignedlongmountflags,constvoid*data);
intumount(constchar*target);
intumount2(constchar*target,intflags);
参数:
source:将要挂上的文件系统,通常是一个设备名。
target:文件系统所要挂在的目标目录。
filesystemtype:文件系统的类型,可以是"ext2","msdos","proc","ntfs","iso9660"。。。
mountflags:指定文件系统的读写访问标志,可能值有以下
MS_BIND:执行bind挂载,使文件或者子目录树在文件系统内的另一个点上可视。
MS_DIRSYNC:同步目录的更新。
MS_MANDLOCK:允许在文件上执行强制锁。
MS_MOVE:移动子目录树。
MS_NOATIME:不要更新文件上的访问时间。
MS_NODEV:不允许访问设备文件。
MS_NODIRATIME:不允许更新目录上的访问时间。
MS_NOEXEC:不允许在挂上的文件系统上执行程序。
MS_NOSUID:执行程序时,不遵照set-user-ID和set-group-ID位。
MS_RDONLY:指定文件系统为只读。
MS_REMOUNT:重新加载文件系统。这允许你改变现存文件系统的mountflag和数据,而无需使用先卸载,再挂上文件系统的方式。
MS_SYNCHRONOUS:同步文件的更新。
MNT_FORCE:强制卸载,即使文件系统处于忙状态。
MNT_EXPIRE:将挂载点标志为过时。data:文件系统特有的参数。返回说明:成功执行时,返回0。失败返回-1,errno被设为以下的某个值EACCES:权能不足,可能原因是,路径的一部分不可搜索,或者挂载只读的文件系统时,没有指定MS_RDONLY标志。
EAGAIN:成功地将不处于忙状态的文件系统标志为过时。
EBUSY:一.源文件系统已被挂上。或者不可以以只读的方式重新挂载,因为它还拥有以写方式打开的文件。二.目标处于忙状态。
EFAULT:内存空间访问出错。
EINVAL:操作无效,可能是源文件系统超级块无效。
ELOOP:路径解析的过程中存在太多的符号连接。
EMFILE:无需块设备要求的情况下,无用设备表已满。
ENAMETOOLONG:路径名超出可允许的长度。
ENODEV:内核不支持某中文件系统。
ENOENT:路径名部分内容表示的目录不存在。
ENOMEM:核心内存不足。
ENOTBLK:source不是块设备。
ENOTDIR:路径名的部分内容不是目录。
EPERM:调用者权能不足。
ENXIO:块主设备号超出所允许的范围。
mount命令
用途
使文件系统可用。
语法
mount[-f][-nNode][-oOptions][-p][-r][-vVfsName][-tType|[Device|Node:Directory]Directory|all|-a][-V[generic_options]special_mount_points]
描述
mount命令指示操作系统使文件系统在指定位置(安装点)可用。此外,可以用mount命令构建由目录和安装文件(filemounts)组成的其他文件树。Mount命令通过在Directory参数指定的目录上使用Device/Node:Directory参数来安装表示为设备的文件系统。mount命令完成以后,指定的目录变为新安装文件系统的根目录。
只有有root权限的用户或系统组成员和对安装点有写权限的用户能发出文件或目录安装(directorymounts)。文件或目录可以是符号链接。mount命令使用真实的用户标识,而不是有效的用户标识,来确定用户是否有相应的访问权限。假定系统组成员对安装点或在/etc/filesystems文件中指定的安装有写入权限,他们能发出设备安装(devicemounts)。有root用户权限的用户能发出任意的mount命令。
如果用户属于系统组并且有相应的存取权限则能安装设备。安装设备时,mount命令使用Device参数作为块设备名,Directory参数作为文件系统所要安装的目录。
如果输入不带标志的mount命令,命令为安装的文件系统显示如下信息:
* 节点(如果安装是远程的)
*安装的对象
*安装点
*虚拟-文件-系统的类型
*安装的时间
*任何安装选项
如果只指定Directory参数,mount命令把它当作文件系统、目录或文件通常安装的目录名或文件名(正如/etc/filesystems文件所定义)。mount命令查看有关的设备、目录、或文件并安装。这是使用mount命令的最方便的方式,因为不需要记住目录或文件中安装了什么。也可以只指定设备。在此情况下,命令从/etc/filesystems文件获得安装点。
/etc/filesystems文件应该为每个可安装的文件系统、目录或文件包括一节。该节应该至少指定文件系统名和所驻留的设备或目录名。如果节包括安装属性,mount命令使用有关的值。它为安装属性识别五个值:自动、真、假、可移动和只读。
mountall命令导致所有带有mount=true属性的文件系统安装到它们正常的位置。该命令通常应用在系统初始化期间,相应的安装是指自动安装。
mount命令也能用来访问作为目录树的JFS2文件系统的快照。设备上的快照以只读方式安装到目录下。 快照只能安装一次。当用快照安装JFS2文件系统时,快照是激活的。
可以在“基于Web的系统管理器”(wsm)中使用文件系统应用程序来运行该命令。也可以使用“系统管理接口工具”(SMIT)smitmount快速路径来运行该命令。
注:
如果mount命令遇到日志文件系统(JFS)或在重新引导之前未卸装增强的日志文件系统(JFS2),任意的JFS或JFS2日志记录试图重新播放。为了移动兼容的JFS文件系统到运行早期发行版操作系统的系统中,文件系统必须在移动之前卸装干净。卸装失败首先可能导致不兼容的JFS日志设备。如果移动导致未知的日志设备,文件系统应该返回到运行后续操作系统发行版的系统,并且fsck应该在文件系统上运行。
注:
如果启用了cdromdCD和DVDautomount 守护进程,则那些设备会按/etc/cdromd.conf文件中指定的那样自动安装。使用cdumount或cdeject命令卸装自动安装的CD或DVD。使用stopsrc-scdromd禁用CD/DVDautomount 守护进程。
注:
对于CacheFS,必须导出本地高速缓存的远程文件系统,以便不将远程主机上的本地系统的root标识映射为nobody(或远程主机用作匿名用户的标识)。例如,如果主机 A要导出文件系统/F(而该文件系统将使用CacheFS加载到主机B上),则主机A上的/etc/exports则需要一个如下条目:
/F-rw,root=B
或/F-ro,root=B
,这取决于本地CacheFS使用的安装选项。
标志
-a使用包含true安装属性的节,在/etc/filesystems文件中安装所有的文件系统。
所有与-a标志相同。
-f在系统初始化时请求强制安装在根文件系统上启用安装。
-nNode指定保留安装目录的远程节点。
文件系统系统特定选项
-oOptions指定选项。在命令行上输入的选项应该只用逗号隔开。下面的文件系统-特定选项不适用于所有的虚拟文件系统类型:
bsy
如果要安装到的目录是进程的当前工作目录,防止安装操作。
cio
为并发阅读器和记录器指定要安装的文件系统。该文件系统中的文件上的I/O将如同它们已经使用open() 系统调用中指定的O_CIO打开一样操作。使用此选项将防止除CIO之外任何形式的访问。不可能在使用cio选项加载的文件系统上使用高速缓存的I/O。这意味着mmap()和shmat()之类的映射命令在使用cio选项加载的文件系统中的任何文件上使用时将失败,且返回EINVAL。这样做的一个副作用是不可能在cio加载的文件系统外运行二进制,因为装入程序可能使用mmap()。
dio
指定文件系统上的I/O的操作如同所有的文件是用open()系统调用指定的O_DIRECT打开。
fmode=octal
为文件和目录指定方式。缺省值是755。
gid=gid
指定在安装时分配给文件的GID。缺省值是bin。
log=LVName
指定记录下面的文件-系统操作的文件系统记录逻辑卷名的全路径名。
nocase
关闭大小写映射。这对使用ISO9660:1998/HSG标准的cdrom是有用的。
nodev
指定从该安装不能打开设备。如果失败此选项返回一个ENXIO值。
nosuid
指定不允许通过该安装执行setuid和setgid程序。如果失败此选项返回一个EPERM值。
rbr
用读之后释放能力安装文件系统。当在该文件系统中检测到顺序读取,文件使用的真正的内存页一旦复制到内部缓冲区将释放。
注:
当指定rbr,D_RB_READ标志在pdtentry结构的_devflags字段最后设置。
rbw
用写之后释放能力安装文件系统。当在该文件系统中检测到顺序写,文件使用的真正的内存页一旦写到磁盘将释放。
注:
当指定rbw时,设置D_RB_WRITE标志。
rbrw
用读之后释放能力和写之后释放能力安装文件系统。
注:
如果指定了rbrw,则D_RB_READ和D_RB_WRITE标志都设置。
ro
指定安装的文件是只读的。缺省值是rw。
rw
指定安装的文件是可读/写的。rw是缺省值。
snapshot
指定要安装的设备是快照。必须已经安装指定快照的“拍摄的”文件系统,否则会显示错误消息。
snapto=snapshot
当安装指定的JFS2文件系统时,用 快照的值指定启动快照的位置。
特定于文件系统的选项(继续)
-o选项指定选项。在命令行上输入的选项应该只用逗号隔开。下面的文件系统-特定选项不适用于所有的虚拟文件系统类型:
upcase
把大小写映射从缺省的小写变为大写。这对使用ISO9660:1998/HSG标准的cdrom是有用的。
uid=uid
指定在安装时分配给文件的UID,缺省值是bin。
wrkgrp=workgroup
指定SMB服务器所属的工作组。
NFS特定选项
-oOptions指定选项。在命令行输入的选项应该用逗号隔开,而不是逗号与空格隔开。下面的NFS特定的选项不适用于所有的虚拟文件系统类型:
acdirmax=n
在目录更新后,只保留高速缓存的属性n秒。缺省值是60秒。
acdirmin=n
在目录更新后,保留高速缓存的属性至少n秒。缺省值是30秒。
acl
为此NFS安装使用访问控制列表 RPC程序的请求。如果使用acl选项,只在NFS服务器提供ACLRPC程序时使用它。缺省值是noacl。该选项只用在AIX4.2.1或以后版本。
acregmax=n
在文件修改后,只保留高速缓存的属性n秒。缺省值是60秒。
acregmin=n
在文件修改后,高速缓存的属性保留至少n秒。缺省值是3秒。
actimeo=n
为正常的文件和目录设置最小和最大时间是n秒。如果此选项设置,将覆盖所有的acregmin、acregmax、acdirmin、和acdirmax选项的设置。
bg
如果第一次尝试是失败的,试图在后台安装。缺省值是fg。
fastattr
忽略当前正在写的文件在文件属性读之前发送到服务器的要求。该选项使用时要注意,因为它会引起客户机假定没有到达服务器的文件数据将没有任何问题的写。在写错误的情况下,客户机和服务器在文件的真正大小方面有不同的选项。同样,一个客户机不会知道其他客户机对文件属性所作的改变,所以该选项不能用在两个客户机向相同的文件写的环境中。
fg
如果第一次尝试是失败的,试图在前台中安装。fg是缺省值。
grpid
使在文件系统上创建的文件或目录继承父目录的组ID。
hard
再次请求直到服务器响应。此选项是缺省值。
intr
在硬安装时允许键盘中断。
llock
请求文件本地锁定在NFS客户机。如果llock选项未用,则NFS网络文件锁定请求不能发送到NFS服务器。该选项只用在AIX4.2.1或以后版本。
maxgroups=n
表示使用AUTH_UNIX的NFSRPC调用最多可以包括n个成员组的信息。使用该选项增加超出RPC协议标准16的成员组数将只不对支持超出16个成员组的服务器起作用。否则,客户机将遇到错误。
低于16的值或超过64的值将会忽略。缺省情况下,协议标准最大值仍为16。AIXNFS服务器将接受并处理以带有5200-01推荐的维护软件包的AIX5LV5.2开头的最多为64的AUTH_UNIX凭证。由NFS客户机发送的成员组的实际数取决于参加的用户为其成员的组数,并且可能受NFS客户机主机名(它可能包括在AUTH_UNIX信息中)的长度的限制。
noac
指定mount命令执行无属性或目录高速缓存。如果未指定该选项,文件和目录属性(包括许可权、大小、和时间戳记)被高速缓存以减少执行有线接收NFSPROC_GETATTR 远程过程调用(RPC)的需求。NFSPROC_GETATTRRPC启动客户机提示输入服务器文件和目录属性。acregmin、acregmax、acdirmin、和acdirmax选项控制高速缓存值保留的时间长度。
noacl
为NFS安装请求指定不使用访问控制列表 RPC程序。缺省值是noacl。该选项只用在AIX4.2.1或以后版本。
nointr
指定在硬安装时不允许键盘中断。该选项只用在AIX4.2.1或以后版本。
port=n
设置服务器网际协议(IP)端口号为n。缺省值是2049。
posix
请求路径配置信息在NFSV2安装版本可交换和使用。在NFS服务器上,请求安装V2rpc.mountd。
该选项只用在AIX4.2.1或以后版本。
proto=[udp|tcp]
指定传输协议。AIX4.2.1NFS安装使用的缺省传输协议如果在服务器上有则是udp。对于AIX4.3或以后版本缺省值是tcp。使用proto=[udp|tcp]选项覆盖缺省值。此选项只用在AIX4.2.1或以后版本。
retrans=n
设置NFS传输号为n。缺省值是5。
retry=n
设置安装重试的次数为n;缺省值是1000。当重试值是0,系统作10,000次尝试。
rsize=n
设置读缓冲区为n个字节。缺省值是8192。只有AIX4.2.1在使用V3NFS协议时,缺省值是32768。
安全
指定mount命令为NFS 事务使用数据加密标准(DES)。
shortdev
指定从不支持32-位设备特殊文件的主机安装文件系统。该选项不能用在AIX4.2.1或以后版本。
soft
如果服务器不响应,返回错误。缺省值是hard。
timeo=n
设置网络文件系统(NFS)超时周期是一秒的十分之n。对于TCP安装,缺省超时值是100,相当于10秒。对于UDP安装,缺省超时值是11,相当于1.1秒,但根据发生的NFS操作有所不同。对于UDP安装,每次失败传送,超时都会增加,最大值是20秒。每次传输尝试两次,之后超时值更新。
vers=[2|3]
指定NFS版本。缺省值是在客户机和服务器之间使用的NFS协议的版本,是在两个系统上可获得的最大值。如果NFS服务器不支持NFSV3,NFS安装将使用NFSV2。使用vers=[2|3]选项选择NFS版本。此选项只用在AIX4.2.1或以后版本。
wsize=n
设置写缓冲区大小为n字节。缺省值是8192。只有AIX4.2.1在使用V3NFS协议时,缺省值是32768。
-p安装文件系统作为可移动文件系统。如果上面有打开的文件,可移动的安装文件系统的操作与正常安装的文件系统的操作相同。但是,当没有文件打开的时候(并且在文件系统上没有进程有当前目录),所有的在文件系统的文件系统磁盘缓冲区写到介质,操作系统丢失文件系统的结构。
-r安装文件系统作为只读文件系统,忽略在/etc/filesystems文件中以前的规格。
-tType安装所有包含type=Type属性并且未安装的/etc/filesystems文件中的节。Type参数指定组名。
-vVfsName指定文件系统由/etc/vfs文件中的VfsName参数定义。
CacheFS特定选项
特定于CacheFS版本的mount命令安装高速缓存文件系统;如果需要,它NFS-安装后端文件系统。也提供了许多控制高速缓存进程的CacheFS—特定选项。
要安装CacheFS文件系统,请使用带有-V标志并且后跟变量的mount命令。可使用以下mount标志。
下列-o标志的参数是CacheFS安装特有的。在命令行输入的选项应该用逗号隔开,而不是逗号与空格隔开。
注:
backfstype参数必须指定。
-o指定选项。
acdirmax=n
指定目录更新后高速缓存的属性保留时间不超过n秒。n秒之前,CacheFS查看备份文件系统上的目录修改时间是否已更改。如果已经更改,所有有关目录的信息从高速缓存清除并且从文件系统检索新的数据。缺省值为60秒。
acdirmin=n
指定在目录更新后,高速缓存的属性至少保留n秒。n秒之后,CacheFS检查在备份文件系统的目录修改时间是否更改。如果已经更改,所有有关目录的信息从高速缓存清除并且从文件系统检索新的数据。缺省值是30秒。
acregmax=n
指定在文件修改后,高速缓存的属性只保留n秒。n秒之后,所有的文件信息从高速缓存清除。缺省值是30秒。
acregmin=n
指定在文件修改后,高速缓存的属性保留至少n秒。n秒之后,CacheFS检查在后端文件系统的文件修改时间是否更改。如果已经更改,所有有关文件的信息从高速缓存清除并且从文件系统检索新的数据。缺省值是30秒。
actimeo=n
设置acregmin、acregmax、acdirmin、和acdirmax为n。
backfstype=file_system_type
上一个文件系统的文件类型(例如,nfs)。
backpath=path
指定后端文件系统已经安装的位置。如果此参数未提供,CacheFS确定后端文件系统的安装点。
cachedir=directory
高速缓存目录名。
cacheid=ID
ID是指定高速缓存的特殊实例的字符串。如果不指定高速缓存ID,CacheFS将创建一个。
demandconst
启用最大的高速缓存一致性校验。缺省情况下,周期性的一致性校验启用。当启用demandconst,检查每一个读和写。
注:
注:如果此选项是在加载特定CacheFS之后首次使用,还必须为后续加载对其进行指定。高速缓存控制文件中存储有状态信息,用于强制对该选项进行一致的使用。
local_access
导致前端文件系统解释方式位,这些方式位用来访问校验或使前端文件系统验证访问许可权。此参数不能和安全NFS一起使用。
noconst
禁用高速缓存一致性校验。缺省情况下,周期性的一致性校验启用。只有在知道上一个文件系统不修改时,指定noconst。尝试使用cfsadmin-s进行高速缓存一致性校验将发生错误。demandconst和noconst互相排斥。
注:
注:如果此选项是在加载特定CacheFS之后首次使用,还必须为后续加载对其进行指定。高速缓存控制文件中存储有状态信息,用于强制对该选项进行一致的使用。
purge
为指定的文件系统清除所有的高速缓存信息。
注:
注:如果此选项是在加载特定CacheFS之后首次使用,还必须为后续加载对其进行指定。高速缓存控制文件中存储有状态信息,用于强制对该选项进行一致的使用。
rw|ro
读-写(缺省值)或只读。
suid|nosuid
允许(缺省值)或不允许set-uid执行
write-around|non-shared
CacheFS的写方式。write-around方式(缺省值)处理写的方式与NFS相同;也就是,写到后端文件系统,并且从高速缓存清除影响的文件。当确信没有其他人要写到高速缓存文件系统时,可以使用非共享方式。
注:
注:如果此选项是在加载特定CacheFS之后首次使用,还必须为后续加载对其进行指定。高速缓存控制文件中存储有状态信息,用于强制对该选项进行一致的使用。
-V安装CacheFS文件系统。
示例
1.要列出安装的文件系统,请输入:
mount
此命令产生的结果与下面相似:
nodemountedmountedvfsdateoptionsover
—————————————————
/dev/hd0/jfsDec1708:04rw,log=/dev/hd8
/dev/hd3/tmpjfsDec1708:04rw,log=/dev/hd8
/dev/hd1/homejfsDec1708:06rw,log=/dev/hd8
/dev/hd2/usrjfsDec1708:06rw,log=/dev/hd8
sue/home/local/src/usr/codenfsDec1708:06ro,log=/dev/hd8
对每个文件系统,mount命令列出节点名、设备名、安装在什么下、虚拟-文件-系统类型、安装的日期和时间、和选项。
2.要安装所有缺省文件系统,请输入:
mountall
此命令序列在带有mount=true属性标记的/etc/filesystems文件安装所有的标准文件系统。
3.要安装远程目录,请输入:
mount-nnodeA/home/tom.remote/home/tom.local
此命令序列安装nodeA上的/home/tom.remote目录到本地/home/tom.local目录。假定缺省值是VfsNameparameter=remote,它必须在/etc/vfs文件中定义。
4.要从具有特定类型的/etc/filesystems文件安装文件或目录,请输入:
mount-tremote
此命令序列在有包含type=remote属性的节的/etc/filesystems文件安装所有的文件或目录。
5.要CacheFS安装已经在/usr/abc安装NFS的文件系统,请输入:
mount-Vcachefs-obackfstype=nfs,backpath=/usr/abc,
cachedir=/cache1server1:/user2/xyz
安装命令执行后,与下面相似的行出现在/etc/mnttab文件:
server1:/user2/usr/abcnfs
/usr/abc/cache1/xyzcachefsbackfstype=nfs
6.要安装抽点转储,输入:
mount-osnapshot/dev/snapsb/home/janet/snapsb
此命令安装包含/dev/snapsb设备的抽点转储到/home/janet/snapsb目录。
7.要安装抽点转储并创建抽点转储,输入:
mount-osnapto=/dev/snapsb/dev/sb/home/janet/sb
该命令将包含在/dev/sb设备上的文件系统安装到/home/janet/sb目录,并为/dev/snapsb设备上的文件系统创建快照。
8.作为本地文件系统访问SMB服务器上的文件,输入:
mount-v cifs -npezman/user1/pass1-ouid=201,fmode=750/home/mnt
文件
/etc/filesystems列出已知文件系统并且定义它们的特征。
/etc/vfs包含虚拟-文件-系统类型的描述。
该文章由作者:【哈啦】发布,本站仅提供存储、如有版权、错误、违法等相关信息请联系,本站会在1个工作日内进行整改,谢谢!