常见的文件系统

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来查找对应的设备

命令演示:[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/sdb5mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=new1

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=33685504

13 block groups

8192 blocks per group, 8192 fragments per group

1976 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating 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...

命令演示:[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/sdb6

meta-data=/dev/sdb6              isize=256    agcount=4, agsize=6400 blks

=                       sectsz=512   attr=2, projid32bit=1

=                       crc=0        finobt=0

data     =                       bsize=4096   blocks=25600, imaxpct=25

=                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=853, version=2

=                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =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格式的文件系统[root@localhost ~]# mke2fs -t ext2 /dev/sd

sda   sda1  sda2  sdb   sdb1  sdb2  sdb5  sdb6  sdb7

[root@localhost ~]# mke2fs -t ext2 /dev/sdb7

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=67371008

13 block groups

8192 blocks per group, 8192 fragments per group

1976 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating 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数及为管理人员预留空间的百分比[root@localhost ~]# mke2fs -N 1024 -m 3 /dev/sdb7

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

1040 inodes, 102400 blocks

3072 blocks (3.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=67371008

13 block groups

8192 blocks per group, 8192 fragments per group

80 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成

正在写入inode表: 完成

Writing superblocks and filesystem accounting information: 完成

…………………………………………………………………………………………………………

e2label:管理ext系列文件系统的LABEL

查看:e2label device

设定:e2label device LABEL

命令演示:设定指定块设备的卷标[root@localhost ~]# e2label /dev/sdb7 new3

[root@localhost ~]# e2label /dev/sdb7

new3

…………………………………………………………………………………………………………

tune2fs:重新设定ext系列文件系统可调整参数的值(不进行格式化)

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

-L 'LABEL':修改卷标

-m #:修预留给管理员的空间百分比

-j: 将ext2升级为ext3

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

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

-U UUID: 修改UUID号;

命令演示:修改卷标[root@localhost ~]# tune2fs -L 'another label' /dev/sdb7

tune2fs 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[root@localhost ~]# tune2fs -j /dev/sdb7

tune2fs 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

命令演示:[root@localhost ~]# dumpe2fs -h /dev/sdb7

dumpe2fs 1.42.9 (28-Dec-2013)

Filesystem volume name:   another label

Last mounted on:

Filesystem UUID:          a57b2116-d72b-48d2-a648-bb6d2d5487ac

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super

Filesystem flags:         signed_directory_hash

Default mount options:    user_xattr

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              1040

Block count:              102400

Reserved block count:     3072

Free blocks:              96568

Free inodes:              1029

First block:              1

Block size:               1024

Fragment size:            1024

Reserved GDT blocks:      256

Blocks per group:         8192

Fragments per group:      8192

Inodes per group:         80

Inode blocks per group:   10

Filesystem created:       Sun Aug 21 20:11:13 2016

Last mount time:          n/a

Last write time:          Sun Aug 21 20:52:01 2016

Mount count:              0

Maximum mount count:      -1

Last checked:             Sun Aug 21 20:11:13 2016

Check interval:           0 ()

Reserved blocks uid:      0 (user root)

Reserved blocks gid:      0 (group root)

First inode:              11

Inode size:               128

Journal inode:            8

Default directory hash:   half_md4

Directory Hash Seed:      3e1f3581-59c7-41b3-bd4f-d262e3ce026e

Journal backup:           inode blocks

Journal features:         (none)

日志大小:             4113k

Journal length:           4096

Journal sequence:         0x00000001

Journal 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

简要比较两种类型的命令[root@localhost ~]# dumpe2fs /dev/sda1

dumpe2fs 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"

linux从入门到精通张帆,Linux基础之文件系统简介及其系统管理工具相关推荐

  1. Linux从入门到精通系列之PPTP

    Linux从入门到精通系列之PPTP 今天我们来说下怎么在linux环境下如何搭建PPTP-×××,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该 ...

  2. Kali Linux 从入门到精通(十一)–提权

    Kali Linux 从入门到精通(十一)–提权 本地提权 已实现本地低权限账号登录 远程溢出 直接获得账号密码 希望获取更高权限 实现对目标进一步控制 系统之间权限隔离 操作系统安全的基础 用户空间 ...

  3. linux学生入门,Linux入门之《Linux从入门到精通》

    Linux是目前增长最迅速的操作系统.<Linux从入门到精通>由浅入深.循序渐进地向读者介绍Linux的基本使用和系统管理.全书内容包括 Linux概述.Linux安装.Linux基本配 ...

  4. ubuntu php入门教程,《Ubuntu Linux从入门到精通》PDF 下载_IT教程网

    资源名称:<Ubuntu Linux从入门到精通>PDF 下载 内容简介: <Ubuntu Linux从入门到精通>详细介绍Ubuntu Linux操作系统,<Ubunt ...

  5. Kali Linux 从入门到精通(十)-漏洞挖掘之缓冲区溢出

    Kali Linux 从入门到精通(十)-漏洞挖掘之缓冲区溢出 程序漏洞从哪里来? 罪恶的根源:变量 数据与代码边界不清(注入攻击) 最简漏洞原理-shell 脚本漏洞(本质:输入数据本身,程序本身没 ...

  6. Kali Linux 从入门到精通(八)-主动信息收集

    Kali Linux 从入门到精通(八)-主动信息收集 基本介绍 直接与目标系统交互通信 无法避免留下访问的痕迹 使用受控的第三方电脑进行探测 使用代理或已经被控制的主机 做好被封杀的准本 使用噪声迷 ...

  7. Kali Linux 从入门到精通(五)-测试环境准备

    Kali Linux 从入门到精通(五)-测试环境准备 准备实验环境 渗透非系统授权的弊端 搭建自己的实验环境 安装虚拟机 微软最新软件 http://msdn.microst.com/en-ca/s ...

  8. Kali Linux 从入门到精通(三)-入侵系统定制

    Kali Linux 从入门到精通(三)-入侵系统定制 定制 网络配置 临时IP地址 dhclient eth0 ifconfig eth0 192.168.11/24 route add defau ...

  9. Kali Linux 从入门到精通(二)-安装

    Kali Linux 从入门到精通(二)-安装 Kail Linux 安装 持久加密USB安装-1 LUSK:Linux Unified Key Setup 磁盘分区加密规范 不依赖与操作系统的磁盘级 ...

  10. linux从入门到精通脚本之家,Linux服务器从入门到精通52问_LINUX技术_操作系统_脚本之家.pdf...

    服务器从入门到精通 问 Linux 52 来源:互联网 作者:佚名 时间:11-05 15:08 :26 [大中小] 点评:本文为 服务器从入门到精通的 问 Linux 52 Q1 Linux的开发者 ...

最新文章

  1. “计算机艺术之父”、现代计算机技术先驱查理斯·苏黎去世,享年99岁!
  2. LightOJ - 1098 A New Function
  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能
  4. 多媒体(1):MCI接口编程
  5. TypeError: Cannot red property 'style' of null 错误解决
  6. java自动化_作为测试工程师进阶自动化选Java还是Python?
  7. python求加速度_如何利用Python 为自然语言处理加速度
  8. 现代软件工程系列 学生和老师都不容易
  9. CI框架源码学习笔记7——Utf8.php
  10. Kaldi语音识别快速入门
  11. 【真的很先进】阿里云在2018-KVM Forum上分享的动态迁移实践
  12. overflow与BFC解说
  13. wps 宏 禁用_WPS宏被禁用如何打开
  14. 外汇会计-概念-升水(Premium)
  15. html饼图显示百分比,Excel饼图中既显示百分比又显示数量的方法
  16. 沪深300指数的跟踪基金最近1年收益排名
  17. Pycharm一直显示connecting to console
  18. 怎么确定自己毕业论文方向?
  19. spring和hibernate的整合
  20. for循环的执行顺序(案例+详解)

热门文章

  1. 再见Activity!SpringBoot+flowable完美结合,快速实现工作流,so easy!
  2. 好评度很高的通用基础库,代码写的不错!
  3. 爆红Github!再来一个小白练手项目,20个项目随你造!
  4. IntelliJ IDEA 的项目配置和Web部署,终于搞懂了!
  5. 93岁计算机密码发明人去世:创建全球首个分时系统,成为计算机普及开端
  6. Python语言被列入全国计算机等级考试科目中
  7. 那些互联网IT岗位的招聘潜台词,能看到说明你是历经磨难的老司机
  8. nginx日志采集 mysql_shell + go + mysql nginx日志统计 (三) :数据的展示
  9. python2.7没有pip_python2.7无法使用pip怎么办
  10. Linux进阶之bond链路聚合