用途:挂载设备到指定的挂载点
用法:
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option [,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
mount命令最基本的使用格式是 mount -t type device dir 该命令使内核将设备上的文件系统附加到指定dir,该目录下之前的内容将被隐藏,直到mount解除
帮助命令:mount -h , mount -V , mount [-l] [-t type] 列出已mount的文件系统信息及类型,包括卷标volume lable
说明:mount -a 通常用于启动脚本,会自动按照/etc/fstab进行挂载
如果要改写按照/etc/fstab进行挂载的选项,可以使用 mount device|dir -o <options> 该指定option会添加到/etc/fstab记录里,通常最晚指定的option生效
如果在/etc/fstab里加入类似 /dev/cdrom /cd iso9660 ro,user,noauto,unhide 这样的记录,则任意用户可自行挂载光盘设备
选项:
-V --version 输出版本信息
-h --help 打印帮助信息
-v --verbose 显示命令执行的详细信息
-a --all 挂载fstab中记录的所有文件系统
-F --fork 与-a连用,多个mount进程并行对不同设备执行,好处是更快,坏处是无法指定执行顺序,因而带来一些限制,比如无法同时挂载/usr和/usr/spool
-f --fake 假装mount,做出检查设备和目录的样子,但不真正挂载系统,常与-v连用来查看mount的执行过程;也可用来添加之前使用-n命令时未添加的条目,-f选项会检查/etc/mtab里的记录,有记录的则不执行
-i --internal-only 不调用/sbin/mount helper
-l 在mount输出中加上label,必须要有设备的读权限
-n --no-mtab 挂载但不写入/etc/mtab,在/etc位于只读的文件系统的情况下必加
-p --pass-fd num 用于loop设备加密的情况下,从文件描述符num中读取密码
-s 将忽略文件系统不支持的选项,用于支持部分版本linux的autofs-based自动挂载
-r --read-only 只读挂载,同-o ro
-w --rw 默认选项,挂载后可读写-o rw
-L label 挂载时指定分区的卷标
-U uuid 挂载时指定分区的uuid,这两个选项需/proc/partitions文件存在
-t --type vfstype 挂载时指定文件系统类型,如果不指定的话mount命令会自动猜测,与-a连用时一个以上用逗号隔开的type list表示例外,如 mount -a -t nomsdos,ext表示除了这两种都挂载
-O --test-opts opts 与-a连用,用于限制-a的行为,如 mount -a -O no_netdev表示挂载除了fstab中指明为_netdev的所有文件系统;与-t的效果是叠加的,如mount -a -t ext2 -O _netdev 只挂载有_netdev参数的ext2文件系统
-o --options opts 指定挂载文件系统时的附加选项,后接用逗号隔开的字符串,如 mount LABEL=mydisk -o noatime,nouser
-B --bind 文件系统的某个子树重新挂载到另一个地方,原来的不变,这样从两个挂载点都可以访问里面的内容
-R --rbind 整个文件系统重新挂载到另一个地方,同上,也是两个挂载点都可访问
-M --move 将subtree移动到别的挂载点,原来的不能访问
文件系统的单独mount选项:
async 对文件系统的修改将被异步写入
noatime 改动时不更新inode里的atime
nodev 不指明挂载到该文件系统的为字符或块特殊设备
nodiratime 不更新文件系统下目录文件的atime
dirsync 所有目录的更新将被同步写入磁盘,会影响到以下系统调用的结果:creat,link,unlink,symlink,mkdir,rmdir,mknod,rename
noexec 不允许直接执行文件系统下的任何二进制文件
group 运行与设备文件同组的普通用户挂载文件系统
_netdev 申明为网络设备,防止系统在网络可用前将其挂载
relatime 只有在atime早于mtime和ctime时才更新atime,可提高系统存取性能,但不影响类似于mutt这类需要知道在mtime后是否被读取的程序
strictatime 实时更新atime
suid 允许suid和sgid位生效
owner 允许device文件的属主挂载它
remount 重新挂载一个已挂载过的文件系统,不更改设备和挂载点,通常用于更改挂载选项,如将只读变为可读写,remount对命令行选项和fstab中选项的处理方法和mount完全相同,仅在设备和挂载点都指定的情况下,fstab和mtab才被忽略; mount -o remount,rw /dev/foo /dir 这个命令表示原来的所有挂载项都会被替换,并忽略fstab中预设的选项; mount -o remount,rw /dir 表示fstab或mtab中预设选项与此处命令行选项合并后得到新的挂载选项
user 允许指定user挂载文件系统,该user将被写入mtab,该选项暗含noexec,nosuid,nodev
users 允许所有人挂载文件系统
默认选项是:rw,suid,dev,exec,auto,nouser,async,relatime
参考文件:/etc/fstab 文件系统表
/etc/mtab 已挂载文件系统列表
/etc/mtab~ 锁文件
/etc/mtab.tmp 临时文件
/etc/filesystems 一系列将要尝试的文件类型(未指定type时)
典型用法:
1.挂载硬盘分区到指定挂载点
mount -l 或 mount -l -t ext4
列出当前已挂载分区
mount -t ext4 /dev/sdb1 /mnt
常用分区格式也可省略
2.挂载光盘镜像文件
mount -r -o loop -t iso9660 镜像路径 要挂载的目录
-o后接的选项主要用来指定设备或档案的挂接方式,常用参数有:
loop 把一个文件当成磁盘分区挂接上系统
ro 采用只读方式挂接设备
rw 采用可读写方式挂接设备
iocharset 后面指定文件系统所用字符集
-r为只读挂载,等同于-o ro
3.挂载移动硬盘
Linux系统会把移动硬盘当作SCSI设备,fdisk -l会看到/dev/sdx设备下的分区,现在的移动硬盘通常为NTFS格式
mount -t ntfs 移动硬盘分区 要挂载的目录
如果汉字有乱码可以在挂载时指定字符集
mount -t ntfs -o iocharset=cp936 移动硬盘分区 要挂载的目录
很多发行版的Linux如RedHat系默认是不支持NTFS格式的,可能需要下载转换工具如ntfs-3g等
挂载U盘同移动硬盘是一样的
4.挂载windows文件共享
windows网络共享的核心是SMB/CIFS,在linux下可安装samba软件包来获得共享
创建挂载目录 mkdir -p /mnt/samba
mount -t smbfs -o username=administrator,password=123 //192.168.1.100/c$ /mnt/samba
username和password后为实际samba共享用户名密码,c$是共享磁盘或文件夹的路径
5.挂载NFS远程磁盘
创建挂载目录 mkdir -p /mnt/nfs
mount -t nfs -o rw 192.168.1.100:/共享目录路径 /mnt/nfs
tips:如果是本地fdisk新建分区,挂载后最好用partprobe命令更新分区表;如果要以后每次开机都自动挂载,可以在/etc/fstab里添加记录