欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux中文件系统的挂载,及各种类型的实现试验 有大用

挂载介绍:

系统的中的文件系统需要挂载才可进行读取访问。挂载就是将文件系统与当前系统根下的某一个目录产生映射关系,访问该目录时实际访问的是挂载在该目录上的文件系统。
注意:在目录下有文件时,将文件系统挂载在该目录上时,将无法访问该原本该目录下的文件,只能显示挂载在该目录上的文件系统中的文件。也就是说不会产生共存效果。

挂载使用的命令:
命令概述
mount挂载
umount取消挂载
swapon开启/etc/fstab中定义的swap分区
swapoff关闭swap设备
findmnt查看当前已经挂载的设备

mount:

挂载文件系统,挂载会生成配置文件,配置文件为/etc/mtab 中,实时动态更新。挂载需要指定要                                                                                                                                                    挂载的设备以及挂载到的目录,
挂载的设备可以使用,设备的标签label,设备的文件,设备的UUID,

选项:
-o : 设置文件系统挂载时带有的特性,多条特性之间使用,进行分割。
如:mount –o remount.rw.exec
noexec/exec: 决定能否执行分区上的可执行文件
suid/nosuid:分区上的文件能否使用,suid以及sgid
acl/noacl:是分区上的文件是否可以带有,acl属性。
auto/noauto:是否支持,在开机时,或使用mount –a时,进行自动挂载。
user/nouser:是否支持,普通用户进行挂载。
loop:在挂载文件至文件夹时使用此选项,
-a : 进行自动挂载,自动指的是将/etc/fstab中的没有挂载但是没有设置noauto的文件系统按照/etc/fstab中的设置进行重新挂载。
–bind : 文件夹挂载时需要使用此选项。

umount:

取消挂载文件系统。
  • 1

swapon:

-a 自动挂载swap文件系统 ,同样去读取/etc/fstab文件
-s 察看所有已经挂载的文件系统

swapoff:

关闭swap设备

findmnt:

可以查看文件系统的挂载信息,可以使用 卷标,设备名,挂载的文件夹进行查询。
findmnt LABEL='/mnt/sdb2'
findmnt /dev/sdb2
findmnt /app
    在使用文件夹查找时,如果文件夹没有挂载文件系统,那么将执行失败,返回失败信息。

挂载的配置文件 :

文件系统的配置文件为/etc/fstab,与 /etc/mtab
文件系统的自动挂载文件为于/etc/fstab,该文件的格式如下 :

#
# /etc/fstab
# Created by anaconda on Mon Jun 12 19:15:00 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=84e9ac77-f3f1-4a3e-a8b1-4da7fb054261 /                       ext4    defaults        1 1
UUID=94202ed1-9e93-47d1-94e6-c02ee1b36da4 /boot                   ext4    defaults        1 2
UUID=1df63b1c-036e-4d35-8a7b-a07fd578df5e swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

UUID=84e9ac77-f3f1-4a3e-a8b1-4da7fb054261/ext4defaults11
表示设备 ,设备可以填写uuid,label,或者/dev/下的对应设备号挂载的目录文件系统挂载选项是否备份是否开机检测磁盘

注:defaults=rw,nosuid,dev,exec,auto,nouser,async
在挂载文件至挂载目录时需要声明loop,

挂载实验

挂载类型命令简介
将创立了文件系统的文件挂载mount -o loop /test/file.disk /mnt
将windows的共享目录挂载mount -o username=Administrator //172.17.252.131/test
挂载目录至另外一个目录mount –bind /test /mnt
挂载swapswapon -a

创建一个文件,在文件上建立文件系统,与loop设备进行关联并挂载。

.创建一个空文件。
[root@jinbus /]# mkdir /test
[root@jinbus /]# cd /test/
[root@jinbus test]# ls
[root@jinbus test]# dd if=/dev/zero of=/test/vmdisk bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,7.08055 秒,152 MB/秒
[root@jinbus test]# du ./
1048584 ./
[root@jinbus test]# du ./ -h
1.1G    ./
[root@jinbus test]# du ./*
1048580 ./vmdisk

.在文件上创建文件系统。
[root@jinbus test]# mkfs.ext4 /test/vmdisk  -L /test/disk
mke2fs 1.41.12 (17-May-2010)
/test/vmdisk is not a block special device.
无论如何也要继续? (y,n) y
文件系统标签=/test/disk
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376

正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

.进行挂载
[root@jinbus test]# mount /test/vmdisk /test/disk/ -o loop
[root@jinbus test]# losetup -a
/dev/loop0: [0803]:1572866 (/test/vmdisk)
[root@jinbus test]# mount |grep loop
/test/vmdisk on /test/disk type ext4 (rw,loop=/dev/loop0)
在挂载时使用了-o loop 将自动将文件与loop设备进行关联。

.更改配置文件
LABEL=/test/disk                         /test/disk             ext4    defaults,loop    0 0
[root@jinbus test]# umount /test/disk
[root@jinbus test]# mount -a
[root@jinbus test]# mount |grep loop
/test/vmdisk on /test/disk type ext4 (rw,loop=/dev/loop0)
UUID=f0e74291-f0b8-4268-b5d7-2d6ee0521949 /test/disk            ext4    defaults,loop   0 0
[root@jinbus test]# umount /test/disk
[root@jinbus test]# mount |grep loop
[root@jinbus test]# mount -a
[root@jinbus test]# mount |grep loop
/test/vmdisk on /test/disk type ext4 (rw,loop=/dev/loop0)

在windows中创建一个网络的文件系统,在linux中进行挂载。

.创建windows共享略。。。进行挂载
[root@jinbus test]# mount -o username=netfile //172.17.252.131/test /test/netfile/
Password:
[root@jinbus netfile]# mount |grep netfile
//172.17.252.131/test on /test/netfile type cifs (rw)

.更改配置文件进行自动挂载,挂载的文件系统类型要使用cifs
//172.17.252.131/test           /test/netfile   cifs    defaults,username=netfile       0 0
[root@jinbus test]# mount -a
Password: 
[root@jinbus test]# mount |grep netfile
//172.17.252.131/test on /test/netfile type cifs (rw)

挂载目录挂载置另外一个目录:

.创建一个目录作为挂载点,并创建文件
[root@jinbus test]# mkdir /test/mntdri
[root@jinbus test]# cd disk
[root@jinbus disk]# ls
lost+found
[root@jinbus disk]# touch {1..10}
[root@jinbus disk]# ls
1 10  2  3  4  5  6  7  8  9  lost+found
.挂载目录到目录
mount --bind /test/disk /test/mntdri/
[root@jinbus test]# cd ./mntdri/
 [root@jinbus mntdri]# ls
1  10  2  3  4  5  6  7  8  9  lost+found
.将挂载选项写入/etc/fstab文件中
/test/disk      /test/mntdri    none    bind    0 0
.dir我是故意打反的,真的。

创建一个swap交换分区,使用文件创建:

.创建一个文件,并创建文件系统。
[root@jinbus test]# dd if=/dev/zero of=/test/swap.disk bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,6.33926 秒,169 MB/秒
[root@jinbus test]# mkswap /test/swap.disk -L /test/swap.disk
mkswap: /test/swap.disk: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
LABEL=/test/swap.disk, UUID=695e83e6-9c1d-4bbb-baea-41e5fd60b117
.将swap文件系统写入/etc/fstab文件
LABEL=/test/swap.disk                   swap            swap  defaults 0 0      
.将新创建的swap文件系统进行挂载
[root@jinbus test]# mount -a
 [root@jinbus test]# swapon -s
Filename                Type        Size    Used    Priority
/dev/sda2                               partition   4194300 23660   -1
.但是这时使用mount -a 无法实现swap的自动挂载。
[root@jinbus test]# swapon -a
[root@jinbus test]# swapon -s
Filename                Type        Size    Used    Priority
/dev/sda2                               partition   4194300 23660   -1
/test/swap.disk                         file        1048572 0   -2
.需要使用 swap -a 进行自动挂载。


               


来自  https://blog.csdn.net/jinbusi_blog/article/details/73430893


普通分类: