8.4文件系统的管理与挂载2

    mount - mount a filesystem
        mount [option]... [-t fstype] [-o option]  设备  挂载点
            挂载点要求:
                一、事先存在;
                二、使用空闲目录;
      不跟选项时,显示已挂载的设备
            经常使用的挂载选项[option]:
                -t fstype:指定文件系统类型
                -r: readonly, 只读挂载
                -w: read and write, 读写挂载
                -L LABEL:以卷标方式指定设备, mount -L MYDATA 挂载点
                -U UUID: 以UUID的方式指定设备,mount UUID='uuid' 挂载点, mount -U uuid 挂载点
                -a: 自动挂载全部(/etc/fstab文件中定义的)的支持自动挂载设备,对于交换设备是不行的
                -n: 挂载时,不更新/etc/mtab文件node

            -o option:
                async:异步I/O,数据写操做先于内存完成,然后再根据某种策略同步至持久设备中
                sync: 同步I/O,
                atime/noatime: 文件和目录被访问时是更新最近一次的访问时间戳
                auto/noauto:设备是否支持mount的-a选项自动挂载
                diratime/nodiratime: 目录被访问时是更新最近一次的访问时间戳
                dev/nodev: 是否支持在此设备上使用设备;
                exec/noexec: 是否容许执行此设备上的二进制程序文件
                suid/nosuid: 是否支持在此设备的文件上使用suid
                remount: 从新挂载,一般用于不卸载的状况下从新指定挂载选项
                ro: 只读
                rw: 读写
                user/nouser: 是否容许普通挂载此文件设备
                acl: 在此设备是支持使用facl,默认不支持;linux

            例如:以指定挂载后支持acl为例:
                方法1:
                    mount -o acl DEVICE MOUNT_POINT异步

                方法2:
                    tune2fs -o acl DEVICE
                    tune2fs -o ‘^acl’ DEVICE
                        为设备设定默认挂载选项async

                    mount DEVICE MOUNT_POINTui


        查看全部已经挂载的设备:
            # mount
            # cat /proc/mounts
            # cat /etc/mtab 追踪当前系统已经挂载的设备spa

            卸载:挂载点没有被进程访问时方能够卸载 ;3d


    卸载:umount DEVICE
          umount MOUNT_POINTorm

         查看哪些进程正在访问挂载的设备:
             fuser -v 挂载点进程

         停止正在此挂载点的进程:
             fuser -km 挂载点内存

    df: disk free
        -h: human-readable
        -i: 显示inode的使用信息而非默认的磁盘空间使用信息

    du: disk usage
    du - estimate file space usage
        -s:
        -s, --summarize
              display only a total for each argument
        -h:
        -h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)
获取UUID的两种方式:
[root@linux_basic ~]#tune2fs -l /dev/vg_lvm/lv1 | grep "^Filesystem UUID" | cut -d: -f2 | tr -d ' '
655ed2ec-3a50-47ef-b0e5-d9e83eb88a3d
[root@linux_basic ~]#blkid /dev/vg_lvm/lv1 | cut -d' ' -f2 | tr -d UUID=\"\"
655ed2ec-3a50-47ef-b0e5-d9e83eb88a3d

    练习:建立一个20G的分区,块大小为2048,预留百分比为3,卷标为MYDATA,要求挂载
    后支持acl,使用UUID的方式挂载至/mydata目录;
        使用从新挂载的功能,让其不支持dev功能;
        #mke2fs -b 2048 -m 3 -L MYDATA 挂载设备
        #tune2fs -o acl  挂载设备
        #mount -U
        #mount -o remount,nodev /mydata

    交换分区:
        mkswap

        free: 查看内存及交换分区的使用信息
      真正使用的:used - buffers - cached
        启用某交换分区设备
            swapon [DEVICE]
                -a: all, 启用全部交换分区
                -p #: 指定此交换设备的优先级

        禁用某交换分区设备
            swapoff [DEVICE]
                -a: 禁用全部

    自动挂载的设备的配置文件:/etc/fstab
        6字段:
            挂载的设备:能够是如下值
                设备文件
                LABEL
                UUID
            挂载点:
            文件系统类型
            挂载选项:
                挂载选项能够有多个,彼此间使用逗号分隔;
            转储频率:
                0:从不转储
                1: 天天转储
                2: 每隔一天
            自检次序:
                0:不自检,额外建立的文件系统都无须自动自检
                1:首先自检,一般只有根文件系统须要首先自检
                2:次级自检,不一样的设备可使用同一个自检次序
                3
                ...

 

练习:写一个脚本,完成以下功能
    一、列出当前系统上的全部磁盘设备;
    二、让用户选择一个磁盘设备,并在选择后显示指定设备上的全部分区信息;
    三、询问用户是否擦除此磁盘上的全部现存分区后从新添加三个分区;
        y或yes: 继续
        n或no: 停止脚本
        其它字符则提醒用户从新输入合法的字符
    四、在用户选择是后执行相应的分区操做
        建立三个分区
            主分区1:512M,ext4
            主分区2: 512M,swap
            主分区3:2G,ext4
    五、将建立的分区按如上说明分别格式为相应的文件系统;
    六、将主分区1挂载至/mnt/boot目录,主分区3挂载至/mnt/sysroot目录;

    扩展:在上述第3个步骤开始以后,先查看此设备上是否有分区被挂载,若是有,则先卸载之;

    # fdisk -l | awk '/^Disk \/dev\/[sh]d[a-z]/{print $2}' | tr -d ':'     /dev/sda     /dev/sdb

相关文章
相关标签/搜索