Linux下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-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


挂载时使用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操作,突然断电不会掉资料,但加重磁盘负担

只对 ext2,ext3 和 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 挂载一个cdrw或dvdrom

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  将olddir和newdir挂载到同一个inode,挂载后的目录(newdir)继承了被挂载目录的所有属性(除了名称)

时间: 2024-10-28 23:10:54

Linux下mount 详解的相关文章

Linux下iptables详解

一.介绍 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,类似于网络设备中的ACL.它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘或网络出口.而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略.规则,以达到让它对出入网络的IP.数据进行检测. 目前市面上比较常见的有3.4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关. 对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和

Linux下task_struct详解

   背景:为了管理进程,操作系统必须对每个进程所做的事情进行清楚地描述,为此,操作系统使用数 据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或进程控制块.在linux系统中,这就是task_struct结构,在include\linux\sched.h文件中定义. 每个进程都会被分配一个task_struct结构,它包含了这个进程的所有信息,在任何时候操作系统都能跟踪这个结构的信息.这个结构是linux内核汇总最重要的数据结构,下面我们会详细的介绍. task_struct结

【未完】Linux下memcached详解

参考文档: 1.Linux下设置memcached访问IP http://blog.sina.com.cn/s/blog_484d87770101om9r.html 2.Memcached个人熟悉全过程 http://blog.csdn.net/why7282299/article/details/8970499 3.linux下memcached的启动/结束的方式 http://www.2cto.com/os/201203/125164.html

12 Linux下crontab详解

1. 概述: crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. 2. 任务调度的分类: 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘.日志清理等.在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件.                 

Linux下SElinux详解

1.SElinux 全称:Security-Enhanced Linux,灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中,仅                    集合最小权限访问, 2. 查看文件上下文: ls -Z [[email protected] ~]# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg -rw-r--r--. root root system

Linux下lampp详解 (转)

重要文件解释: ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发.发布的免费软件,可以随意修改源始码.它是完全独立而完整.重新改写的FTP Server. 主要特色: 一个单一的和 Apache 的 httpd.conf 类似的配置文件 每个目录下的 .ftpaccess 文件(和 Apache 的. htaccess 类似) 很容易配置的,多个虚拟 FTP 服务器以及匿名 FTP 服务

Linux 下DNS详解

配置之前先了解一下bind DNS服务器软件:BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件.它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准. 为了构架DNS服务器来解析域名或ip地址,我们得安装BIND和caching-nameserver.为了TCP和UDP53数据包能通过,我们也有必要配置路由器. 安装 BIND 软件包 1.安装 # yum -y install bind cach

Linux下Awk详解(转载)

什么是Awk Awk是一种小巧的编程语言及命令行工具.(其名称得自于它的创始人Alfred Aho.Peter Weinberger 和 Brian Kernighan姓氏的首个字母).它非常适合服务器上的日志处理,主要是因为Awk可以对文件进行操作,通常以可读文本构建行. 我说它适用于服务器是因为日志文件,转储文件(dump files),或者任意文本格式的服务器终止转储到磁盘都会变得很大,并且在每个服务器你都会拥有大量的这类文件.如果你经历过这样的情境--在没有像Splunk或者其他等价的工

linux下umask详解

A 什么是umask? 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限"补码",而chmod设置的是文件权限码.一般在/etc/profile.$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值. 你的系统管理员必须要为你设置一个合理的 umask值,以确保你创建的文件具有所希望的缺省权限,防