Linux文件系统管理——挂载与链接

目录

一、挂载

1.mount

2.umount

3.挂载交换分区

4.文件系统挂载的配置文件:/etc/fstab

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

三、查看某目录总体空间占用状态

四、文件系统上的其它概念

1.Inode:Index Node, 索引节点

2.链接文件

3.文件管理操作对文件的影响

五、挂载光盘设备

六、dd命令

七、两个特殊设备

练习

回顾

一、挂载

      将额外文件系统与根文件系统某现存的目录建立关联,进而使得此目录做为其它文件访问入口的行为称之为挂载

      解除此关联关系的过程称之为卸载

挂载点:Mount Point

      把设备关联之挂载点使用命令mount

      卸载时:可使用设备,也可以使用挂载点

      注意:挂载点下原有文件在挂载完成后会被临时隐藏

1.mount

mount DEVICE MOUNT_POINT

            mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备

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

mount [-fnrsvw] [-t vfstype] [-o options]  device  dir

            device:指明要挂载的设备

                  ① 设备文件:例如/dev/sda5

                  ② 卷标:-L 'LABEL', 例如 -L 'MYDATA'

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

                  ④伪文件系统名称:proc, sysfs, devtmpfs, configfs

            dir:挂载点

                  事先存在,且最好使用空目录

      常用命令选项:

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

            -rreadonly,只读挂载

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

            -wread and write, 读写挂载

            -n:不更新/etc/mtab

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

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

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

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

            async:异步模式

            sync:同步模式(数据安全性高,但性能差)

            atime/noatime:包含目录和文件 的访问时间戳

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

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

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

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

            suid/nosuid

ro:

            rw

            remount:重新挂载

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

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

                  scl:访问控制列表,centos6 默认不启用,centos7默认启用

      P.S. 上述选项可多个同时使用,彼此使用逗号分隔

            默认挂载选项:defaults

                    rw, suid, dev, exec, auto, nouser, and async

写时复制( copy-on-write ) 子进程 父进程

      立即回存到磁盘 同步         ^…异步

2.umount

卸载命令:

      # umount DEVICE

      # umount MOUNT_POINT

fuser

命令:fuser -v MOUNT_POINT        查看正在访问指定文件系统的进程

命令:fuser -km MOUNT_POINT     终止所有在正访问指定的文件系统的进程

3.挂载交换分区

      启用:swapon

            swapon [OPTION]... [DEVICE]

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

                  -p PRIORITY:指定优先级

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

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

                  -m:以MB为单位

                  -g:以GB为单位

问题:Buffer与Cache

Buffer核心作用:缓冲,缓和对系统冲击

Cache核心作用:加快取用的速度

4.文件系统挂载的配置文件/etc/fstab

      手动挂载(使用mount)的文件系统,系统重启后失效

/etc/fstab每行定义一个要挂载的文件系统

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

要挂载的设备或伪文件系统:

设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)

            挂载选项:

                  defaults

转储频率:

                  0:不做备份

                  1:每天转储

                  2:每隔一天转储

            自检次序:

                  0:不自检

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

                  ...

            P.S. 额外指定的文件系统通常不自检和转储

用mount -a 激活配置

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

      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

四、文件系统上的其它概念

1.Inode:Index Node, 索引节点

            地址指针:

                  直接指针:

                  间接指针:

                  三级指针:

            inode bitmap:对位标识每个inode空闲与否的状态信息;

2.链接文件

      硬链接:

            不能够对目录进行

            不能跨分区进行

指向同一个inode的多个不同路径;创建文件的硬链接即为inode创建新的引用路径,因此会增加其引用计数

      符号链接:

            可以对目录进行

            可以跨分区

指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数

命令:  ln [-sv] SRC DEST

                  -s:symbolic link 符号链接

                  -v:verbose

3.文件管理操作对文件的影响

      文件删除:iNode 引用计数减值0

      文件复制:创建空文件,读取旧文件,放入新文件

      文件移动:同一分区移动,相当于改路径;跨分区则相当于复制

五、挂载光盘设备

光盘设备文件:

            IDE:/dev/hdc

            SATA:/dev/sr0

      符号链接文件:

            /dev/cdrom

            /dev/cdrw

            /dev/dvd

            /dev/dvdrw

命令:

            mount  -r  /dev/cdrom /media/cdrom

            umount  /dev/cdrom

六、dd命令

dd命令:convert and copy a file

      实现文件底层复制

      用法:

            dd  if=/PATH/FROM/SRC  of=/PATH/TO/DEST

                  bs=#:block size, 复制单元大小

                  count=#:复制多少个bs

            磁盘拷贝:

                  dd if=/dev/sda of=/dev/sdb

            备份MBR:

                  dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

            破坏MBR中的bootloader:

                  dd if=/dev/zero of=/dev/sda bs=256 count=1

七、两个特殊设备

      /dev/null数据黑洞

      /dev/zero吐零机

练习

①创建一个20G的文件系统,块大小为2048,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testing目录,且默认有acl挂载选项;

            (1) 创建20G分区

            (2) 格式化:

                        mke2fs -t ext4 -b 2048 -L 'TEST' /dev/DEVICE

            (3) 编辑/etc/fstab文件

                        LABEL='TEST'   /testing      ext4     defaults,acl       0 0

②创建一个5G的文件系统,卷标HUGE,要求此分区开机自动挂载至/mogdata目录,文件系统类型为ext3

③写一个脚本,完成如下功能:

            (1) 列出当前系统识别到的所有磁盘设备

            (2) 如磁盘数量为1,则显示其空间使用信息

                  否则,则显示最后一个磁盘上的空间使用信息

if [ $disks -eq 1 ]; then

                             fdisk -l /dev/[hs]da

                       else

fdisk -l $(fdisk -l /dev/[sh]d[a-z] | grep -o "^Disk /dev/[sh]d[a-]" | tail -1 | cut -d' ' -f2)

                       fi

回顾

      mount/umount, fstab配置文件、ext文件系统基础原理

      /etc/fstab

      ext:super block, GDT, inode table, block bitmap, inode bitmap

      dumpe2fs -h, tune2fs -l

      软链接:l,

      dd:复制

参考资料:

马哥随堂笔记

注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。

猜你喜欢

转载自blog.csdn.net/RaBo123/article/details/82024762