Mount 使用方法 (中文版man mount)

Man page of MOUNT
  • 5559
    ming1016@gmail.com

    MOUNT

    Section: Linux Programmer's Manual (8) Updated: 14 September 1997  Index  返回主目录
     

    NAME

    mount - 挂载文件系统   

    SYNOPSIS 总览

    mount [-lhV] mount -a [-fFnrsvw] [-t  vfstype ] [-O  optlist ] mount [-fnrsvw] [-o  options  [,...]]  device  |  dir  mount [-fnrsvw] [-t  vfstype ] [-o  options device dir   

    DESCRIPTION 描述

    Unix 系统中,全部能够存取的文件都被组织为一个很大的树形结构,称为文件层次结构 (file hierarchy),以  / 为根。这些文件能够分布在多个设备上。  mount 命令用做将设备上的文件系统挂接到这个树形结构上。相反, umount(8) 命令用于将它分离。  mount 命令的标准格式,是
     
    mount -t  type device dir
    这样作告诉内核将  device 中的文件系统 (文件系统类型是  type) 挂接到目录  dir 。目录  dir 中之前的内容 (若是有的话) 以及它的全部者和模式都再也不可见,只要这个文件系统仍然处于挂载状态。路径名  dir 仅指向  device 中的文件系统的根。 有三种运行方式不会真正执行挂载动做:
     
    mount -h
    输出帮助信息;
     
    mount -V
    输出版本信息;以及只输入
     
    mount [-l] [-t  type ]
    列出全部已挂载的文件系统 (类型是  type)。 选项 -l 将在列表中加入 (ext2, ext3 和 XFS) 卷标。参见下面。 从 Linux 2.4.0 开始,能够将文件层次的一部分从新挂载到其余地方。调用的方法是
     
    mount --bind olddir newdir
    运行以后,能够从两个位置访问到相同的内容。 这种方式只挂接单一的文件系统 (的一部分),在其中挂载的其余文件系统不会被挂接到新访问点。若是要在新访问点挂接完整的文件层次结构,使用
     
    mount --rbind olddir newdir
    注意文件系统挂载选项与初始挂载时相同,不能与 --bind/--rbind 同时使用 -o 选项来改变它们。 从 Linux 2.5.1 开始,能够完整地将一个子树移动到另外一个位置。调用的方法是
     
    mount --move olddir newdir
    proc 文件系统不关联到特定的设备,在挂载的时候,可使用任意的符号,例如  proc 来代替设备部分。(一般的选择是  none ,但这是不明智的:  umount 的错误提示消息 `none busy' 可能带来迷惑。) 大多数设备以 (块设备的) 文件名指代,例如  /dev/sda1, 可是也有其余的可能,例如,在挂载 NFS 时,  device 可能看上去像是 knuth.cwi.nl:/dir 。能够用块设备的卷标或 UUID 来指代设备 (参见下面的 -L 和 -U 选项)。 文件  /etc/fstab (参见 fstab(5)), 包含着描述哪些设备应当挂载到什么地方,使用哪些选项的行。这个文件有三种用法: (i) 命令
     
    mount -a [-t  type ] [-O  optlist ]
    (一般在启动脚本中调用) 使得  fstab 中提到的全部文件系统 (只要有合适的类型和参数) 被按照指示挂载,除非行中包含了关键字  noauto。参数 -F 将使 mount 产生 (fork) 新进程,从而使得文件系统能够同时被挂载。 (ii) 当挂载 fstab 中提到的文件系统时,只要给出设备,或者只给出挂载点就能够了。 (iii) 一般,只有超级用户能够挂载文件系统。可是,若是  fstab 的行中包含选项  user, 那么任何人均可以挂载相应的文件系统。 所以,假若有一行是
     
    /dev/cdrom /cd iso9660 ro,user,noauto,unhide
    那么任何人均可以挂载 CDROM 中的 iso9660 文件系统,使用命令
     
    mount /dev/cdrom
     
    mount /cd
    就能够了。要了解更多信息,参见  fstab(5)。 只有挂载某个文件系统的用户能够再卸载它。若是要让任何人均可以卸载,那么在  fstab 的行中使用  users 而不是  user。 选项  owner 与选项  user 类似,但它限制用户必须是设备文件的拥有者。这种方式可能很是有用,例如对于  /dev/fd, 若是一个登陆脚本使得终端用户成为设备的全部者的话。(?) 程序  mount 和  umount 在文件  /etc/mtab 中维护一个当前已挂在的文件系统列表。若是调用  mount 时没有参数,将输出这个列表。  proc 文件系统被挂载后,(假设挂载点是  /proc), 文件  /etc/mtab 和  /proc/mounts 的内容是很是类似的。前者的信息要多一些,例如使用的挂载选项等等,可是不必定是最新的 (参见下面的  -n 选项)。能够用一个指向  /proc/mounts 的符号连接来代替  /etc/mtab, 可是这样作会丢失一些信息,尤为是使用 loop 设备时将稍有不便,而且选项 "user" 将失效。   

    OPTIONS 选项

    运行  mount 时的所有选项首先包括  fstab 表中为指定文件系统设定的选项,其次是经过  -o 参数指定的选项,最后还会添加一个  -r 或  -w 选项,若是有的话。  mount 命令可用的选项包括:
    -V
    输出版本信息
    -h
    输出帮助信息
    -v
    冗余输出模式
    -a
    挂载  fstab 中提到的 (指定类型的) 全部文件系统
    -F
    (与  -a 联合使用) 为每一个设备产生一个新进程来挂载。这样使得能够并行地挂载不一样的设备或链接不一样的 NFS 服务器。这样的好处是更快;同时 NFS 延时也是并行的。缺点是挂载顺序是不定的。所以,若是你想挂载 /usr 和  /usr/spool, 不能使用这个选项。
    -f
    作挂载过程当中的全部事,除了实际的系统调用;若是不明白的话,它是在 "假装" 挂载文件系统。这个选项在与  -v 标志联合使用时颇有用,能够发现  mount 命令正在试图作什么。它也能够用来为早先以 -n 选项加载的设备添加记录。
    -i
    不调用 /sbin/mount.<filesystem> 程序,即便它存在。
    -l
    在 mount 的输出中添加 ext2,ext3 和 XFS 卷标。mount 必须有读取磁盘设备的权限 (例如,suid root) 才能这样作。用户能够用  e2label(8) 工具来为 ext2 或 ext3 设置卷标,对于 XFS 应当使用  xfs_admin(8)。
    -n
    挂载可是不写入  /etc/mtab。 有时这样作是必要的,例如当  /etc 是只读文件系统的时候。
    -p  num
    若是要加载一个加密的环回设备,从文件描述符  num 中读取 passphrase 而不是从终端读。
    -s
    容忍误用的选项而不报错。若是使用了某个文件系统不支持的选项,它将被忽略。并非全部文件系统都支持这个选项。这个选项的存在是为了支持 Linux 中基于 autofs 的自动挂载程序。
    -r
    只读地挂载文件系统。有一个同义词是  -o ro
    -w
    挂载文件系统为可读/写。这是默认选项。有一个同义词是  -o rw
    -L  label
    挂载具备指定卷标  label 的分区。
    -U  uuid
    挂载具备指定  uuid 的分区。这两个选项要求存在文件  /proc/partitions (这个文件自 Linux 2.1.116 开始出现)。
    -t  vfstype
    跟随在  -t 的参数用于指示文件系统类型。当前支持的文件系统类型包括:  adfsaffsautofscodacoherent, cramfsdevptsefsextext2ext3hfshpfsiso9660jfsminixmsdosncpfsnfsnfs4ntfsprocqnx4, ramfsreiserfsromfssmbfssysvtmpfsudfufsumsdosvfatxenixxfsxiafs. 注意 coherent,sysv 和 xenix 是等价的,而且  xenix 和  coherent 将在将来被移除 --- 使用  sysv 代替它们。从 Linux 2.1.21 开始, ext 和  xiafs 类型再也不存在。对于大多数类型,  mount 程序要作的事情就是发出一个简单的系统调用 mount(2), 不要求知道文件系统的细节知识。可是对于不多的一些类型 (例如 nfs,nfs4,smbfs,ncpfs),必须使用特别的代码。nfs 的特别代码是内嵌的,而 smbfs 和 ncpfs 有单独的 mount 程序。为了能够用统一的方式处理全部类型的文件,mount 在挂载  TYPE 类型的文件系统时,将执行程序  /sbin/mount.TYPE (若是它存在的话)。因为  smbmount 程序的各类版本有不一样的调用约定,  /sbin/mount.smbfs 可能不得不设计为一个 shell 脚原本设定须要的调用。 默认类型是  iso9660。 若是没有给出  -t 选项,或者给出的类型是  auto,将探测超块来判断文件系统类型 (能够支持 adfs , bfscramfsextext2ext3hfshpfsiso9660jfsminix, ntfsqnx4reiserfsromfsudfufsvxfsxfsxiafs 等文件系统)。若是探测失败,mount 将试图读取文件 /etc/filesystems, 若是不存在,就读取文件  /proc/filesystems。 全部在文件中列出的文件系统类型都将被尝试,除了那些标记为 "nodev" 的类型 (例如,  devptsprocnfs, 和  nfs4)。 若是  /etc/filesystems 以只包含单个 * 的一行结束的话,mount 将继续读取文件  /proc/filesystems。 类型  auto 在用户挂载软驱设备时可能颇有用。建立一个  /etc/filesystems 文件在改变探测顺序时颇有用 (例如,在 msdos 以前先尝试 vfat),或者若是你使用内核模块自动挂载的话。 警告:探测过程是 "启发式" 的 (依赖于出现合适的 "魔数"),可能将文件系统类型识别错误,从而带来灾难性的后果。若是你的数据很是有价值,不要让  mount 去猜。 能够用逗号分隔的列表来指定多个类型。文件系统类型列表也能够前缀  no 来指示不对这样的文件系统进行任何操做。(这种作法对于选项  -a 十分有意义。) 例如,命令
     
     
    mount -a -t nomsdos,ext
    将挂载全部的文件系统,除了类型为  msdos 和  ext 的那一些。
    -O
    与  -a 联合使用,来限制  -a 处理的文件系统的集合。它与  -t 相似,可是在  -a 的上下文以外,它什么做用也没有。例如,命令
     
     
    mount -a -O no_netdev
    挂载全部文件系统,除了在  /etc/fstab 的选项域中指定了  _netdev 选项的文件系统。它与  -t 的区别在于每一个选项都被精确匹配;在一个选项开头前缀  no 不会影响其他选项。 选项  -t 和  -O 的效果是累积的,也就是说,命令
     
    mount -a -t ext2 -O _netdev
    挂载全部指定了 _netdev 选项的 ext2 文件系统,而不是或者为 ext2,或者为指定了 _netdev 选项的全部文件系统。
    -o
    指定挂载选项的办法是在  -o 标志后面跟随以逗号分隔的选项列表。某些选项只有在出如今文件  /etc/fstab 中时才有意义。下列选项能够用于任何要挂载的文件系统 (可是并不是全部文件系统都关心它们,例如,选项 sync 在今天只对 ext2,ext3 和 ufs 有效):
     
    async
    全部对文件系统的 I/O 操做都必须是异步完成的。
    atime
    每次存取时更新 inode 存取时间。这是默认选项。
    auto
    能够在使用  -a 选项时被挂载。
    defaults
    使用默认选项:  rwsuiddevexecautonouser, 以及  async.
    dev
    解析文件系统中的字符设备或块设备。
    exec
    容许执行二进制文件。
    _netdev
    文件系统居于须要网络链接的设备上 (用于防止系统不断尝试挂载这些文件系统,直到系统中网络被启动)。
    noatime
    不更新文件系统的 inode 存取时间 (例如,能够更快地存取 news spool 从而提高新闻服务器的速度)。
    noauto
    只能被显式地挂载 (也就是说,选项  -a 不会使这个文件系统被挂载)。
    nodev
    不解析文件系统中的字符设备或块设备。
    noexec
    不容许执行被加载的文件系统中的任何二进制文件。这个选项对于须要加载包含不适于本身体系结构的二进制可执行文件的文件系统的服务器有用。
    nosuid
    不容许 set-user-identifier 或 set-group-identifier 位起做用。(这样看上去很安全,可是若是你安装了  suidperl(1) 那么是很是不安全的。)
    nouser
    禁止普通的 (即,非 root) 用户来挂载文件系统。这是默认选项。
    remount
    试图从新挂载一个已经挂载的文件系统。这个选项一般用于改变文件系统的挂载标志,尤为是使一个只读文件系统变为可读写。它不会改变设备或者挂载点。
    ro
    只读地挂载文件系统。
    rw
    挂载文件系统为可读/写。
    suid
    容许 set-user-identifier 或 set-group-identifier 位起做用。
    sync
    全部对文件系统的 I/O 操做都应当是同步完成的。
    dirsync
    全部对文件系统内目录的更新应当是同步完成的。这个选项影响下列系统调用:creat, link, unlink, symlink, mkdir, rmdir, mknod 以及 rename。
    user
    容许普通的用户挂载文件系统。挂载者的用户名被写入 mtab,从而使他能够再次卸载文件系统。这个选项暗含了选项  noexecnosuid, 以及  nodev (除非在后续选项中指定 user,exec,dev,suid)。
    users
    容许每一个用户挂载和卸载文件系统你哦个。这个选项暗含了选项  noexecnosuid, 以及  nodev(除非在后续选项中指定  users,exec,dev,suid)。
    --bind
    将一个子树从新挂载到其余地方 (从而使它的内容能够从两个地方同时获取)。参见上面。
    --move
    将一个子树移动到其余位置。参见上面。 
     

    FILESYSTEM SPECIFIC MOUNT OPTIONS 文件系统特定参数

    下列参数只对特定的文件系统有效。咱们按照文件系统来排列它们。它们都应该写在  -o 标志后面。   

    Mount options for adfs

    uid= value 和  gid= value
    设置文件系统中文件的属主和组 (默认值:uid=gid=0)。
    ownmask= value 和  othmask= value
    分别设置 ADFS 'owner' 和 'other' 权限的权限掩码 (默认分别是 0700 和 0077)。参见 /usr/src/linux/Documentation/filesystems/adfs.txt
     

    Mount options for affs

    uid= value 和  gid= value
    设置文件系统根的属主和组 (默认值:uid=gid=0,可是若是给出  uid 或  gid 选项而没有给出值,将使用当前进程的 uid 和 gid)。
    setuid= value 和  setgid= value
    设置全部文件的属主和组。
    mode= value
    设置全部文件的模式为  value & 0777, 不管初始的权限是什么。为有读权限的目录添加搜索权限。值以八进制给出。
    protect
    不容许对文件系统中的保护位进行任何修改。
    usemp
    设置文件系统根的 uid 和 gid 为挂载点的值,直到第一次 sync 或 umount 为止,而后清除这个选项。奇怪……
    verbose
    为每次成功挂载输出一条消息。
    prefix= string
    当跟随连接时,在文件卷名前使用的前缀。
    volume= string
    当跟随符号连接时,在 `/' 前使用的前缀 (最多 30 个字符)。
    reserved= value
    (默认值: 2.) 在设备起始保留的块数。
    root= value
    显式地给出 root 块的位置。
    bs= value
    给出块大小。容许的值是 512, 1024, 2048, 4096。
    grpquota /  noquota /  quota /  usrquota
    这些选项被接受,可是被忽略。 (可是,  /etc/fstab 中的这些字符串对 quota 工具备效。) 
     

    Mount options for coherent

    None.   

    Mount options for devpts

    devpts 文件系统是一个伪文件系统,惯例是挂载到  /dev/pts。 为了获取一个伪终端,进程首先打开  /dev/ptmx; 而后能够从中获取伪终端号 number,最后就可使用伪终端的从设备了,设备名是  /dev/pts/<number>
    uid= value 和  gid= value
    设置新建立的 PTY 的属主和组为指定值。若是不指定任何东西,它们将被设置为建立它们的进程的值。例如,若是某个 tty 终端进程组的 GID 是 5,那么  gid=5 将使得新建立的 PTY 属于这个终端进程组。
    mode= value
    设置新建立的 PTY 的模式为指定值。默认是 0600 。 设置  mode=620 和  gid=5 将使新建立的 PTY 的默认行为是 ``mesg y'' (用户可写)。 
     

    Mount options for ext

    没有。注意 `ext' 文件系统已通过时了。不要使用它。从 Linux 2.1.21 开始 extfs 再也不是内核源码的一部分。   

    Mount options for ext2

    `ext2' 文件系统是标准的 Linux 文件系统。因为内核的 bug,它挂载时的选项是随机的 (在 Linux 2.0.4 中已修复)。
    bsddf /  minixdf
    设置系统调用  statfs 的行为。  minixdf 的行为是在  f_blocks 字段返回文件系统的总块数,而  bsddf 的行为 (这是默认值) 是减去被 ext2 文件系统所用,所以没法再存储文件的块数。所以会出现
    % mount /k -o minixdf; df /k; umount /k Filesystem   1024-blocks  Used Available Capacity Mounted on /dev/sda6      2630655   86954  2412169      3%   /k % mount /k -o bsddf; df /k; umount /k Filesystem   1024-blocks  Used Available Capacity Mounted on /dev/sda6      2543714      13  2412169      0%   /k
    (注意这个例子显示出能够将命令行选项与  /etc/fstab 中的选项同时使用。) 
    check /  check=normal /  check=strict
    设置检测级别。在至少其中一个被设置时 (  check=normal 是默认的设置),挂载时将检测 inodes 和块位图 (在大磁盘上这将花费超过半分钟时间,而且没什么用处)。 (? With strict checking, block deallocation checks that the block to free is in the data zone.)
    check=none /  nocheck
    不进行检测。这样就快一些了。较新的内核再也不理会 check 选项了 - 使用  e2fsck(8) 来检测更有意义。
    debug
    在每次 (re)mount 的时候输出调试信息。
    errors=continue /  errors=remount-ro /  errors=panic
    定义遇到错误时的行为。(或者忽略错误,只将文件系统标记为不正确的,而后继续;或者从新只读挂载它,或者 panic 挂起系统。)默认是设置文件系统超块,能够用  tune2fs(8) 修改。
    grpid 或  bsdgroups /  nogrpid 或  sysvgroups
    这些选项定义了新建立的文件得到什么组 id。当设置了  grpid 的时候,使用文件所在的目录的组 id;不然 (这是默认值) 使用当前进程的 fsgid,除非这个目录设置了 setgid 属性,这种状况下使用父目录的 gid,而且若是新建立的是一个目录,那么也设置它的 setgid 属性。
    resgid= n 和  resuid= n
    ext2 文件系统保留必定比例的可用空间 (默认是 5%,参见  mke2fs(8) 和  tune2fs(8))。 这些选项决定了谁可使用保留的块。(简单地说:拥有指定 uid 或者属于指定组的用户。)
    sb= n
    使用块  n 而不是第一块做为超块。在文件系统被损坏时,这样颇有用。(早些时候,超块在每 8192 块都会复制一个:在块 1,8193,16385,……(若是文件系统很大,超块将被复制成百上千次)。从 1.08 版开始, mke2fs 有一个 -s (稀疏超块) 选项,能够减小超块备份的数量,从 1.15 版开始它成为默认值。注意这样作意味着使用较新的  mke2fs 建立的 ext2 文件系统没法在 Linux 2.0.* 中以读写方式挂载。)这里块编号的单位是 1k。所以,若是想使用以 4k 为单位的文件系统中的第 32768 块,应当用 "sb=131072"。
    grpquota /  noquota /  quota /  usrquota
    这些选项被接受,可是被忽略。 
    nouid32
    禁止 32-bit UIDs 和 GIDs。这个选项用于与旧版内核互操做,旧版内核只保存和读取 16-bit 的值。 
     

    Mount options for ext3

    文件系统 `ext3' 是 ext2 文件系统的一个版本,可是加入了日志功能。它支持 ext2 的全部选项,还支持下列扩展:
    journal=update
    更新 ext3 文件系统的日志为当前的格式。
    journal=inum
    若是一个日志已存在,这个选项被忽略。不然,它指定了用于保存日志文件的 inode 编号。ext3 将建立一个新日志,覆盖 inode 编号是  inum 的文件的原有内容。
    noload
    在挂载时不读取 ext3 文件系统的日志。
    data=journal /  data=ordered /  data=writeback
    指定文件数据的日志模式。元数据 (metadata) 老是被记录。(?)
     
    journal
    在写入文件系统以前,全部数据首先被提交到日志中。
    ordered
    这是默认的模式,全部数据在它的元数据被提交给日志以前,被强制直接写入文件系统。
    writeback
    写入顺序不定,数据可能在元数据已被提交给日志以后写入文件系统。传闻这是效率最高的方式。它保证了文件系统内部的一致性,可是在崩溃和恢复后文件内可能 出现旧数据。  
     

    Mount options for fat

    (注意:  fat 不是一个单独的文件系统类型,而是  msdosumsdos 和  vfat 文件系统的共同之处。)
    blocksize=512 /  blocksize=1024 /  blocksize=2048
    设置块大小 (默认值是 512)。
    uid= value 和  gid= value
    设置全部文件的属主和组。(默认值:当前进程的 uid 和 gid。)
    umask= value
    设置 umask (权限位的掩码,表示指定的位   置值)。默认值是当前进程的 umask。值以八进制给出。
    dmask= value
    设置只对目录有效的 umask 值。默认值是当前进程的 umask。值以八进制给出。自 2.5.43 版起出现。
    fmask= value
    设置只对普通文件有效的 umask 值。默认值是当前进程的 umask。值以八进制给出。自 2.5.43 版起出现。
    check= value
    能够选择三种不一样级别的文件名限制:
     
    r[elaxed]
    大写和小写均可以,可是它们等价,长名字被截断 (例如,  verylongname.foobar 成为 verylong.foo), 在名称的每一个部分 (主名称和扩展名) 均可以出现前导和中间的空格。
    n[ormal]
    与 "relaxed" 相似,可是不容许使用不少特殊字符 (*, ?, <, 空格等等)。这是默认值。
    s[trict]
    与 "normal" 相似,可是名称不能包含长文件名,也不能包含在 Linux 中可用,但在 MS-DOS 中不能用的特殊字符 (+, =, 空格等等)。
    codepage= value
    设置转换 FAT 和 VFAT 文件系统上的字符 (shortname characters) 时使用的代码页。默认状况下,使用代码页 437。
    conv=b[inary] /  conv=t[ext] /  conv=a[uto]
    fat 文件系统能够在内核中进行 CRLF<-->NL (MS-DOS 文本格式与 UNIX 文本格式) 的转换。下列转换模式是可行的:
     
    binary
    不进行转换。这是默认值。
    text
    在全部文件中进行 CRLF<-->NL 转换。
    auto
    只转换没有 "知名格式" 的扩展名的文件。已知的扩展名能够从  fs/fat/misc.c 开头找到。(在 2.0 中,列表为:exe, com, bin, app, sys, drv, ovl, ovr, obj, lib, dll, pif, arc, zip, lha, lzh, zoo, tar, z, arj, tz, taz, tzp, tpz, gz, tgz, deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf, pk, pxl, dvi)
    调用 lseek 的程序不但愿进行内核级别的文件转换。不少人在转换中损坏了数据。当心! 对于以 binary 模式挂载的文件系统,能够用转换工具 (fromdos/todos)。
    cvf_format= module
    强制驱动器使用 CVF (Compressed Volume File 压缩卷文件) 模块 cvf_ module 而不是自动探测。若是内核支持 kmod,那么选项 cvf_format=xxx 也能够控制按需加载 CVF 模块。
    cvf_option= option
    要传递给 CVF 模块的选项。
    debug
    打开  debug 标志。将输出文件系统的版本信息和参数列表 (若是参数不一致,也会输出这些数据)。
    fat=12 /  fat=16 /  fat=32
    指定为 12,16 或 32 位 fat。这个选项跳过了自动 FAT 类型检测过程。当心使用!
    iocharset= value
    用来在 8 bit 字符和 16 bit Unicode 字符转换时的字符集。默认值是 iso8859-1。磁盘中的长文件名是以 Unicode 格式存储的。
    quiet
    打开  quiet 标志。对文件进行 chown 或 chmod 操做不会返回错误,尽管它们会失败。当心使用!
    sys_immutable, showexec, dots, nodots, dotsOK=[yes|no]
    多种试图在 FAT 文件系统中套用 Unix 或 DOS 惯例的误导的尝试。 
     

    Mount options for hpfs

    uid= value and  gid= value
    设置全部文件的属主和组。(默认值:当前进程的 uid 和 gid。)
    umask= value
    设置 umask (权限位的掩码,表示指定的位   置值)。默认值是当前进程的 umask。值以八进制给出。
    case=lower /  case=asis
    将全部文件名转换为小写,或者保持不变。(默认值:  case=lower。)
    conv=binary /  conv=text /  conv=auto
    对于  conv=text, 在读取文件时,随机地删除某些 CR (特别的,删除全部跟随有 NL 的那些) 对于 conv=auto, 随机地在  conv=binary 以及  conv=text 之间选择。对于  conv=binary, 只读取文件中本来的内容。这是默认值。
    nocheck
    若是一致性检测出错,不放弃挂载。 
     

    Mount options for iso9660

    ISO 9660 是一种标准,描述了用于 CD-ROM 的文件系统结构。(这种文件系统类型也在一些 DVD 中出现。另外参见  udf 文件系统。) 一般  iso9660 文件名以 8.3 格式出现 (即,对文件名长度的限制与 DOS 相同),另外全部字符都是大写。没有文件全部者,权限位,连接数等等,也没有对块设备/字符设备做出扩展。 Rock Ridge 是对 iso9660 的扩展,提供了全部这些 unix 文件系统的特性。使用 Rock Ridge 的时候,基本上,每一个目录记录中都有扩展域来提供全部的附加信息。这样的文件系统与普通的 UNIX 文件系统没有什么区别 (固然,它是只读的)。
    norock
    禁止使用 Rock Ridge 扩展,即便有的话。参见  map
    nojoliet
    禁止 M$ Joliet 扩展,即便有的话。参见  map
    check=r[elaxed] /  check=s[trict]
    对于  check=relaxed, 文件名在查找前首先被转换为小写。这个选项可能只在与  norock 和  map=normal同时使用时有意义。(默认值:  check=strict。)
    uid= value 和  gid= value
    设置文件系统中的全部文件指定的用户或组 id,可能会覆盖 Rock Ridge 扩展中找到的信息。(默认值: uid=0,gid=0.)
    map=n[ormal] /  map=o[ff] /  map=a[corn]
    对于非 Rock Ridge 卷,通常的名称转换将大写映射为小写 ASCII,删除后续的 `;1',将 `;' 转换为 `.' 。若是 map=off, 不会进行名称转换。参见  norock。 (默认值:  map=normal。)  map=acorn 与  map=normal 类似,可是接受 Acorn 扩展,若是有的话。
    mode= value
    对于非 Rock Ridge 卷,赋予全部文件所给模式。 (默认值:全部人可读。) 从 Linux 2.1.37 开始不须要以十进制指定模式了。(八进制数之前导的 0 来指示。)
    unhide
    显示隐藏和相关的文件。(若是普通文件和相关或隐藏的文件同名,这样作的结果是普通文件将没法访问。)
    block=[512|1024|2048]
    设置块大小为所给的值。 (默认值:  block=1024。)
    conv=a[uto] /  conv=b[inary] /  conv=m[text] /  conv=t[ext]
    (默认值:  conv=binary。)从 Linux1.3.54 开始这个选项再也不有用。 (非 binary 的设置在过去是很是危险的,很容易带来悄无声息的数据损坏。)
    cruft
    若是文件长度的高位字节包含其余垃圾信息,设置这个选项来忽略文件长度的高位字节。这意味着文件不能大于 16MB。若是整个 CDROM 的大小很奇特 (负值或者超过 800MB),那么自动启用这个选项。若是看到的卷序列编号不是 0 或 1,那么也会设置。
    session= x
    设置多区段 CD 中的区段号。(自 2.3.4 开始)
    sbsector= xxx
    区段从 xxx 扇区开始。(自 2.3.4 开始)
    下列选项与 vfat 含义相同,只有在光盘使用了 M$ Joliet 扩展时指定它们才有效。
    iocharset= value
    将 CD 上的 16 bit Unicode 字符转换为 8bit 字符时所用的字符集。默认是 iso8859-1。
    utf8
    将 CD 上的 16 bit Unicode 字符转换为 UTF-8。 
     

    Mount options for minix

    None.   

    Mount options for msdos

    参见 fat 的挂载选项。若是  msdos 文件系统被检测到不一致,它将报告错误并设置文件系统为只读。能够经过 remount 来使它可写。   

    Mount options for ncpfs

    与  nfs 相似,  ncpfs 的实现要求在 mount 系统调用中提供一个二进制的参数 (一个结构  ncp_mount_data)。 这个参数能够用  ncpmount(8) 构造,当前版本的  mount (2.12) 对于 ncpfs 一无所知。   

    Mount options for nfs

    nfs 文件系统没有使用由内核解析的文本的选项字符串,而是必须提供二进制的参数,类型是  struct nfs_mount_data。  mount 程序自身解析下列形式为 `tag=value' 的选项,将它们放到上面提到的结构中:  rsize= n, wsize= n,  timeo= n,  retrans= n,  acregmin= n,  acregmax= n,  acdirmin= n,  acdirmax= n,  actimeo= n,  retry= n, port= n,  mountport= n,  mounthost= name,  mountprog= n,  mountvers= n,  nfsprog= n,  nfsvers= n,  namlen= n. 选项  addr= n 被接受可是被忽略。同时,下列布尔值选项也被识别,可能前缀有  no : bgfgsofthardintr, posixctoactcpudplock. 参见  nfs(5) 来获取细节。 尤为有用的选项包括
    rsize=8192,wsize=8192
    这样将使得 nfs 链接与默认缓冲大小 4096 相比要更快。(NFSv2 不能使用更大的  rsize 和  wsize 值。)
    hard
    访问以 NFS 方式挂载的文件系统中的文件的程序将在服务器崩溃时挂起。进程不能被中断或杀死,除非同时指定  intr。 当 NFS 服务器恢复运行时,程序将保持原来的状态继续执行,这多是你想要的。
    soft
    这个选项容许内核超时,若是 nfs 服务器一段时间没有响应的话。能够用  timeo=time 来指定。在 nfs 服务器偶尔失去响应或者重启,而某些进程试图从服务器获取文件时,这个选项可能有用。一般它只会带来很多麻烦。
    nolock
    不使用锁定。不启动 lockd。 
     

    Mount options for nfs4

    nfs4 文件系统没有使用由内核解析的文本的选项字符串,而是必须提供二进制的参数,类型是  struct nfs4_mount_data。  mount 程序自身解析下列形式为 `tag=value' 的选项,将它们放到上面提到的结构中: rsize= n,  wsize= n,  timeo= n,  retrans= n,  acregmin= n,  acregmax= n,  acdirmin= n,  acdirmax= n,  actimeo= n, retry= n,  port= n,  proto= n,  clientaddr= n,  sec= n. 选项  addr= n 被接受可是被忽略。同时,下列布尔值选项也被识别,可能前缀有  no : bgfgsofthardintrctoac, 参见  nfs(5) 来获取细节。 尤为有用的选项包括
    rsize=32768,wsize=32768
    这样将使得 nfs 链接与默认缓冲大小 4096 相比要更快。
    hard
    访问以 NFS 方式挂载的文件系统中的文件的程序将在服务器崩溃时挂起。进程不能被中断或杀死,除非同时指定  intr。 当 NFS 服务器恢复运行时,程序将保持原来的状态继续执行,这多是你想要的。
    soft
    这个选项容许内核超时,若是 nfs 服务器一段时间没有响应的话。能够用  timeo=time 来指定。延时的单位是一秒的十分之一。在 nfs 服务器偶尔失去响应或者重启,而某些进程试图从服务器获取文件时,这个选项可能有用。避免将这个选项与  proto=udp 同时使用,或者使用很短的延时。 
     

    Mount options for ntfs

    iocharset= name
    返回文件名时使用的字符集。与 VFAT 不一样,NTFS 不容许使用包含没法转换的字符的文件名。
    utf8
    使用 UTF-8 来转换文件名。
    uni_xlate=[0|1|2]
    若是是 0 (或 `no' 或 `false')时,不使用逃逸序列来处理未知 Unicode 字符。若是是 1 (或 `yes' 或 `true') 或 2,使用 vfat 样式的以 ":" 开始的 4 字节逃逸序列。这里 2 用的是 little-endian,而 1 是交换字节顺序的 big-endian。
    posix=[0|1]
    若是启用 (posix=1),文件系统区分大小写。8.3 格式的别名被表示为硬链接,而不是不显示。
    uid= valuegid= value 和  umask= value
    设置文件系统中文件的权限。umask 值以八进制值给出。默认状况下,文件全部者是 root,不能被其余人读取。 
     

    Mount options for proc

    uid= value 和  gid= value
    这些选项被识别,可是没有任何效果。 
     

    Mount options for ramfs

    ramfs 是一种基于内存的文件系统。挂载它就会产生,卸载它就会消失。自 Linux 2.3.99pre4 开始出现。没有选项。   

    Mount options for reiserfs

    Reiserfs 是一种日志文件系统。挂载选项的详细描述位于  http://www.namesys.com/mount-options.html
    conv
    指示 3.6 版的 reiserfs 软件挂载 3.5 版的文件系统,对于新建立的对象使用 3.6 版的格式。这个文件系统再也不与 3.5 版的工具兼容。
    hash=rupasov /  hash=tea /  hash=r5 /  hash=detect
    选择 reiserfs 使用哪一种 hash 函数来在目录内查找文件。
     
    rupasov
    Yury Yu. Rupasov 发明的一种。它比较快,保留了局部性,将字面上相近的文件名映射为相近的 hash 值。不该当使用这个选项,由于这种方法可能带来很高的冲突。
    tea
    一个 Davis-Meyer 函数,由 Jeremy Fitzhardinge 实现。它使用各位进行重排列的名称的散列。它的随机性较高,所以能够减小冲突,代价是 CPU 性能损耗。若是在使用 r5 散列时遇到 EHASHCOLLISION 错误时,能够用它。
    r5
    修改过的 rupasov 散列,它是默认值,也是最好的选择,只要文件系统目录树不是那么大,没有不通常的文件名模式。
    detect
    指示  mount 检测要挂载的文件系统正在使用哪一种散列函数,将信息写入 reiserfs 超块。这个选项只有在第一次挂载旧格式的文件系统时才有用。
    hashed_relocation
    调整块分配器。某些状况下能够带来性能提升。
    no_unhashed_relocation
    调整块分配器。某些状况下能够带来性能提升。
    noborder
    禁止 border allocator 算法,它是由 Yury Yu. Rupasov 发明的。某些状况下能够带来性能提升。
    nolog
    禁止日志。某些状况下能够带来性能轻微提升,代价是失去了从崩溃中快速恢复的能力。即便使用这个选项,reiserfs 仍然进行全部日志动做,将实际的写入保存到日志区域。  nolog 的实现工做还在进行中。
    notail
    默认状况下,reiserfs 将小文件和 "文件零头" 直接保存在树中。这样作会给某些工具带来麻烦,例如 LILO(8)  这个选项用来禁止将文件放入树中。
    replayonly
    重放日志中的事务,但不真正挂载文件系统。主要由  reiserfsck 使用。
    resize= number
    remount 的一个选项,容许在线扩展 reiserfs 分区。指示 reiserfs 假定设备上有  number 个块。这个选项被设计为用于逻辑卷管理 (LVM) 下的设备。有一个特殊的  resizer 工具,能够从这里获得 ftp://ftp.namesys.com/pub/reiserfsprogs。 
     

    Mount options for romfs

    None.   

    Mount options for smbfs

    与  nfs 相似,  smbfs 的实现须要为 mount 系统调用提供一个二进制的参数 (类型是  struct smb_mount_data)。 这个参数由  smbmount(8) 构造,当前版本的  mount (2.12) 对此一无所知。   

    Mount options for sysv

    None.   

    Mount options for tmpfs

    下列参数值能够加后缀  km 或  g , 意思是 Ki, Mi, Gi (二进制千,兆和吉),能够在 remount 的时候更改。
    size= nbytes
    替换文件系统的默认大小。单位是字节,舍入到完整的页面。默认是内存的一半。
    nr_blocks=
    块数。
    nr_inodes=
    inode 数。
    mode=
    设置根目录的初始权限。 
     

    Mount options for udf

    udf 是 the Optical Storage Technology Association 定义的统一光盘格式 "Universal Disk Format" 文件系统,一般用于 DVD-ROM。参见  iso9660
    gid=
    设置默认组。
    umask=
    设置默认 umask。值以八进制给出。
    uid=
    设置默认用户。
    unhide
    显示在通常状况下隐藏的文件。
    undelete
    显示已删除的文件。
    strict
    严格遵循标准 (未用到)。
    utf8
    (未用到)。
    iocharset
    (未用到)。
    bs=
    设置块大小。(不能小于 2048)
    novrs
    跳过卷序列识别。
    session=
    选择 CDROM 区段,从 0 开始。默认:最后一个区段。
    anchor=
    选择标准锚点位置。默认值:256。
    volume=
    选择 VolumeDesc 位置。(未使用)
    partition=
    选择 PartitionDesc 位置。(未使用)
    lastblock=
    设置文件系统的最后一个块。
    fileset=
    设置文件集的块位置。(未使用)
    rootdir=
    设置根文件夹的位置。(未使用) 
     

    Mount options for ufs

    ufstype= value
    UFS 是一种在不一样的操做系统中普遍使用的文件系统。问题在于不一样实现间的差异。某些实现没有将全部特性载入文档,所以很难自动判断 ufs 的类型。这就是为何用户须要在 mount 选项中指定类型的缘由。可能的值是:
     
    old
    旧格式的 ufs。这是默认值,只读。(别忘了加上 -r 选项)
    44bsd
    由 BSD 家族的系统 (NetBSD,FreeBSD,OpenBSD) 建立的文件系统。
    sun
    由 SunOS 或 Sparc 版本的 Solaris 建立的文件系统。
    sunx86
    由 x86 版本的 Solaris 建立的文件系统。
    nextstep
    由 NeXTStep (运行于 NeXT 主机上) 建立的文件系统。(当前为只读)
    nextstep-cd
    适用于 NeXTStep CDROM (block_size == 2048),只读。
    openstep
    由 OpenStep 建立的文件系统 (当前为只读)。Mac OS X 也使用一样的文件系统类型。
     
    οnerrοr= value
    设置出错后的行为:
     
    panic
    若是遇到错误,将致使内核 panic。
    [lock|umount|repair]
    这些挂载选项目前什么都不作;若是遇到错误,只打印一条终端消息。
     
     

    Mount options for umsdos

    参见 msdos 的挂载选项。选项  dotsOK 被  umsdos (? explicitly killed)。   

    Mount options for vfat

    首先,  fat 的挂载选项都被识别。选项  dotsOK 被  vfat (? explicitly killed)。 更多的选项,包括
    uni_xlate
    将未处理的 Unicode 字符转换为特殊的逃逸序列。这样容许你保存和恢复含有任何 Unicode 字符的文件名。没有这个选项的话,对于没法转换的名称将使用 `?' 代替。逃逸字符是 `:',由于它在 vfat 文件系统中是无效字符。用来替换 Unicode 字符 u 的逃逸序列是 `:', (u & 0x3f), ((u>>6) & 0x3f), (u>>12) 。
    posix
    容许两个文件的名称仅有大小写不一样。
    nonumtail
    首先试着建立不带序列号码的短名称,而后再试  name~num.ext
    utf8
    UTF8 是文件系统安全的 Unicode 8-bit 编码,用于终端。它能够在支持它的文件系统中启用。若是设置了 `uni_xlate',那么 UTF8 就被禁止。
    shortname=[lower|win95|winnt|mixed]
    定义建立和显示知足 8.3 格式的文件名时的行为。若是存在对应的长名字,那么老是显示长名字。有四种模式:
     
    lower
    强制短名称在显示时转换为小写;当短名称不都是大写时保存一个长名称。(?)
    win95
    强制短名称在显示时转换为大写;当短名称不都是大写时保存一个长名称。(?)
    winnt
    原样显示短名称;当短名称不都是小写,也不都是大写时保存一个长名称。(?)
    mixed
    原样显示短名称;当短名称不都是大写时保存一个长名称。(?)
    默认值是 "lower" 。
     

    Mount options for xenix

    None.   

    Mount options for xfs

    biosize= size
    设置首选的缓存的 I/O 大小 (默认是 64K)。  size 必须表示为指望 I/O 大小的对数 (以 2 为底)。有效的值是 14 到 16 (即,16K,32K 和 64K字节)。在页面大小为 4K 的机器上,13 (8K 字节) 也是有效的大小。对于每一个文件,首选的缓存 I/O 大小也能够用  ioctl(2) 系统调用来调整。
    dmapi / xdsm
    启用 DMAPI (数据管理接口 Data Management API) 事件管理 (? callouts)。
    logbufs= value
    设置内存中记录缓存的数量。有效值是 2 到 8。默认值是对块大小 64K 的文件系统使用 8 缓存,对块大小 32K 的文件系统使用 4 缓存,对块大小 16K 的文件系统使用 3 缓存,其余全部状况都使用 2 缓存。增长缓存数量在某些情形下能够提升性能,代价是附加记录缓存以及控制结构占用的内存空间。
    logbsize= value
    设置内存中记录缓存的大小。有效的大小是 16384 (16K) 和 32768 (32K)。对于内存超过 32MB 的机器,默认值是 32768,内存小的机器默认使用 16384。
    logdev= device 和  rtdev= device
    使用外部的记录 (元数据日志) 和/或实时设备。XFS 文件系统包含最多三个部分:数据段,记录段,实时段。实时段是可选的,记录段能够与数据段分离,或者包含在内。参见  xfs(5)
    noalign
    数据分配不对齐数据单元边缘。
    noatime
    读取文件时,不更新存取时间戳。
    norecovery
    文件系统挂载时不运行记录恢复。若是文件系统并不是正常卸载,那么以此模式挂载时将多是不一致的。某些文件或目录可能没法存取。以此模式挂载文件系统时必 须是只读的,不然将失败。
    osyncisdsync
    使写入设置了 O_SYNC 标志的文件时的行为相似于设置了 O_DSYNC 标志时。这样能够带来更好的性能,却不会危害数据安全。可是若是设置了这个选项,若是系统崩溃,O_SYNC 写入的时间戳更新将会丢失。
    quota /  usrquota /  uqnoenforce
    启用用户磁盘限额计数,强制进行限制 (可选)。
    grpquota /  gqnoenforce
    启用组磁盘限额计数,强制进行限制 (可选)。
    sunit= value and  swidth= value
    用来为 RAID 设备或 stripe 卷指定区块单位和宽度。(?)  value 必须以 512 字节的块为单位指定。若是没有指定这个选项, (? and the filesystem was made on a stripe volume or the stripe width or unit were specified for the RAID device at mkfs time, then the mount system call will restore the value from the superblock.) 对于直接在 RAID 设备上建立的文件系统,这些选项能够用来覆盖超块中的信息,若是文件系统建立后,下层的磁盘排列发生改变的话。 若是没有指定  sunit 选项的话,那么须要有  swidth 选项,值必须是  sunit 的倍数。 
     

    Mount options for xiafs

    没有。虽然 xiafs 没什么错,可是它用得很少,也没有人维护。应该避免用它。从 Linux 2.1.21 开始再也不是内核源码的一部分了。   

    THE LOOP DEVICE 环回设备

    还有一种类型是经过环回设备来挂载。例如,命令
      mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024
    将设置环回设备  /dev/loop3 关联到文件  /tmp/fdimage, 而后将这个设备挂载到  /mnt。 这种类型的挂载有三种选项,名称是  loopoffset and  encryption, 实际是给  losetup(8) 的参数。若是没有显式地指明环回设备 (而仅仅使用了选项 ` -o loop'),那么  mount 将查找未使用的环回设备而后使用它。若是你没有把  /proc/mounts 连接成 /etc/mtab , 那么使用  mount 分配的环回设备能够用  umount 来释放。固然也能够手动地释放环回设备,使用 `losetup -d',参见  losetup(8)    

    RETURN CODES 返回值

    mount 有以下的返回值 (能够是位或的结果):
    0
    成功
    1
    命令或权限不正确
    2
    系统错误 (内存溢出,不能产生新进程,没有更多的环回设备)
    4
    mount 内部的 bug 或没有  nfs 支持
    8
    用户中断
    16
    写或锁定 /etc/mtab 出错
    32
    挂载失败
    64
    某些挂载成功 
     

    FILES 文件

    /etc/fstab 文件系统表  /etc/mtab 已挂载文件系统表  /etc/mtab~ 文件锁  /etc/mtab.tmp 临时文件   

    SEE ALSO 参见

    mount(2),  umount(2),  fstab(5),  umount(8),  swapon(8),  nfs(5),  xfs(5),  e2label(8),  xfs_admin(8),  mountd(8), nfsd(8),  mke2fs(8),  tune2fs(8),  losetup(8)   

    BUGS

    损坏的文件系统可能致使崩溃。 某些 Linux 文件系统不支持  -o sync 和 -o dirsync (ext2 和 ext3 文件系统  支持 同步更新 (? a la BSD),若是以  sync 选项挂载的话。)  -o remount 不能用来改变挂载参数 (例如,全部  ext2fs-specific 参数,除了  sb, 均可以在 remount 时改变,可是不能改变  fat 文件系统的  gid 或  umask 。)   

    HISTORY 历史

    mount 命令存在于 Version 5 AT&T UNIX 。   

    TRANSBY

    LinuxForum.Net CMPP 中文手册页计划  http://cmpp.linuxforum.net * Tue Jun 22 2004 Yuan Yijun < bbbush@163.com> - 初始版本