标签:mount,umount

概述

在上一章增加linux操作系统空间中已经使用过了mount命令对分区进行挂载,这一章详细介绍挂载管理,该命令涉及的知识点也挺多的而且也还比较重要,是需要掌握的一个命令。

挂载分区

mount基本语法

mount [参数]  /dev/sdb1(需要挂载的分区) /sdb1(挂载目录)

参数是可选的,也可以不带参数,参数的使用方法(-o ro,sync,atime)。

参数:

-t:指定文件系统类型

mount -t ext4 /dev/sdb1 /sdb1

-o:指定挂载选项

ro,rw:只读或者读写的方式挂载,默认是rw.

sync:不适用缓存,所有操作直接读写磁盘。

async:适用缓存,默认方式。

noatime:每次访问文件时不更新文件的访问时间。

atime:每次访问文件时更新文件的访问时间,默认方式。

user:任何用户都可以挂载

nouser:只有超级用户才可以挂载

auto:系统开机自动挂载

noauto:系统开机不自动挂载

remount:重新挂载文件系统。

查看当前已挂载的分区

mount

通过mount不带参数命令可以查看当前系统的所有挂载分区情况,包括分区的挂载点、分区类型、参数等。

查看挂载分区下的文件
ls /sdb1

每个挂载分区下面都会有一个Lost+found文件夹,该文件夹用来存放文件的损坏数据,例如使用fsck检查分区命令的错误信息就写入该文件夹(命令:fsck /dev/sdb1)。

修改分区只读  

mount -o remount,ro /dev/sdb1 /sdb1

把sdb1修改为只读后,使用touch无法创建文件。

不更新文件访问时间

mount -o remount,rw,noatime /dev/sdb1 /sdb1

特别是对性能要求很高的系统中,可以将文件系统设为不更新访问文件的时间,比如存放数据库文件的分区,由于访问非常频繁,如果每次访问都更新访问时间对性能会造成一定的影响,这时我们可以将该分区设置成不更新访问文件的时间来提高性能。

stat命令

可以使用stat命令查看文件的访问时间

stat test

这里是因为我后面对参数做过修改,加上noatime参数后确实不会对访问时间进行修改,大家可以试一下;

不使用缓存

开启缓存的目的是为了提高读写的性能,即你对一个数据的读写先读写缓存,因为缓存的读写速度要远远高于磁盘,这样就会提高读写的性能,但是带来性能的同时也会存在丢失修改的风险,当写入缓存的时候突然断电那么这个时候缓存的数据就有可能会丢失了,造成没有写入磁盘。不过现在linux文件系统类型比如ext3,ext4默认都会记录日志,即分区中会存在128M大小的日志空间用来记录对磁盘的读写操作,这也是为了保证数据的丢失修改的一个措施。如果对数据要求很严格的系统可以不适用缓存,但是绝大多数情况下都是适用缓存,这也是linux默认的方式。

mount -o remount,rw,noatime,sync /dev/sdb1 /sdb1

卸载分区

umount语法

umount /dev/sdb1(分区)
或者
umount /sdb1(挂载点)

卸载sdb1分区

卸载失败,这里提示设备繁忙

fuser命令

可以使用fuser命令查看文件系统占用的进程

fuser -m /sdb1(挂载点)
或者
fuser -m /dev/sdb1(分区)

可以看到2821进程正在占用。

lsof命令

查看正在被使用的文件,losf命令是list open file的缩写。

lsof /sdb1(挂载点)

通过losf命令可以查看正在被使用的文件,可以看到是bash正在使用,因为当前我就是在sdb1文件夹下面,当前的命令窗口正在使用,切换到别的目录下面

当切换到别的路径下面后,再使用umount命令就可以卸载分区,使用mount查看分区信息可以看到sdb1分区已经被卸载了.

修改配置文件

mount挂载分区在系统重启之后需要重新挂载,修改/etc/fstab文件可使挂载永久生效

vim /etc/fstab
# <file system>          <mount point>          <type>  <options>      <dump> <pass>
UUID=9905757a-a2a3-4a4a-abc7-ece61efeb531 / ext4 defaults
UUID=7981f23f-e636-474c-bf10-65adc5c56397 /boot ext4 defaults
UUID=d0000d2a-a161--b843-d4ba060ad24c swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/dev/sdb6 /sdb6 ext4 sync,noatime

file system:第一列是分区号

mount point:挂载点

type:文件类型

option:-o参数,defaults: rw, suid, dev, exec, auto, nouser, and async

 如果不使用default默认参数,那么可以使用逗号分隔指定参数
ro,rw:只读或者读写的方式挂载,默认是rw. sync:不适用缓存,所有操作直接读写磁盘。 async:适用缓存,默认方式。 noatime:每次访问文件时不更新文件的访问时间。 atime:每次访问文件时更新文件的访问时间,默认方式。 user:任何用户都可以挂载 nouser:只有超级用户才可以挂载 auto:系统开机自动挂载 noauto:系统开机不自动挂载

dump:当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作

pass:fsck磁盘检查设置,其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

通过mont和df命令查看到的逻辑分区名和配置文件中配置的逻辑分区名不一样,但是二者的意思是一样的,不要被误解

补充

挂载ios镜像文件

mount -o loop iso镜像文件   挂载点

例:

mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso  /iso

使挂载立即生效

sync

总结

mount命令比较重要的知识点就是合理的使用参数,当然同样要记住mount挂载在服务器重新启动后又需要重新挂载,如果想永久挂载还是需要去修改/etc/fstab文件,因为这些参数会对我们系统的性能造成影响。一天连续写了两篇文章真的很累,现在已经凌晨了,洗洗睡。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

---恢复内容结束---

Linux 挂载管理(mount)的更多相关文章

  1. Linux挂载(mount,umount及开机自动挂载

    挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载” 1.挂载:根 ...

  2. Linux 挂载命令 --mount

    1.挂载光盘命令  mount :  mount [-t vfstype] [-o options] device dir mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 -t ...

  3. [mount]linux 挂载时 mount: wrong fs type, bad option, bad superblock on /dev/sdb

    原因:挂载时未格式化,使用的文件系统格式不对 解决方案:格式化 sudo mkfs -t ext4 /dev/sdb 再挂载 sudo mount /dev/sdb /xxx/ 用df -h检查,发现 ...

  4. linux 挂载命令mount、umount

    mount /bin/mount语法:mount [-t文件系统] 设备文件名 挂载点mount -t iso9660 /dev/sr0 /mnt/cdromiso9660是固定的,光盘:所以 -t ...

  5. Linux挂载命令mount用法及参数详解

    导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...

  6. Redhat linux 挂载命令mount

    命令格式: mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定.mount 会自动选择正确的类型. ...

  7. linux挂载命令mount及U盘、移动硬盘的挂载

    一.mount的命令格式是(注意mount只能在root权限下运行) mount dervice dir dervice是要挂载的设备,dir是挂载点 二.查看当前磁盘列表的设备 fdisk -l 显 ...

  8. linux 挂载光盘:mount: you must specify the filesystem type

    尝试挂载光盘镜像时出现mount: you must specify the filesystem type 使用-t auto -t iso9660 或不加参数都搞不定,最后在以下链接找到解决办法: ...

  9. freeNAS nfs linux挂载

    新建存储块,设置权限为root wheel 备份修改/var/lib/nova 名称 新建/var/lib/nova 目录,修改目录的属主机权限 mv /var/lib/nova /var/lib/n ...

随机推荐

  1. Tray - a SharedPreferences replacement for Android

    一个代替SharedPreferences的开源库, no Editor, no commit() no apply(),因此不存在UI卡顿现象,并且支持多线程,在一个线程中存另一个线程中取数据. h ...

  2. trigger() --工作中问题nav样式

    自动执行某元素的某个事件 $("#div").trigger("click");  //让系统自动执行单击事件 适用于nav样式中,下面横线绝对定位于nav.o ...

  3. U-BOOT分析之:环境变量

    (环境如下:U-BOOT  S3C2440  LINUX) 记录自己的学习过程,如果分析有问题,请帮忙指正. 最近在研究U-BOOT的代码,其中的环境变量个人觉得用处非常大,所以重点学习和分析一下. ...

  4. Pascal 语言中的关键字及保留字

    absolute //指令(变量) abstract //指令(方法) and //运算符(布尔) array //类型 as //运算符(RTTI) asm //语句 assembler //向后兼 ...

  5. Angular动画(ng-repeat)

    ng-repeat 动画 根据列表元素的插入与移除,触发相应的代码添加动画 <!doctype html> <html lang="en" ng-app=&quo ...

  6. C#版 Winform界面 Socket编程 Server服务器端

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. 如何理解typedef void (*pfun)(void)

    问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那 ...

  8. Sprint2团队贡献分

    团队贡献分: 郭志豪:31%  http://www.cnblogs.com/gzh13692021053/ 杨子健:22%http://www.cnblogs.com/yzj666/ 谭宇森:23% ...

  9. [转]WebPack 常用功能介绍

    概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...

  10. js闭包演示

    有个网友问了个问题,如下的html,为什么每次输出都是5 <html > <head> <meta http-equiv="Content-Type" ...