挂载_挂载数据盘 - CSDN
精华内容
参与话题
  • linux中关于挂载的理解

    万次阅读 2018-08-16 13:56:47
    挂载: Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。 Linux...

    挂载:
    Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。
    Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示你。这里又一次提到了挂载。所以挂载就是把目录和分区连接起来,和上面说的WINDOWS下的映射关系是一样的。不同的是WINDOWS是把分区映射到一个盘符,而LINUX下是映射到一个目录。 这是理解他们不同最重要的地方,而导致不同的是因为文件系统结构不同。
    上面说了Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如/oracle。当然有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那没OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录 --- 分区 是通过挂载吧他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录是,就是操作对用的分区了.
    而WINDOWS就没这么复杂,她不是采用树形的结构,每个分区对应一个盘符,一旦建立映射关系就无法在修改。实际上,LINUX的每个挂载了分区的目录就相当于WINDOWS系统中的盘符,比如上面的,/home/ftp 和 /oracle目录我们就可以把她看做一个盘符和一个分区关联,只是因为LINUX文件系统,使得她更加灵活,所以也更复杂和难以理解。
    df 命令可以查看分区挂载情况, fdisk 命令可以查看系统分区情况。
    LINUX下所有设备都被认为是文件,而/dev目录存放所有系统设备文件的,而一个分区就是一个文件,名字就是分区的名字.
    1、通过mount挂载文件 来挂载磁盘分区(或存储设备)
    mount挂载文件  [-t  文件系统 ]  [-o  选项]  设备  目录
    -t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识别
    -o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等
    设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
    1)对光驱和软驱的挂载;
    我们先建一个目录,然后执行Linux mount挂载文件 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 Linux mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
    2)挂载硬盘和移动硬盘的文件系统;
    一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
    [1]挂载Linux文件系统;
    首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
    步骤:
    先创建一个挂载目录;比如/mnt/hda5
    设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入; 
    通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录; 
    假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5  
    不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统; 
    通过df -lh 来查看是不是被挂载了;
    如果不需要挂载 使用umount /mnt/hda5来取消挂载

    展开全文
  • Linux挂载命令

    千次阅读 2019-06-27 10:56:47
    对比windows分配盘符 分配的盘符类似挂载点,将盘符分配到挂载点的过程就是挂载,可以将设备挂载不同的分区 硬盘会在开机的时候自动挂载,U盘光盘这些存储设备需要手动挂载 查询与自动挂载 mount 查询系统中...

    挂载命令

    • 对比windows分配盘符 分配的盘符类似挂载点,将盘符分配到挂载点的过程就是挂载,可以将设备挂载不同的分区
    • 硬盘会在开机的时候自动挂载,U盘光盘这些存储设备需要手动挂载

    查询与自动挂载

    • mount 查询系统中已经挂在好的设备

      • /dev/sda5 on / type ext4 (rw) 硬盘挂载在第编号为5的分区,也就是第一块逻辑分区作为根分区 ,硬盘格式是ext4,权限是的读写
      • /dev/sda1 on /boot type ext4 (rw) 硬盘挂载在第编号为1的分区,挂载在boot分区 ,硬盘格式是ext4,权限是的读写
    • mount -a 依据配置文件/etc/fstab的内容自动挂载 ,不建议启动自动挂载U盘等外接设备(不一定每次启动都会有,影响系统启动)
      《Linux挂载命令》

    挂载命令格式

    • mount [-t 文件系统] [-o 特殊选项 ] 设备文件名 挂载点
      • 选项 -t文件系统 , 加入文件系统的类型来指定挂载的类型,可以ext3 ,ext4,iso9660等文件系统;
      • -o 特殊选项 : 可以指定挂载额外的选项
    挂载光盘
    • mkdir /mnt/cdrom/建立挂载点
    • mount -t iso9660 /dev/cdrom /mnt/cdrom 挂载光盘
    • mount /dev/sr0 /mnt/cdrom
    卸载命令

    挂载光盘一定要记得 卸载,不然可能会导致系统异常;另外需要先退出光盘的占用然后再卸载光盘
    * umount [设备文件名或者挂载点]
    * 例如 umount /mnt/cdrom
    《Linux挂载命令》

    挂载U盘

    • fdisk -l 查看U盘设备文件名
    • mount -t vfat /dev/sdb1 /mnt/usb/ 指定U盘的文件系统是 vfat,相当于windows的fat32

    注意 :linux默认是不支持ntfs文件系统的

    编写可执行shell脚本


    //注意 #!/bin/bash,一定不可以省略,在编写比较复杂的脚本的时候需要嵌套其他的语言为了可以正确执行不可以省 vim hello.sh //#!/bin/bash echo "hello linux" chmod 755 hello.sh ./hello.sh
    展开全文
  • 挂载 (mount) 深入理解

    千次阅读 2017-04-26 14:01:35
    首先引用一句 wiki 上的定义来开篇: Mounting takes place before a computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share). The user or their operating system must ...

    首先引用一句 wiki 上的定义来开篇:

    Mounting takes place before a computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share). The user or their operating system must make it accessible through the computer’s file system. A user can only access files on mounted media.

    意思是说, “挂载” 发生在计算机想要使用任何类型的存储设备 (如硬盘, CD-ROM, 网络设备) 之前. 操作系统必须将这个设备纳入自己的文件系统中去.

    要注意的是, 这里的存储设备不一定必须是外部的存储设备, 也可以是你安装系统的硬盘上的分区.

    例子先

    光看上面说的还不够, 先看个例子吧, 这个例子摘自 man mount, 在 man 手册中这个例子下的一句话非常好的解释了 mount 到底是什么.

    mount -t type device dir

    在这个例子下面有这么一句话:

    This tells the kernel to attch the filesystem fount ondevice(which is of typetype) at the directorydir.

    这句话非常重要, 我们一定要明白, 挂载操作, 实际上是把设备device中的文件系统附加到dir上, 然后我们就可以通过访问dir来访问这个设备.

    明白了这一点, 我们就能明白 “挂载” 的本质了, 挂载的本质就是针对某一设备, 分析出其文件系统结构, 并根据其文件系统类型调用 linux 中相应的驱动, 处理其的元数据, 将这些信息附加到 linux 的目录树上呈现出来.

    明白这一点之后, 后面的 bind mount, loop mount 以及 remount 的区别就能够很清楚了.

    挂载点

    什么是挂载点呢? 还是先借用 Wiki 上的一句话:

    A mount point is a physical location in the partition used as a root filesystem.

    不幸的是, Wiki 上的这句话并不准确, 这句话的意思也就是说 “挂载点就是 root 分区中的一个位置”, 这句话错在 “root 分区” 上.

    我们知道在安装 Linux 系统时可能会为磁盘分多个区, 最普遍的情况就是很多用户会给 /home 目录单独分一个区. 而且有一部分用户还会在 /home/username 目录下建立一个专门用来挂载各种设备的目录 (如 /home/username/mnt-point) 而不使用系统的 /mnt 目录. 那么这时候, 难道说 /home/username/mnt-point 这个目录就不是挂载点了吗? 显然它也是挂载点, 但它确并不是位于 root 分区 (即 / 分区).

    国外有一篇文章, 用毫不装逼的方式说出了”挂载点”的本质:

    In simple words a mount point is a directory to access your data (files and folders) which is stored in your disks.

    所以说白了, 挂载点就是一个目录. 所以下文中当我应该说”挂载到某一挂载点”的时候我都直接说”挂载到某一目录”.

    假设备挂载 (loop mount)

    loop device

    明白 loop mount 之前, 最好先清楚什么是 loop device, 有耐心的话可以参见维基百科中的条目, 比较长, 没耐心的话可以直接看我下面的描述, 简洁些.

    简单来说, loop device 能够提供将一个档案挂载到某一目录的功能. 这和 bind mount (下文会介绍) 有些类似, 但并不相同. 原始的 mount 只是为了将正常的设备挂载, bind mount 使得可以挂载目录, 而 loop device 使得可以挂载档案.

    在 linux 中, loop device 就是指 /dev/loop0, /dev/loop1, /dev/loop2 … 这些设备, 它们是虚假的设备(pseudo device), 不像 /dev/sda 在你的主机里物理存在. loop device 需要你在编译内核的时候将其静态编译或者编译为动态模块, 然后需要使用modprobe加载其模块(这个模块包含了 loop device 的驱动程序以及 losetup 这种提供给用户来操作 loop device 的程序), 这时其驱动程序就回创建 /dev/loop0, /dev/loop1 … 这几个设备文件.

    档案

    注意, 我在说档案的时候, 指的是英文中的 archive, 它和文件 file 是不同的东西, 档案 archive 是一个打包的文件集, 里面一般包含许多文件, 比如 tar, jar, iso 就是常见的档案格式.

    用过 dd 的人应该知道, 这个强大的命令可以将整个磁盘或者磁盘分区克隆下来, 放到一个文件里, 一般, 这样的文件我们都以 .img 后缀为其命名并称这样的文件为镜像文件. 我所说的档案也包含这类情况.

    loop mount

    ok, 明白了什么是 loop device, 也明白了档案是什么, 那么到底如何把一个档案挂载到某个目录下呢?

    实际上 loop mount 采取了一个瞒天过海的方式, 它先将这个档案映射到某个 loop device 上, 像这样:

    # losetup /dev/loop0 xxxx.iso

    通过这种方式来欺骗mount命令, 让mount命令以为 /dev/loop0 上面真的有设备. 这时运行mount就行了:

    # mount -t iso9660 /dev/loop0 /path/to/mount/point

    这么看起来, 当你想挂载某一个档案的时候(比如某个 iso), 你首先得把这个档案和某一个 loop device 关联起来, 使用 losetup 命令. 然后使用 mount 命令将这个 loop device 设备挂载到某个目录上. 实际上不必这样,mount命令自身其实就有一个能把这两步合并的功能, 那就是这样:

    # mount -t iso9660 -o loop /dev/loop0 /path/to/mount/point

    最后我们再来想一想, 是不是所有的档案都可以用这种方式挂载? 显然不是的, 根据mount命令有个 -t 参数来看, 在挂载的时候是需要指定文件系统的类型的(不指定的话mount命令会自动识别), 还记得上面说的挂载的本质吗?

    “挂载操作, 实际上是把设备 device 中的文件系统附加到 dir 上,”.
    不被识别的文件系统是不能被挂载的, 如果你没有加载 ReiserFS 模块, 那么挂载具有 ReiserFS 文件系统的设备时就会报 “unknown file system” 错误. 像上面说的 tar, jar, zip 这样的档案, 它们只是一种打包/压缩格式, 本身就不是一种文件系统格式, 当然是不能被 linux 识别的. 它们虽然可以映射到某一个 loop device, 但并不能被挂载.

    但是像 .iso 文件, 它一般包含 iso 9660 文件系统, 都知道这是一种 CD 上采用的文件系统. 还有就是你可以使用 dd, mkfs 命令来创建一个 ext2, ext3 等文件系统的档案. 这样的档案才是可以被挂载的.

    loop mount 一直以来是 Unix-like 系统下很有用的特性, 能帮助你当你拿到一个 iso 文件后, 不必将其刻录到 CD/DVD 里就能查看里面的内容. windows 下直到 windows 7 才支持这一特性, 在此之前都需要借助第三方软件如 Daemon Tools 来实现虚拟光驱的功能.

    绑定式挂载 (bind mount)

    上面所说的 “挂载” 都是指让你将某个设备挂载到某一目录, 不管这个设备是真实的物理设备, 还是假的 loop 设备, 它都是设备. 而 “绑定式挂载” 能够允许你将已经的存在目录挂载到另一目录. 比如:

    # mount –bind / /home/username/mnt-point

    这样, 你的 mnt-point 目录下也会有 etc, opt, usr 等目录, 这一过程我们称作 “将根目录绑定到 /home/username/mnt-point 上”, 所以, 你在一处改变目录下的内容的话, 在另一处也能够看到改变.

    需要注意的一点是如果根目录树下有某个目录是挂载到另一个磁盘分区的话, 那么它可能不会被绑定到新的目录下. 比如说如果 /usr 和 / 处于不同的磁盘分区(/ 在 sda1, /usr 在 sda2), 那么你可能会发现 /home/username/mnt-point/usr 是空的, 那么这时可以额外挂载一次来使得 /usr 也出现在 /home/username/mnt-point/usr:

    #mount –bind /usr /home/username/mnt-point/usr

    不过你也可以在一开始就执行:

    \ # mount –rbind / /home/username/mnt-point

    关于绑定式挂载,man 2 mount中的描述是 “使一个文件, 或者一个目录树在另一个目录上可见”. 这地方不太理解, 就我所知, 只能将目录绑定到目录, 不能将文件绑定到目录的. 我尝试过将一个普通的文件绑定到目录, 但报错了. 不知道 man 手册里这个说法是什么意思. 我只能这么理解: 目录也是文件, 所以这种说法没错吧….

    重新挂载 (remount)

    借助于绑定式挂载, 可以实现有趣的效果, 比如说, 你可以将 / 绑定到 /, 将 /tmp/test/ 绑定到 /tmp/test/ (运行 mount 命令就能看到效果). 不过… 这么干有个鸟用啊!! 谁这么无聊会去这么干啊!!

    这就是 remount 存在的原因, 我们虽然可以通过绑定式挂载耍点小聪明, 将自己绑定到自己上, 但这与没绑定没有任何区别啊; 然而借助 remount, 我们就可以在重新挂载的时候修改挂载的参数.

    remount 最常用的情况就是将一个文件系统由只读重新挂载为读写, 或者相反. 比如:

    # mount -o remount,rw /

    关于 remount 的详情, 可以看一下 man 手册, 这里就不多介绍了.

    supermount

    “超级挂载”, 这个项目的目的是让你能够免去手动 mount/umount 的过程, 达到 “插上 U 盘就开始拷文件” 以及 “拷完文件就拔掉 U 盘” 的效果.

    Update:

    关于 “绑定式挂载”, 虽然不能将一个文件挂载到目录, 但确是可以将一个文件挂载到另一个文件的! 比如说这样:

    # touch /tmp/test
    # echo “hello mount” > /tmp/test
    # mount –bind /tmp/test /tmp/test2

    然后你再去查看 /tmp/test2, 会发现它也有 “hello mount” 这个内容. 所以这样一开始说的 “挂载点就是目录” 这个说法也不太对了…..

    非常好的一篇文章

    这篇文章也是 参考1 中提到的文章, 由于写的太好, 为了防止其丢失, 我把它转到这里了, 下面那篇英文就是. 我之所以敢转这篇文章是因为这篇文章的版权声明停留在 2006 年, 它的主人大概是忘了更新. 我从这篇文章里摘取了几个比较重要的点作为笔记.

    • 在 “挂载” 的概念中, “设备” 可以是一个分区 (如 /dev/sda9), 可以是另一块磁盘, 可以是 CDROM, 软盘, USB, 磁带等等.
    • 挂载点” 是一个目录, 而且往往是一个空目录, 但这不是必须的. 如果这个目录不是空的, 那么挂载之后, 这个目录中以前的内容会被 “隐藏” 起来变得不可访问.

    参考文献

    1. 非常好的解释了 “挂载” 的概念, 强烈推荐这篇文章。地址:http://www.linfo.org/mounting.html
    2. 其中有一句话不装逼的说出了 “挂载点” 是什么:地址:http://www.linuxnix.com/what-is-a-mount-point-in-linuxunix/

    原文地址

    酷勤网原文:http://www.kuqin.com/shuoit/20141130/343550.html

    展开全文
  • Linux中挂载详解以及mount命令用法

    万次阅读 多人点赞 2017-12-13 15:23:10
    挂载概念 Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现,这种关联操作就是“挂载”,这个目录就是“挂载点”,解除次关联关系的过程称之为“卸载”。 注意:“挂载点”的...

    挂载概念

    Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现,这种关联操作就是“挂载”,这个目录就是“挂载点”,解除次关联关系的过程称之为“卸载”

    注意:“挂载点”的目录需要以下几个要求:

    (1)目录事先存在,可以用mkdir命令新建目录;

    (2)挂载点目录不可被其他进程使用到;

    (3)挂载点下原有文件将被隐藏。

    挂载与卸载

    挂载方法:mount DECE MOUNT_POINT

        mount:通过查看/etc/mtab(文章最后会对/etc/mtab有个解释)文件显示当前系统已挂载的所有设备

    命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir

    device:指明要挂载的设备;

    (1) 设备文件:例如/dev/sda5

    (2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'

    (3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

    (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs

    dir:挂载点

        事先存在;建议使用空目录;

        进程正在使用中的设备无法被卸载

    常用命令选项

        -t vsftype:指定要挂载的设备上的文件系统类型;

        -r: readonly,只读挂载;

        -w: read and write, 读写挂载;

        -n: 不更新/etc/mtab; 

        -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)

        -L 'LABEL': 以卷标指定挂载设备;

        -U 'UUID': 以UUID指定要挂载的设备;

        -B, --bind: 绑定目录到另一个目录上;

    注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

    ………………………………………………………………………………………………………………………

        -o options:(挂载文件系统的选项)

          async:异步模式;

          sync:同步模式;

          atime/noatime:包含目录和文件;

          diratime/nodiratime:目录的访问时间戳

          auto/noauto:是否支持自动挂载

          exec/noexec:是否支持将文件系统上应用程序运行为进程

          dev/nodev:是否支持在此文件系统上使用设备文件;

          suid/nosuid:是否支持在此文件系统上使用特殊权限

          remount:重新挂载

          ro:只读

          rw:读写

          user/nouser:是否允许普通用户挂载此设备

          acl:启用此文件系统上的acl功能

    注意:上述选项可多个同时使用,彼此使用逗号分隔;

     默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async

    上述信息可以通过查看超级块信息看到,这里不再对其进行演示。

    ………………………………………………………………………………………………………………………

    命令演示

    1、指定文件系统将块设备挂载至指定空文件夹内:演示内容:1)没有指定文件系统,命令是否能正确执行;2)指定错误文件系统,命令是否能正确执行;3)挂载点有内容的文件夹,查看被挂载后其内容是否消失。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    [root@localhost /]# fdisk -l
    ...
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2099199     1048576   83  Linux
    /dev/sdb2         2099200     4196351     1048576    5  Extended
    /dev/sdb5         2101248     2306047      102400   83  Linux
    /dev/sdb6         2308096     2512895      102400   83  Linux
    /dev/sdb7         2514944     2719743      102400   83  Linux
    /dev/sdb8         2721792     2926591      102400   83  Linux
    ...
    [root@localhost /]# mount /dev/sdb8 /device
    [root@localhost /]# df
    文件系统                   1K-块    已用     可用 已用% 挂载点
    /dev/mapper/CentOS-root 18307072 4724136 13582936   26% /
    devtmpfs                  485368       0   485368    0% /dev
    tmpfs                     500664      84   500580    1% /dev/shm
    tmpfs                     500664    7160   493504    2% /run
    tmpfs                     500664       0   500664    0% /sys/fs/cgroup
    /dev/sda1                 508588  142620   365968   29% /boot
    tmpfs                     100136      20   100116    1% /run/user/42
    tmpfs                     100136       0   100136    0% /run/user/0
    /dev/sdb8                  98988    5280    93708    6% /device
    [root@localhost /]# blkid /dev/sdb8
    /dev/sdb8: UUID="a3c4bf06-3695-45e8-8a07-a063498f0578" TYPE="xfs" 
    [root@localhost /]# umount /device
    [root@localhost /]# mount -t ext2 /dev/sdb8 /device
    mount: 文件系统类型错误、选项错误、/dev/sdb8 上有坏超级块、
           缺少代码页或助手程序,或其他错误
    [root@localhost /]# cd /device/
    [root@localhost device]# ll
    总用量 0
    [root@localhost device]# touch 11 22
    [root@localhost device]# ll
    总用量 0
    -rw-r--r--. 1 root root 0 8月  23 10:14 11
    -rw-r--r--. 1 root root 0 8月  23 10:14 22
    [root@localhost device]# ll
    总用量 0
    [root@localhost device]# ll -a
    总用量 4
    drwxr-xr-x.  2 root root    6 8月  23 09:27 .
    dr-xr-xr-x. 21 root root 4096 8月  23 09:29 ..
    [root@localhost device]# cd ..
    [root@localhost /]# umount /device/
    [root@localhost /]# cd /device/
    [root@localhost device]# ll
    总用量 0
    -rw-r--r--. 1 root root 0 8月  23 10:14 11
    -rw-r--r--. 1 root root 0 8月  23 10:14 22

    通过上述演示,说明了如下事实:1)没有指定文件系统,块设备也可以正常挂载;2)指定与块设备不一致的文件系统类型则命令报错;3)挂载点有内容的文件夹,在挂载后内容消失,卸载后内容重现,也就是说挂载后会将原文件内容掩盖,但并不对其进行其他操作。

    ………………………………………………………………………………………………………………………

    2、演示内容:1)指定卷标并以只读方式挂载;2)对目录进行挂载操作,查看其与硬链接与软链接有何不同。

    [root@localhost device]# blkid /dev/sdb6

    /dev/sdb6: LABEL="sdb6" UUID="8284450c-8cb9-45d7-a8b8-ed9ed9ef9e52" TYPE="xfs" 
    [root@localhost device]# mount -L 'sdb6' -r /device/ 
    [root@localhost device]# touch /device/33 
    touch: 无法创建"/device/33": 只读文件系统 
    [root@localhost device]# umount /device/ 
    [root@localhost /]# mount -B /etc/ /device/ 
    [root@localhost /]# ll -i / 
    总用量 64 
        11341 lrwxrwxrwx.  1 root root    7 7月  19 23:54 bin -> usr/bin
          128 dr-xr-xr-x.  4 root root 4096 8月  2 10:09 boot 
            3 drwxr-xr-x.  19 root root 3300 8月  23 09:10 dev 
     33554561 drwxr-xr-x. 129 root root 8192 8月  23 09:38 device 
     33554561 drwxr-xr-x. 129 root root 8192 8月  23 09:38 etc 
          158 drwxr-xr-x.  42 root root 4096 8月  22 09:00 home

    通过上述演示,说明了如下事实:1)指定卷标挂载可行,以只读方式挂载后,无法对挂载点中的内容进行修改、创建等操作;2)目录的挂载实质上是硬链接,挂载后可以对里面的文件内容进行修改与删除。

    注:文件夹的挂载在df中并不显示

    ………………………………………………………………………………………………………………………

    卸载命令umount

    命令使用格式:

         # umount DEVICE

         # umount MOUNT_POINT

    上面已经演示过umount的使用

    fuser:查看正在访问指定文件系统的进程:

    命令使用格式:

         # fuser -v MOUNT_POINT

    终止所有在正访问指定的文件系统的进程:慎用

         # fuser -km MOUNT_POINT

     


    交换分区swap

    这里介绍下交换分区,通过实验演示交换分区的创建及挂载

    挂载交换分区:

    启用:swapon

       swapon [OPTION]... [DEVICE]

        -a:激活所有的交换分区;

        -p PRIORITY:指定优先级;

    禁用swapoff [OPTION]... [DEVICE]

    实验演示

    1、交换分区的创建:1)新创建一分区,2)修改新分区的类型,改为swap号码为82,3)格式化为swap

    [root@localhost ~]# fdisk /dev/sdb 
    欢迎使用 fdisk (util-linux 2.23.2)。 
    更改将停留在内存中,直到您决定将更改写入磁盘。 
    使用写入命令前请三思。 
    命令(输入 m 获取帮助):n 
    Partition type: 
      p  primary (1 primary, 1 extended, 2 free) 
      l  logical (numbered from 5) 
    Select (default p): l 
    添加逻辑分区 9 
    起始 扇区 (2928640-4196351,默认为 2928640): 
    将使用默认值 2928640 
    Last 扇区, +扇区 or +size{K,M,G} (2928640-4196351,默认为 4196351):+100M 
    分区 9 已设置为 Linux 类型,大小设为 100 MiB 
    命令(输入 m 获取帮助):p 
    磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 
    Units = 扇区 of 1 * 512 = 512 bytes 
    扇区大小(逻辑/物理):512 字节 / 512 字节 
    I/O 大小(最小/最佳):512 字节 / 512 字节 
    磁盘标签类型:dos 
    磁盘标识符:0xd391e822 
      设备 Boot      Start        End      Blocks  Id  System 
    /dev/sdb1            2048    2099199    1048576  83  Linux 
    /dev/sdb2        2099200    4196351    1048576    5  Extended 
    /dev/sdb5        2101248    2306047      102400  83  Linux 
    /dev/sdb6        2308096    2512895      102400  83  Linux 
    /dev/sdb7        2514944    2719743      102400  83  Linux 
    /dev/sdb8        2721792    2926591      102400  83  Linux 
    /dev/sdb9        2928640    3133439      102400  83  Linux 
    命令(输入 m 获取帮助):t 
    分区号 (1,2,5-9,默认 9):9 
    Hex 代码(输入 L 列出所有代码):82 
    已将分区“Linux”的类型更改为“Linux swap / Solaris” 
    命令(输入 m 获取帮助):p 
    磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 
    Units = 扇区 of 1 * 512 = 512 bytes 
    扇区大小(逻辑/物理):512 字节 / 512 字节 
    I/O 大小(最小/最佳):512 字节 / 512 字节 
    磁盘标签类型:dos 
    磁盘标识符:0xd391e822 
      设备 Boot      Start        End      Blocks  Id  System 
    /dev/sdb1            2048    2099199    1048576  83  Linux 
    /dev/sdb2        2099200    4196351    1048576    5  Extended 
    /dev/sdb5        2101248    2306047      102400  83  Linux 
    /dev/sdb6        2308096    2512895      102400  83  Linux 
    /dev/sdb7        2514944    2719743      102400  83  Linux 
    /dev/sdb8        2721792    2926591      102400  83  Linux 
    /dev/sdb9        2928640    3133439      102400  82  Linux swap / Solaris 
    命令(输入 m 获取帮助):w 
    The partition table has been altered! 
    Calling ioctl() to re-read partition table. 
    正在同步磁盘。 
    [root@localhost ~]# mkswap /dev/sdb9 
    正在设置交换空间版本 1,大小 = 102396 KiB 
    无标签,UUID=74bf2766-a01b-48ea-9082-2fad6b8e06a9

    2、挂载交换分区:启用与禁用

    [root@localhost ~]# free 
                  total        used        free      shared  buff/cache  available 
    Mem:        1001332      101756      535892      13424      363684      720328 
    Swap:      2097148          0    2097148 
    [root@localhost ~]# swapon /dev/sdb9  
    [root@localhost ~]# free 
                  total        used        free      shared  buff/cache  available 
    Mem:        1001332      101716      535924      13424      363692      720368 
    Swap:      2199544          0    2199544 
    [root@localhost ~]# swapoff /dev/sdb9  
    [root@localhost ~]# free 
                  total        used        free      shared  buff/cache  available 
    Mem:        1001332      102492      535152      13424      363688      719592 
    Swap:      2097148          0    2097148

    实验涉及到的命令小结:      

      内存空间使用状态:free [OPTION]

        -m: 以MB为单位

        -g: 以GB为单位

      文件系统空间占用等信息的查看工具:df

        -h: human-readable

        -i:inodes instead of blocks

        -P: 以Posix兼容的格式输出; 

      查看某目录总体空间占用状态:du

      du [OPTION]... DIR

        -h: human-readable

        -s: summary

    命令总结:mount, umount, free, df, du, swapon, swapoff, fuser


    开机自动挂载

    如果我们想实现开机自动挂载某设备,只要修改/etc/fstab文件即可。

    文件挂载的配置文件/etc/fstab

    wKiom1e7vF_iNNTXAAAo2-XXpTo662.gif

    查看此文件可知

    每行定义一个要挂载的文件系统;

    其每行的格式如下

    要挂载的设备或伪文件系统  挂载点  文件系统类型  挂载选项 转储频率 自检次序

    UUID=6efb8a23-bae1-427c-ab10-3caca95250b1 /boot  xfs    defaults    0 0

        要挂载的设备或伪文件系统:设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)

        挂载点:指定的文件夹

       挂载选项:defaults

        转储频率

          0:不做备份

          1:每天转储

          2:每隔一天转储

        自检次序

          0:不自检

          1:首先自检;一般只有rootfs才用1;


    /etc/fstab和/etc/mtab的区别

       /etc/fstab文件的作用

    记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。 

      /etc/mtab文件的作用: 

       先看它的英文是: 

         This changes continuously as the file /proc/mount changes. In other words, when filesystems are mounted and unmounted, the change is immediately reflected in this file. 

         记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。 每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况。当然我们自己还可以通过读取/proc/mount也可以来获取当前挂载信息 


     

    展开全文
  • 什么是挂载?mount的用处在哪?

    千次阅读 2019-05-04 13:36:57
    1.提一句Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...)。比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载unmount。 2.Linux下,不像Windows可以有C...
  • Linux磁盘的挂载和卸载

    万次阅读 2019-11-04 14:52:58
    挂载某个分区前,需要先建立一个挂载点,这个挂载点是以目录的形式出现的,一旦把某个分区挂载到这个挂载点下,往这个目录写数据时,就都会写到该分区中。 挂载的命令是:mount 我们先建立一个新目录,并在这...
  • Linux挂载

    千次阅读 2019-07-05 17:27:41
    在优化HDFS文件存储时,把文件分部到多个磁盘存储,有利于合理利用磁盘,需要不同磁盘挂载目录,涉及到了磁盘自动挂载,在这里记录一下。 1. 手动挂载命令mount mount [-t type] [-o options] device dir 1、-t...
  • 一、简单用法 $ mount /dev/hda2 /home 第一个叁数是与包括文件系统的磁盘或分区相关的设备文件。 第二个叁数是要mount到的目录。 $ umount /dev/hda2 $ umount /usr 参数可以是设备文件或安装点。...
  • Linux——常用命令(挂载)

    万次阅读 2019-06-11 23:58:28
    1、mount:挂载设备或查看已挂载设备  后不加选项或加-l(小写L)选项:查询系统中已经挂载的设备  示例:查看已挂载设备  mount命令的选项:  Tip:   1️⃣mount -a会检查/etc/fstab配置文件,但并不能检查...
  • linux--挂载,解挂

    千次阅读 2019-06-04 16:21:11
    挂载:在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。...
  • Linux 软连接和挂载有什么区别

    万次阅读 2017-07-06 23:27:32
    挂载含义挂载是将其他机器上的磁盘映射到本机器上来,使得在本机器上可以访问其他机器的文件;如在IP1服务器上可以访问IP2上的资源命令mount [-t vfstype] [-o options] device dir 挂载命令:moount -t cifs URL1/ ...
  • linux 挂载ftp目录到本地目录

    万次阅读 2012-08-08 16:56:54
    1 安装curlftpfs sudo apt-get install curlftpfs 2 挂载 sudo curlftpfs -o codepage=gbk ftp://username:password@192.168.0.2 /mnt
  • CentOS7磁盘挂载及开机启动自动挂载

    万次阅读 2018-12-04 13:46:40
    查看现有磁盘 df -HT 查看新磁盘 fdisk –l 找到新添加的磁盘的编号为/dev/vdb 格式化分区 将新分区格式化为ext3文件系统 mkfs -t ext3 /dev/vdb1 ...挂载硬盘 ...新创建的分区不能开机自动挂载,每次...
  • linux修改磁盘挂载目录

    万次阅读 2017-02-16 11:03:40
    比如想把已经挂载在home目录上的硬盘挂载到data目录上, 如下操作  #df -h(查看分区情况及数据盘名称)  # mkdir /data(如果没有data目录就创建,否则此步跳过)  # umount /home(卸载硬盘已挂载的home目录...
  • 1.查看已挂载磁盘信息  df -h 2.查看磁盘信息  sudo fdisk -l 3.格式化磁盘  mkfs.ext4 /dev/vdb 4.挂载磁盘  mount /dev/vdb /mnt 5.实现自动挂载  vi /etc/fstab  添加如下内容:  /dev/vdb...
  • Ubuntu 磁盘挂载——开机自动挂载

    万次阅读 2018-03-13 15:30:05
    Ubuntu 磁盘挂载 1.使用命令查看分区 sudo fdisk -l 可以根据上图提供的磁盘信息确定想挂载的磁盘,以及确定挂载的位置。 我此次的目的是将/dev/sda2 磁盘挂载到/mnt/data中去。 2.创建挂载目录 ···...
  • Ubuntu16.04 挂载硬盘(简单实用)

    万次阅读 2018-10-26 19:56:43
    在电脑(Ubuntu16.04)新装了一个硬盘,然后只有挂载了我们才能正常使用,下面总结一下挂载的过程。 首先,打开命令行输入命令: sudo fdisk -l 可以看到:   我挂的是4T的,所以很明显是 /dev/sdb. 然后...
  • nfs挂载和取消挂载命令

    万次阅读 2015-08-11 12:01:29
    挂载共享目录,运行以下命令。其中,-t选项用于指定文件系统的类型为nfs。 mount -t nfs 192.168.4.211:/data/nfs_share /root/remote_dir 共享目录使用结束之后,卸载共享目录,运行以下命令: umount /root/...
  • linux下如何挂载磁盘阵列

    万次阅读 2014-02-25 11:52:18
    不知道什么原因,三个月之前把磁盘阵列挂载上了,但是现在无论怎么访问ftp也访问不了,后来,进入服务器才发现,建立在磁盘阵列上的虚拟用户的磁盘阵列消失了。想了很长时间才想出来,怎么挂载磁盘阵列: 步骤如下...
  • 1、永久挂载 永久性挂载分区的办法是修改分区文件/etc/fstab (1)找到要挂载的硬盘:sudo df -h (2)要挂载硬盘的UUID sudo blkid /dev/sda3 (3)修改文件/etc/fstab UUID=904C23B64C23964E /...
1 2 3 4 5 ... 20
收藏数 379,498
精华内容 151,799
关键字:

挂载