Linux文件系统简介及其系统管理工具

el/2024/5/23 1:18:55

常见的文件系统
Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap
swap: 交换分区
光盘:iso9660
Windows:fat32, ntfs
Unix: FFS, UFS, JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2
分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre
实验环境CentOS7.2
Linux根据其是否支持"journal"功能:
日志型文件系统: ext3, ext4, xfs, …
非日志型文件系统: ext2, vfat
Linux的文件系统的组成部分:
内核中的模块:ext4, xfs, vfat
用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat
在正式介绍文件系统的前先说一下创建文件系统之前的格式化问题。
格式化
低级格式化:硬件制造商、分区之前划分磁道,形成簇 磁盘出厂前由厂家完成
高级格式化:分区之后对分区进行,创建文件系统
每种操作系统所设置的文件属性/权限不相同,为了存放这些所需的数据
我们常说的重装系统及格式化都是属于高级格式化层面的。本文所说的文件系统均为高级格式化后的产物。
Linux文件系统管理工具
blkid:块设备属性信息查看
命令使用格式:blkid [OPTION]… [DEVICE]
-U UUID: 根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
命令演示:
1234 [root@localhost ~]# blkid /dev/sda1/dev/sda1: UUID=“6efb8a23-bae1-427c-ab10-3caca95250b1” TYPE=“xfs” [root@localhost ~]# blkid -U 6efb8a23-bae1-427c-ab10-3caca95250b1 /dev/sda1
…………………………………………………………………………………………………………
mkfs:文件系统创建工具:
mkfs - build a Linux filesystem
命令使用格式:
1、 mkfs [options] [-t type] device [size]
[ -t type] :指定要创建的文件系统类型ext4|xfs|btrfs|vfat|…|]
[options]:-L ‘LABEL’: 设定卷标 在创建文件系统同时指定卷标。
-f 若文件系统已存在,强制覆盖
命令演示:
[root@localhost ~]# mkfs -L ‘new1’ -t ext4 /dev/sdb5
123456789101112131415161718192021 mke2fs 1.42.9 (28-Dec-2013)文件系统标签=new1OS type: Linux块大小=1024 (log=0)分块大小=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks25688 inodes, 102400 blocks5120 blocks (5.00%) reserved for the super user第一个数据块=1Maximum filesystem blocks=3368550413 block groups8192 blocks per group, 8192 fragments per group1976 inodes per groupSuperblock backups stored on blocks:         8193, 24577, 40961, 57345, 73729Allocating group tables: 完成                           正在写入inode表: 完成                           Creating journal (4096 blocks): 完成Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# blkid /dev/sdb5/dev/sdb5: LABEL=“new1” UUID=“10880486-7ad9-43de-9607-f9bc1fda1edf” TYPE=“ext4”
…………………………………………………………………………………………………………
2、 mkfs.FS_TYPE /dev/DEVICE
FS_TPYE:ext4、xfs、btrfs、vfat…
命令演示:
123456789101112131415 [root@localhost ~]# mkfs.xfs -L ‘new2’ /dev/sdb6       mkfs.xfs: /dev/sdb6 appears to contain an existing filesystem (ext3).mkfs.xfs: Use the -f option to force overwrite.[root@localhost ~]# mkfs.xfs -f -L ‘new2’ /dev/sdb6meta-data=/dev/sdb6              isize=256    agcount=4, agsize=6400 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=0        finobt=0data     =                       bsize=4096   blocks=25600, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=0log      =internal log           bsize=4096   blocks=853, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[root@localhost ~]# blkid /dev/sdb6/dev/sdb6: LABEL=“new2” UUID=“ed636bf6-1cee-43d1-96e2-8baa8dc29087” TYPE=“xfs”
若/dev/sdb# 指定的磁盘块已经存在文件系统,执行命令mkfs会失败,若加-f,则强制将原文件系统覆盖。慎用-f。
…………………………………………………………………………………………………………
mke2fs:ext系列文件系统专用管理工具
mke2fs - create an ext2/ext3/ext4 filesystem
-t {ext2|ext3|ext4}指明要创建的文件系统类型
-b {1024|2048|4096}指明文件系统的块大小
-L 'LABEL’指明卷标
-j: 创建有日志功能的文件系统ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
-N #:为数据空间创建个多少个inode;
-m #: 为管理人员预留的空间占据的百分比;
-O [^]FEATHER:开启或关闭某种特性;
命令演示:mk2fs创建ext2格式的文件系统
1234567891011121314151617181920212223 [root@localhost ~]# mke2fs -t ext2 /dev/sdsda   sda1  sda2  sdb   sdb1  sdb2  sdb5  sdb6  sdb7 [root@localhost ~]# mke2fs -t ext2 /dev/sdb7mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=1024 (log=0)分块大小=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks25688 inodes, 102400 blocks5120 blocks (5.00%) reserved for the super user第一个数据块=1Maximum filesystem blocks=6737100813 block groups8192 blocks per group, 8192 fragments per group1976 inodes per groupSuperblock backups stored on blocks:         8193, 24577, 40961, 57345, 73729Allocating group tables: 完成                           正在写入inode表: 完成                           Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# blkid /dev/sdb7/dev/sdb7: UUID=“4b9767fc-a8bf-4dda-9ce1-50eb5418da04” TYPE=“ext2”
指定inode数及为管理人员预留空间的百分比
12345678910111213141516171819 [root@localhost ~]# mke2fs -N 1024 -m 3 /dev/sdb7mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=1024 (log=0)分块大小=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks1040 inodes, 102400 blocks3072 blocks (3.00%) reserved for the super user第一个数据块=1Maximum filesystem blocks=6737100813 block groups8192 blocks per group, 8192 fragments per group80 inodes per groupSuperblock backups stored on blocks:         8193, 24577, 40961, 57345, 73729Allocating group tables: 完成                           正在写入inode表: 完成                           Writing superblocks and filesystem accounting information: 完成
…………………………………………………………………………………………………………
e2label:管理ext系列文件系统的LABEL
查看:e2label device
设定:e2label device LABEL
命令演示:设定指定块设备的卷标
123 [root@localhost ~]# e2label /dev/sdb7 new3[root@localhost ~]# e2label /dev/sdb7new3
…………………………………………………………………………………………………………
tune2fs:重新设定ext系列文件系统可调整参数的值(不进行格式化)
-l:查看指定文件系统超级块信息;super block
-L ‘LABEL’:修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用
-o: 调整文件系统的默认挂载选项
-U UUID: 修改UUID号;
命令演示:修改卷标
1234 [root@localhost ~]# tune2fs -L ‘another label’ /dev/sdb7tune2fs 1.42.9 (28-Dec-2013)[root@localhost ~]# blkid /dev/sdb7/dev/sdb7: LABEL=“another label” UUID=“a57b2116-d72b-48d2-a648-bb6d2d5487ac” TYPE=“ext2”
升级ext2到ext3
12345 [root@localhost ~]# tune2fs -j /dev/sdb7tune2fs 1.42.9 (28-Dec-2013)Creating journal inode: 完成[root@localhost ~]# blkid /dev/sdb7/dev/sdb7: LABEL=“another label” UUID=“a57b2116-d72b-48d2-a648-bb6d2d5487ac” SEC_TYPE=“ext2” TYPE=“ext3”
…………………………………………………………………………………………………………
dumpe2fs:
-h:查看超级块信息等同于tune2fs -l
命令演示:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 [root@localhost ~]# dumpe2fs -h /dev/sdb7dumpe2fs 1.42.9 (28-Dec-2013)Filesystem volume name:   another labelLast mounted on:          Filesystem UUID:          a57b2116-d72b-48d2-a648-bb6d2d5487acFilesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_superFilesystem flags:         signed_directory_hash Default mount options:    user_xattrFilesystem state:         cleanErrors behavior:          ContinueFilesystem OS type:       LinuxInode count:              1040Block count:              102400Reserved block count:     3072Free blocks:              96568Free inodes:              1029First block:              1Block size:               1024Fragment size:            1024Reserved GDT blocks:      256Blocks per group:         8192Fragments per group:      8192Inodes per group:         80Inode blocks per group:   10Filesystem created:       Sun Aug 21 20:11:13 2016Last mount time:          n/aLast write time:          Sun Aug 21 20:52:01 2016Mount count:              0Maximum mount count:      -1Last checked:             Sun Aug 21 20:11:13 2016Check interval:           0 ()Reserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11Inode size:               128Journal inode:            8Default directory hash:   half_md4Directory Hash Seed:      3e1f3581-59c7-41b3-bd4f-d262e3ce026eJournal backup:           inode blocksJournal features:         (none)日志大小:             4113kJournal length:           4096Journal sequence:         0x00000001Journal start:            0
…………………………………………………………………………………………………………
fsck:check and repair a Linux file system检查修复Linux文件系统
因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行;
-t fstype:指明文件系统类型;比如:fsck -t ext4 = fsck.ext4
-a:无须交互而自动修复所有错误;
-r:交互式修复;
Note: FS_TYPE一定要与分区上已经文件类型相同;
…………………………………………………………………………………………………………
e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes;
-f:强制修复;


总结
文件系统管理工具
通用:mkfs、blkid、fsck
ext系列文件系统专用工具:mke2fs、dumpe2fs、tune2fs、e2label、e2fsck
简要比较两种类型的命令
123456 [root@localhost ~]# dumpe2fs /dev/sda1dumpe2fs 1.42.9 (28-Dec-2013)dumpe2fs: Bad magic number in super-block 当尝试打开 /dev/sda1 时找不到有效的文件系统超级块.[root@localhost ~]# blkid /dev/sda1/dev/sda1: UUID=“6efb8a23-bae1-427c-ab10-3caca95250b1” TYPE=“xfs”


http://www.ngui.cc/el/3478359.html

相关文章

命令行工具恢复文件 foremost 和 extundelete 简介

使用 Linux 文件恢复工具 Linux 文件恢复的原理 inode 和 block 首先简单介绍一下 Linux 文件系统的最基本单元:inode。inode 译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该…

chkconfig ntsysv

chkconfig 提供了一个维护/etc/rc[0~6] d 文件夹的命令行工具,它减轻了系统直接管理这些文件夹中的符号连接的负担。chkconfig主要包括5个原始功能:为系统管理增加新的服务、为系统管理移除服务、列出单签服务的启动信息、改变服务的启动信息和检查特殊服…

bash 的好用的快捷键 目录介绍

bash 的好用的快捷键 ctrla:光标移到行首。   ctrlb:光标左移一个字母   ctrlc:杀死当前进程。   ctrld:退出当前 Shell。   ctrle:光标移到行尾。   ctrlh:删除光标前一个字符,同 backspace 键相同。   ctrlk:清除光标后至行尾的内容。   ctrll:清屏…

重设 root 密码 file命令 locate文件查找 find grep whereis

重设 root 密码 1)重启虚拟机 server,出现 GRUB 启动菜单时按 e 键进入编辑状态 2)找到 linux16 所在行,末尾添加 rd.break consoletty0,按 Ctrlx 键进恢复模式 3)以可写方式挂载硬盘中的根目录,并重设 root 密码: switch_root:/# mount -o remount,rw /sysroot #以可读写方式重…

awk的应用

awk ‘{print “内容” > “文件名”}’ 文件名 #使用AWK打印内容追加到文件里面 awk ‘{ip[$1]} END{for(i in ip){print ip[i],i}}’ /var/log/httpd/access_log | sort -n 统计访问http服务次数的IP地址公式必背 编写安全检测脚本 4.1 问题 本案例要求编写脚…

使用display:inline;或display:inline-block;使元素换行

a{display:block;}将元素显示为块级元素 块级元素特点: (1)每个块级元素都从新的一行开始,并且其后的元素也另起一行。 (2)元素的高度、宽度、行高以及顶和底边距都可设置。 (3)…

绝对定位下居中

position:absolute;(position:fixed)margin:0 auto;left:0;right:0;

在父容器内垂直居中

top:50%;left:50%;transform:translate(-50%,-50%);

margine:auto 失效的原因

1、要给居中的元素设置一个宽度,否则无效; 2、该元素一定不能浮动,否则无效; 3、display:table-cell属性指让标签元素以表格单元格的形式呈现,table-cell会被其他一些css属性破坏,float,posit…

python lambda函数的用法

a lambda x,y,z:(x8)*y-z print(a(5,6,8)) 要点: 1,lambda 函数不能包含命令, 2,包含的表达式不能超过一个。