• Linux磁盘及文件系统管理4


    文件系统的使用:
    首先要“挂载”:mount命令和umount命令

    根据文件系统之外的其它文件系统要想能够被访问,都必须通过“关联”到根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”
    挂载点:mount_point,用于作为另一个文件系统的访问入口
    (1)事先存在
    (2)应该使用未被或不会被其它进程使用到的目录
    (3)挂载点下原有的文件将会被隐藏

    mount命令:
    mount [-nrw] [-t vfstype] [-o options] device dir
    命令选项:
    -r:readonly,只读挂载
    -w:read and write,读写挂载
    -n:默认情况下,设备挂载或卸载的操作会同步到/etc/mtab文件中;-n用于禁止此特性
    -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型
    -L LABEL:挂载时以卷标的方式指明设备
    mount -L LABEL dir
    -U UUID:挂载时以UUID的方式指明设备
    mount -U UUID dir
    -o options:挂载选项
    sync/async:同步/异步操作
    atime/noatime:文件或目录在被访问时是否更新其访问时间戳
    diratime/nodiratime:目录在被访问时是否更新其访问时间戳
    remount:重新挂载
    acl:支持使用facl功能
    ~]# mount -o acl device dir
    ~]# tune2fs -o acl device

    ro:只读
    rw:读写
    dev/nodev:此设备上是否允许创建设备文件
    exec/noexec:是否允许运行此设备上的程序文件
    auto/noauto:
    user/nouser:是否允许普通用户挂载此文件系统
    suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效

    defaults:Use default options:rw,suid,dev,exec,auto,nouser,async,and relatime

    一个使用技巧:
    可以实现将目录绑定至另一个目录上,作为其临时访问入口;
    mount --bind 源目录 目标目录

    查看当前系统所有已挂载的设备:
    ~]# mount
    ~]# cat /etc/mtab
    ~]# cat /proc/mounts

    挂载光盘:
    mount -r /dev/cdrom mount_point
    光盘设备文件:/dev/cdrom,/dev/dvd

    挂载U盘:
    事先识别U盘的设备文件

    挂载本地的回环设备:
    ~]# mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

    umount命令:
    umount device|dir

    注意:正在被进程访问到的挂载点无法被卸载
    查看被哪个或哪些进程所占用
    ~]# lsof MOUNT_POINT
    ~]# fuser -v MOUNT_POINT

    终止所有正在访问某挂载点的进程
    ~]# fuser -km MOUNT_POINT

    交换分区的启用和禁用:
    创建交换分区的命令:mkswap

    启用:swapon
    swapon [OPTION] [DEVICE]
    -a:定义在/etc/fstab文件中的所有swap设备
    禁用:swapoff
    swapoff DEVICE

    设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
    每行定义一个要挂载的文件系统及相关属性:
    6个字段:
    (1)要挂载的设备
    设备文件:
    LABEL
    UUID
    伪文件系统:如sysfs,proc,tmpfs等
    (2)挂载点
    swap类型的设备的挂载点为swap
    (3)文件系统类型
    (4)挂载选项
    defaults:使用默认挂载选项;
    如果要同时指明多个挂载选项,彼此间以事情分隔;
    defaults,acl,noatime,noexec
    (5)转储频率
    0:从不备份
    1:每天备份
    2:每隔一天备份
    (6)自检次序
    0:不自检
    1:首先自检,通常只能是根文件系统可用1
    2:次级自检
    ...

    mount -a:可自动挂载定义在此文件中的所有支持自动挂载的设备

    两个查看磁盘空间大小的命令:df和du
    df命令:
    df [OPTION]... [FILE]...
    -l:仅显示本地文件的相关信息
    -h:human-readable
    -i:显示inode的使用状态而非blocks

    du命令:
    du [OPTION]... [FILE]...
    -s:sumary
    -h:human-readable

    练习:
    1、创建一个10G的分区,并格式化为ext4文件系统
    (1)block大小为2048;预留空间为2%,卷标为MYDATA
    (2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳
    (3)可开机自动挂载
    2、创建一个大小为1G的swap分区,并自启动之

    回顾:文件系统管理
    管理工具:mkfs,mke2fs,e2label,tune2fs,dumpe2fs,e2fsck,blkid
    mkfs.xfs,mkfs.vfat,fsck
    mkswap,swapon,swapoff
    mount,umount
    df,du

    fstab文件:
    设备 挂载点 文件系统类型 挂载选项 转储频率 自检次序

    文件系统:
    目录:文件
    元数据:inode,inode table
    数据:data blocks
    下级文件或目录的文件名与其inode对应关系

    dentry

    文件名:上级目录

    删除文件:将此文件指向的所有data block标记为未使用状态;将此文件的inode标记为未使用
    复制和移动文件:
    复制:新建文件
    移动文件:
    在同一文件系统:改变的仅是其路径
    在不同文件系统:复制数据到目标文件,并删除原文件

    符号链接:
    权限:lrwxrwxrwx
    硬链接:指向同一个inode

  • 相关阅读:
    第三周psp
    作业2
    词频统计 SPEC 20170914 1 1 1 1 1
    psp1111
    第一周大作业1
    mongodb安装操作 (2018/11/12)
    中间件 express生成项目(2018/11/10)
    express环境搭建(2018/11/09)
    后端路由(2018/11/07)
    Node模块的基本使用(2018/11/06)
  • 原文地址:https://www.cnblogs.com/jianchen013/p/11762395.html
Copyright © 2020-2023  润新知