Linux文件系统管理

一、什么是文件系统

    我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。


二、文件系统类型

    在linux系统上主要有如下类型的文件系统:

    1、ext系列的ext[2-4],其中ext2文件系统没有日志功能,ext[3-4]文件系统支持日志功能

    2、XFS文件系统,一种性能强大的日志文件系统,CentOS 7和RHEL 7在安装系统时默认使用XFS文件系统

    3、btrfs文件系统,通常读作Butter FS、Better FS或B-tree FS,一种支持写入时复制(COW:COPY ON WRITE)的文件系统,采用GPL授权,

    4、ReiserFS文件系统,也是一个日志型文件系统,对大文件和小文件有很高的处理效率。

    5、JFS(Journaling File System),由IBM创建的一种日志型文件系统。

    6、Swap,交换分区,跟Windows的虚拟内存相似,当内存不足时,可以将一部分硬盘空间虚拟成内存使用,解决内存容量不足的问题,但是速度比较慢

三、VFS虚拟文件系统

 为了支持不同的文件系统共存,和一些跨文件系统的操作,如将一个存在于EXT4格式的文件系统分区里的文件拷贝至XFS分区,这样的操作就涉及到两个不同的文件系统,

        blob.png

 而虚拟文件系统就是为协调不同文件系统进行工作的,它是内核中的一个软件层,为用户提供了一个统一的接口。深入了解请查看IBM文档库中的从文件I/O看LINUX的虚拟文件系统,连接:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/

          blob.png  


四、创建文件系统

 A、这里我使用一块空的磁盘做演示:

    1、使用fdisk命令对这块空的磁盘进行分区

    blob.png

    2、一些常用的命令

   blob.png

    3、现在我需要添加一个新的分区

blob.png

    4、查看新建的分区

    blob.png

    5、查看文件系统的ID   blob.png

    6、输入“w”保存退出

    blob.png

NOTE:新创建的分区,内核不能识别,需要使用命令通知内核重新读取硬盘分区

    7、# partx -a /dev/DEVICE或者# kpartx -a /dev/DEVICE,CentOS 5中使用# partprobe /dev/DEVICE

    blob.png

 B、创建文件系统

    1、这里我使用mkfs.FS_TYPE命令来创建一个EXT4的文件系统    blob.png

    blob.png

或者使用另一个命令

    2、# mke2fs [OPTION]… /dev/DEVICE:ext系列文件系统专用管理工具

        -t [ext2|ext3|ext4]

        -b [1024|2048|4096]:指定块大小

        -L 'LABEL':指定卷标

        -j:相当于-t ext3

        -i #:为数据空间中每多少个字节创建一个inode,此大小不应该小于block的大小

        -N #:微数据空间创建多少个inode

        -m #:为管理人员预留的空间占据的百分比

        -O FEATURE[,…]:启用指定特性

            -O ^FEATURE:关闭指定特性    blob.png


五、管理文件系统

    1、查看当前系统支持的文件系统:# cat /proc/filesystems

    blob.png

    2、查看当前系统装载在内核中的模块信息,文件系统其实就是装载在内核中的功能模块,# lsmod

    blob.png

    3、查看块设备文件的属性信息,# blkid [OPTION]… /dev/DEVICE

        -U UUID:根据指定的UUID来查找对应的设备

        -L LABEL:根据指定的LABEL来查找对应的设备  blob.png

    这是刚才我创建的分区的信息,因为在创建文件系统时没有指定LABEL所有这里没有显示,稍后我将为这个分区创建一个LABEL。

    4、重新设定EXT系列文件系统可调整参数,# tune2fs [OPTION]… /dev/DEVICE

        -l:查看指定文件系统超级块信息:super block

        -L:修改卷标

        -m #:修改预留给管理员的弓箭百分比

        -j:将ext2升级为ext3

        -O:文件系统属性启用或禁用

            has_journal:启用日志功能

            ^has_journal:关闭日志功能

        -o:调整文件系统的默认挂载选项

            acl:启用acl功能

            ^acl:关闭acl功能

        -U UUID:修改UUID号blob.png

六、文件系统检测

    1、fsck:File System Check

        # fsck.FS_TYPE

        # fsck -t FS_TYPE

            -a:自动修复错误

            -r:交互式修复错误

    NOTE:FS_TYPE一定要与分区上的文件系统类型相同

    blob.png

    2、e2fsck:ext系列文件系统专用的检测工具

        -y:自动回答为yes

        -f:强制修复

原创文章,作者:Net17_雷航,如若转载,请注明出处:http://www.178linux.com/12110

(0)
Net17_雷航Net17_雷航
上一篇 2016-03-03 09:47
下一篇 2016-03-04 16:06

相关推荐

  • 马哥教育网络班20期+第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash export nolginbash export otherbash for i in `grep -o…

    Linux干货 2016-08-09
  • Centos6基于虚拟主机的Lamp配置bbs、Blog、PhpMyAdmin应用程序

    Centos6实现基于虚拟主机的各应用程序搭建: 一、配置三个基于名称的虚拟主机;       虚拟主机一、discuzX       虚拟主机二、wordpress       虚拟主机三…

    Linux干货 2016-10-09
  • 从Linux小白到大牛——与狼共舞的日子13

    马哥教育网络班21期+第13周课程练习 1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加sa…

    Linux干货 2017-01-03
  • N25 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。   4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt…

    Linux干货 2017-01-04
  • Linux文本处理三剑客之一grep

            终于又到了一周一篇博客的日子 在这学习已经三周了,慢慢养成了写博客的好习惯,也慢慢的懂得了怎么写博客。这周给我印象最深刻的就是正则表达式,原本打算要写前几天所学的内容,但是昨天学到正则表达式让我有点懵,所以我今天会用一天的时间去给大家详细讲解正则表达式,争取让那些和我一样困解的人能够豁然开朗,也正是因为…

    2017-07-29
  • shell脚本编程之补充知识点

    一、处理用户输入   shell中使用read命令来实现与用户的交互输入。   格式:read [options] 变量    常用选项:      -p “提示信息”:显示提示信息;      -t #:等待用户输入的秒数;     &n…

    Linux干货 2016-02-14

评论列表(1条)

  • stanley
    stanley 2016-03-04 17:24

    呵,赞,看的出有自己的思考在里面。知道写标签的同学都很细心,细节决定成败