文件系统及其管理

文件系统及其管理

文件系统

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。
操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等
linux支持的文件系统:
    /lib/modules/`uname –r`/kernel/fs
    /proc/filesystems

文件系统的分类

Linux文件系统:ext2(Extended file system)、ext3、ext4、 xfs (SGI )、btrfs (Oracle )、reiserfs、jfs(AIX )、swap、iso9660(光盘)。
Windows文件系统:FAT32、exFAT、NTFS。
Unix文件系统:FFS(fast)、UFS(unix)、JFS2。
网络文件系统:NFS、CIFS。
集群文件系统:GFS2、OCFS2(oracle)
分布式文件系统:fastdfs、ceph、moosefs、mogilefs、glusterfs、Lustre。
未经处理或者未经格式化产生的文件系统:RAW
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
linux的虚拟文件系统:VFS
文件系统的选择:
    类型      支持限制    root分区      boot分区      注释
    xfs       500TB     YES           YES       默认分区格式
    ext4      50TB      YES           YES       兼容ext3、ext2
    brfs      50TB      YES           YES       技术预览
    gfs2     2-16个节点    YES         NO         集群文件共享存储

文件系统管理命令

mkfs
    分区后,才可对新建的分区创建文件系统
    mkfs - build a Linux file system
    mkfs用于在设备上建立Linux文件系统,通常是一个硬盘分区。
    mkfs [-V] [-t type] [fs-options] device [size]
         -t, --type=<type>      指定文件系统的类型,当不指定时,采用 ext2 文件系统。
         fs-options         所创建文件系统的选项参数。
         <device>           设备的全路径
         <size>             指定设备的块大小
         -V, --verbose      显示过程,specifying -V more than once will cause a dry-run

mke2fs
    mke2fs - create an ext2/ext3/ext4 filesystem
    mke2fs  [options]  device [blocks-count]
    options:
        -b<区块大小>:   指定区块大小,单位为字节
        -c: 检查是否有损坏的区块
        -f<不连续区段大小>:    指定不连续区段的大小,单位为字节
        -F: 不管指定的设备为何,强制执行mke2fs
        -i<字节>: 指定"字节/inode"的比例
        -N<inode数>: 指定要建立的inode数目
        -l<文件>: 从指定的文件中,读取文件西中损坏区块的信息
        -L<标签>: 设置文件系统的标签名称
        -m<百分比值>:   指定给管理员保留区块的比例,预设为5%
        -M: 记录最后一次挂入的目录
        -q: 执行时不显示任何信息
        -r: 指定要建立的ext2文件系统版本
        -R=<区块数>:   设置磁盘阵列参数
        -S: 仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap
        -v: 执行时显示详细信息
        -V: 显示版本信息。
    device: 指定要创建的文件系统的分区设备文件名
    blocks-count:指定要创建的文件系统的磁盘块数量

mkfs.fs_type
    分区后,才可对新建的分区创建文件系统
    mkfs.fs_type - build a fs_type  Linux file system,其中fs_type代表多种文件类型。
    mkfs.fs_type可以是mkfs.btrfs、mkfs.cramfs、mkfs.ext2、mkfs.ext3、mkfs.ext4、mkfs.fat、mkfs.minix、mkfs.msdos、mkfs.vfat、mkfs.xfs
    上述每个命令都对应一个类型的文件系统,选项太多也就不再一一写出了,当用到那个时,具体看帮助。

blkid
    与之有关的文件/etc/fstab
    blkid - locate/print block device attributes,块设备属性查看
    blkid [options][<device>]
        -c <file>       从文件中读取,而不是从默认的缓存文件中读取 (-c /dev/null means no cache)
        -d              不编码不打印的字符
        -h              打印帮助信息
        -g              丢弃收集到blkid缓存信息
        -o <format>     输出格式,可以是value, device, export or full中的一个,默认为full
        -k              列出所有已经知道的文件系统或RAIDS并退出
        -s <tag>        显示指定的 tag(s),默认显示所有 tags
        -t <token>      用特定的象征来找到设备(NAME=value pair)
        -l              仅查找第一设备,配合使用的是-t token选项
        -L <label>      转换LABEL为设备名
        -U <uuid>       转换UUID为设备名
        -V              输出版本
        <dev>           指定要检查的设备(default: all devices)
        -p              检查低水平的超级块 (bypass cache)
        -i              收集关于I/O限制的信息
        -S <size>       重写设备尺寸
        -O <offset>     检查给定的偏移
        -u <list>       过滤(e.g. -u filesystem,raid)
        -n <list>       通过文件系统过滤 (e.g. -n vfat,ext3)

findfs
    findfs - find a filesystem by label or UUID,通过label或uuid来查找文件系统
    findfs {LABEL,UUID,PARTUUID,PARTLABEL}=<value>

tune2fs
    tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems,重新设定ext系列可调整的参数。
    tune2fs [options] device
        -c: 调整最大加载次数;
        -C: 设置文件系统已经被加载的次数;
        -e: 设置内核代码检测到错误时的行为;
        -f: 强制执行修改,即使发生错误;
        -i: 设置相邻两次文件系统检查的相隔时间;
        -j: 为“ext2”文件系统添加日志功能,将其转换为“ext3”文件系统;
        -l: 显示文件超级块内容;
        -L: 设置文件系统卷标;
        -m: 显示文件保留块的百分比;
        -M: 设置文件系统最后被加载到的目录;
        -o: 设置或清除文件系统加载的特性或选项;
        -O: 设置或清除文件系统的特性或选项;
        -r: 设置文件系统保留块的大小;
        -T: 设置文件系统上次被检查的时间;
        -u: 设置可以使用文件系统保留块的用户;
        -U: 设置文件系统的UUID。

dumpe2fs
    dumpe2fs - dump ext2/ext3/ext4 filesystem information
    dumpe2fs [options] <device>
        -b: 打印文件系统中预留的块信息;
        -ob<超级块>:   指定检查文件系统时使用的超级块;
        -OB<块大小>:   检查文件系统时使用的指定的块大小;
        -h: 仅显示超级块信息;
        -i: 从指定的文件系统映像文件中读取文件系统信息;
        -x: 以16进制格式打印信息块成员。

e2label
    e2label - Change the label on an ext2/ext3/ext4 filesystem
    e2label device [ new-label ]

fsck
    常用于发生于死机或者非正常关机之后,挂载为文件系统标记为“no clean” 的情况。注意,一定不要在挂载状态下修复。
    fsck - check and repair a Linux filesystem
    fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...]  [--] [fs-specific-options]
        -a: 自动修复文件系统,不询问任何问题;
        -A: 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
        -N: 不执行指令,仅列出实际执行会进行的动作;
        -P: 当搭配"-A"参数使用时,则会同时检查所有的文件系统;
        -r: 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
        -R: 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
        -s: 依序执行检查作业,而非同时执行;
        -t<文件系统类型>: 指定要检查的文件系统类型;
        -T: 执行fsck指令时,不显示标题信息;
        -V: 显示指令执行过程。
    返回数值所代表的信息:
        0       没有错误
        1       文件系统错误纠正
        2       系统应该被重启
        4       系统错误,未修正
        8       操作错误
        16      用法或语法错误Usage or syntax error
        32       通过用户请求检查缓存
        128      共享存储错误

fsck.fs_tyoe
    和mkfs.fs_tpe类型。fy_type代表许多文件系统。
    fsck。fs_type用于针对不通的文件系统进行检查和修复
    fsck。fs_type可以是fsck.btrfs、fsck.cramfs、fsck.ext2、fsck.ext3、fsck.ext4、fsck.fat、fsck.minix、fsck.msdos、fsck.vfat、fsck.xfs
    同样由于选项太多就不一一描述了,用到那个具体查看man帮助等。

e2fsck
    e2fsck - check a Linux ext2/ext3/ext4 file system
    e2fsck [options] <device>
        -p                      自动修复 (no questions)
        -n                      对文件系统不做更改
        -y                      设置对所有文件回答为YES
        -c                      检查的坏块并添加到坏块列表中
        -f                      强迫执行检查,即使会把文件系统清空
        -v                      显示详情
        -b superblock           使用更改的超级块儿
        -B blocksize            当查找超级块儿时指定块儿大小
        -j external_journal     设置外部日志的位置
        -l bad_blocks_file      添加到坏块列表中
        -L bad_blocks_file      设置坏块儿列表

df
    df - report file system disk space usage,查看文件系统磁盘空间使用情况。
    df [OPTION]... [FILE]...
        -a, --all               显示所有文件系统
        -B, --block-size=SIZE   在显示前通过SIZE来测量尺寸大小; e.g., ‘-BM‘ prints sizes in units of 1,048,576 bytes,
        --direct            显示文件状态
        --total             显示总结
        -h, --human-readable    用可读性格式显示尺寸大小(e.g., 1K 234M 2G)
        -H, --si                用1000的格式而不是1024的格式显示
        -i, --inodes            显示节点信息
        -k                      同 --block-size=1K
        -l, --local             仅显示本地文件系统
        --no-sync           在得到有用信息之前不调用同步功能(default)
        --output[=FIELD_LIST]   使用被FLELD_LIS定义的格式输出,或如果FIELD_LIST被忽略就输出所有区域。
        -P, --portability       使用可移植性的系统接口POSIX输出格式
        --sync              在取得信息前,调用同步功能
        -t, --type=TYPE         限制文件系统列出的类型
        -T, --print-type        打印文件系统类型
        -x, --exclude-type=TYPE     不限制文件系统的列出类型

原文地址:https://www.cnblogs.com/shenxm/p/8371198.html

时间: 2024-08-30 08:11:56

文件系统及其管理的相关文章

linux 文件系统的管理 (硬盘) 工作原理

一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16X4的空间就是存储分区表信息的位置:如下图 2.在分区表中,主要储存了以下信息:(1)分区号,常见的分区号有以下几种:其它编号可以使用fdisk指令,再执行 l (小写L) 查看 0x5 (or 0xf) 扩展分区 0x82 Linux swap 0x83 Linux 0x8e Linux LVM

Linux磁盘及文件系统的管理

Linux磁盘及文件系统的管理 我们计算机当中的核心部件并不包括磁盘,磁盘对我们的计算机来说属于外部I/O设备,我们目前主流的硬盘是机械式硬盘,我们的CPU以及内存设备属于电子设备,而我们的硬盘属于机械设备,所以说在发展速度上,CPU和内存要比硬盘快很多,我们通常所说的磁盘格式化分为两种,一种叫做低级格式化,低级格式化是硬盘厂商在出厂前就已经做好的,低级的格式化的目的是为了划分好磁盘上的磁道等物理边界,而当我们将磁盘拿到自己手里之后都会对磁盘进行分区(partition),我们对磁盘进行分区的目

12.文件系统——磁盘管理之RAID概述

一.什么是RAID 从上个世纪80年代起,主流的硬盘接口主要有两类: A.IDE:用于桌面系统 B.SCSI:用于工业系统(因为转速高,平均巡道时间短,性能较IDE好) SCSI的性能虽然优于IDE,但其成本约是IDE的五倍以上,故无法广泛应用.人们为了节省成本的同时保持性能,于是设计出了一种方案,即将很多廉价的IDE设备联合起来,当做一块硬盘使用.这种将多块廉价IDE设备并行联合使用的模式就是RAID--廉价冗余磁盘阵列(Redundent Array ofInexpensive Disk).

linux基础-第十三单元 硬盘分区、格式化及文件系统的管理二

第十三单元 硬盘分区.格式化及文件系统的管理二 文件系统的挂载与卸载 什么是挂载 mount命令的功能 mount命令的用法举例 umount命令的功能 umount命令的用法举例 利用/etc/fstab文件在开机时自动挂载文件系统 虚拟内存的概念以及设置与管理 什么是虚拟内存 创建swap分区的步骤 使用硬盘分区创建和使用系统交换分区的实例 mkswap 命令的功能 mkswap 命令的用法举例 swapon命令的功能 swapon -a swapon -s swapon命令的用法举例 i节

Linux文件系统及管理

Linux文件系统及管理 一.Linux系统的文件系统与目录结构 ??Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bin 软链接指向 /usr/bin ◆/sbin 软链接指向 /usr/sbin ◆/lib 软链接指向 /usr/lib ◆/lib64 软链接指向 /usr/lib64 文件系统从根目录下开始,用"/"表示 ◆boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootl

server 08 R2 NTFS 文件系统, 管理用户和组

server 08 R2 NTFS 文件系统, 管理用户和组 D文件系统的一些定义: ----------------------------NTFS安全权限-----------------------------文件夹的ACL---文件夹属性---安全---高级---权限项目 ?里面就是 该文件夹的访问控制列表.权限是从上往下匹配. 有四种文档有权限 继承性------在 d: 盘创建一个文件夹,文件夹的权限继承于 d 盘的权限.当我们给一个文件夹分配权限时,这个权限会指派到该文件夹下面的所

btrfs文件系统的管理及使用

Btrfs简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统.近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 .在 2008 年发布的 Linux2.6.19 内核中集成了 ext4 的 dev 版本. 2.6.28 内核发布时,ext4 结束了开发版,开始接受用户的使用.似乎 ext 就将成为 Linux 文件系统的代名词.然而当您阅读很多有关 ext4 的文章时,会发现都

文件系统的管理

文件系统与目录的结构 一.文件系统:   (一)文件系统简介   1.文件和目录被组织成一个单根倒树状的结构: 2.文件系统从根目录下开始,用"/"表示: 3.根文件系统(rootfs):root filesystem 4.根据文件系统的不同,对"名称大小写"的敏感程度也不同   5.以.开头的文件为隐藏文件: 6.文件有两类数据"元数据","数据" (二)文件名规则 1.除了斜杠和NUL,所有的字符都有效,但使用特殊字符的目

磁盘及文件系统的管理

分区是为了创建文件系统 MBR: 创建分区后,为了能够快速的存取文件就有了文件系统 inode:中存储了文件属组,等与文件数据没有关系的文件属性信息,但是没有文件名 每次访问某个目录的文件时是会进行缓存的,在一定的时间内再次访问的时候会去这个缓存区查找 文件系统:如何存储数据,一个硬盘会分成block区,还有inode区,在inode区里存储文件的属性类的信息,在block区存储真正的数据,当我们存储数据时首先在inode区查找能用的哪些inode区,在这里会记载着可用的block,当存储数据时