磁盘的分区不能直接使用,需要进行格式化,编程文件系统才能够使用。

linux的文件系统:ext2文件系统,现在几乎不用。

文件系统和分区并不是11对应的关系。一个分区可以分成多个文件系统,多个分区也可以是一个文件系统。

ext2组成:(索引文件系统)

含有多个区块群组。区块群组中含有数据区块,inode区块和元数据,超级区块。
元数据是inode对照表,区块对照表。主要用来表示inode或区块是否被使用。
数据区块的大小:1k,2k,4k.一个数据区块只能放一个文件。(当文件过小时,会造成空间浪费)。
ext2的6个组成:引导扇区,超级区块,数据区块,inode区块,inode对照表,区块对照表。

超级区块

ext2的区块大小以及区块个数都是在格式化之后固定下来的不能修改。
每一个文件系统只能有一个超级区块,超级区块中记录着总共的数据区块数量和inode区块数量,可用和已用的数据区块数量和inode区块数量,对于inode区块和数据区块的修改时间等。超级区块在理论上来说只能有一个,但是在区块群组当中,有时会有多个超级区块,其他的超级区块是备份作用。

数据区块

数据区块的大小可以使1KB,2KB,4KB.在格式化之后不会变动,一个区块内只能装一个文件。一个文件可以对应多个区块。区块中放着文件中的数据。

  • 文件对应的数据区块,放着文件中的数据
  • 目录对应的数据区块:放着文件名和对应的inode。

inode区块:inode table

inode节点用来存放文件或者目录的属性:权限,所有者,用户组,以及数据区块的编号。

  • 文件对应的inode里面放着文件的属性和权限,以及对应的数据区块。
  • 目录对应的inode里面放的是目录的属性和权限,以及对应的区块,通常只有一个。

查找流程

  1. 首先找到挂载点。(在一个绝对路径中网上找第一个挂载点)

  2. 读取挂载点的inode,然后找到对应的数据块。目录的数据块放着其中文件名和对应的inode

  3. 找到下一层的inode,然后找到对应的数据块。重复过程知道找到最后的文件。

  4. 然后将所有的数据块读取。

ext3和ext4(日志文件系统)

解决的问题:当系统突然关闭时,此时文件写入过程还没有结束,没有对超级区块进行调整。此时,文件系统会出现错误,如果下次开机想找到错误,只能查看所有的文件,然后寻找错误。

有了日志系统,则在开始进行写入之间会记录写入操作,在结束的时候会记录完成操作。这样在突然断电之后,只需要日志当中查找未完成的操作即可。

xfs文件系统(简介)

数据区,文件系统活动登录区,实时运行区组成;

数据区

数据区和ext2很像。拥有存储区群组。存储区群组当中包含inode区块和数据区块元数据超级区块。但是数据区块和inode区块的大小是可变的。数据区块:256B-16KB但是通常不会超过4KB,由于页面文件pagesize的大小限制。inde的大小从256B~2M。

文件系统活动登录区log

就是记录log的地方

实时运行区

有一个extent的区块,用来存放将要存储的数据。

代码:
对于已经格式化的文件系统通常有三个名称:设备名称,UUID,Label name。
lvm是磁盘分区类型。

对于磁盘分区:

  • du查看分区的名字和大小。
  • df列出所有文件系统和挂载点,大小。
  • lsblk用来查看:maj和min设备号。
  • blkid查看uuid和挂载点
  • xfs_info查看超级区块的信息
  • xfs_admin 查看和修改uuid和label name。 必须卸载后,才能操作
  • gdisk进行磁盘分区,必须加完整的磁盘
  • parted 没有交互过程的磁盘分区,可以用来写脚本。对MBR和GPT都适用。
  • partprobe 不用重启,直接更新分区。
    对于格式化:
  • mkfs命令进行格式化:对于不同的文件系统类型可以查看mkfs的相关命令,使用mkfs[tab][tab]查看.或者使用-t [文件类型]
  • mkswap 格式化成swap内存交换区。

对于挂载操作:

  • mount 查看挂载信息
  • mount -a 根据/etc/fstab进行分区挂载
  • mount [文件系统] 挂载点
  • mount -n 不写入/etc/mtab当中
  • swapon 挂载 swapoff卸载
  • umont 卸载
  • mount --bind 将目录挂载到另一个目录
  • mount -o loop 可以进行镜像挂载,或者利用大型文件设置文件系统进行挂载。
  • mount -o remount,rw 通常在单人模式下,出现文件系统不可读的时候使用。重新挂载并设置成可读。
  • monut -o 可以控制suid是否使用,auto是否自动利用/etc/fstab加载,rw/ro是否只读,exec/noexec是否可执行,设置文件系统的语言等等。
  • 挂载操作可以不用强调文件系统类型,因为系统可以自动测试选择。

挂载当中的文件:

  • /etc/fstab 其中包含的数据顺序:
    设备名/uuid/label 挂载点 文件系统类型 参数 dump fsck
    其中后面两个现在通常不用都设为0即可。 参数默认设置为defaults。 对于swap文件系统没有挂载点使用swap。
  • /etc/filesystems 里面放着文件系统的测试优先级
  • /proc/filesystems 里面放着加载的文件系统
  • /lib/modules/$(uname -r)/kernel/fs放着内核支持的文件系统的驱动

创建设备文件
mknod [设备文件] [bcp] [major] [minor]
目前很少使用,major和minor是内核用来标识设备文件用的。

ln创建硬链接

  • 硬链接是针对一个inode的不同名称。如果删除一个硬链接不会导致文件删除。
  • 文件中的链接数就是硬链接。硬链接不是链接文件不用l标识。
  • 目录的链接数:对于目录创建的过程中,其实际创建了三个标识:/tmp/test,/tmp/test/.,/tmp/test/…
    所以其自身链接数会是2,上一层的链接数加1
  • 符号链接ln -s 相当于windows的快捷方式。

本章习题中的代码:

  • dd if=/dev/zeros of=文件名 bs=128k count=100
    dd是一个压缩操作,if是输入文件,of是输出文件 bs是区块大小 count是多少个区块
    作用: 用来创建一个大文件。文件中数据都是0。主要用来通过大文件的格式化和挂载实现新的文件系统。
  • free 查看内存信息
  • swapon -s 查看内存交换区信息
  • grep ‘asv’ 搜索操作

鸟哥的linux私房菜第七章相关推荐

  1. 鸟哥的Linux私房菜-第七章、Linux 磁盘与文件系统管理

    第七章.Linux 磁盘与文件系统管理 前言 一.认识 Linux 文件系统 1.文件系统特性 2.Linux 的 EXT2 文件系统 (1)data block (数据区块) (2)inode ta ...

  2. chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记

    鸟哥的linux私房菜基础学习篇:心血来潮决定看一下这本书,虽然都是讲很基础的东西,但是,绝对不是浪费时间,比如我看完了之后就终于明白了chmod777是什么意思了. 写这个读书笔记也主要是想记录一些 ...

  3. 鸟哥的Linux私房菜(服务器)- 第一章、架设服务器前的准备工作

    第一章.架设服务器前的准备工作 最近更新日期:2011/07/14 很多朋友因为自身或服务单位的需求,总是有架设各种网络服务器的时刻,这个时候大多数的前辈都会推荐他们使用 Linux 做为服务器架设的 ...

  4. 鸟哥的Linux私房菜(服务器)- 第二章、基础网络概念

    第二章.基础网络概念 最近更新日期:2011/07/15 你的服务器是放在网络网络上面来提供服务的,所以,如果没有网络或者是网络不通,那么你的服务器当然是英雄无用武之地啦! 此外,服务器上面的网络服务 ...

  5. 鸟哥的linux私房菜简答题答案,《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案...

    自己整理了一下,分享给大家,这些习题确实是非常经典的! 1.什么是绝对路径与相对路径? 绝对路径是相对于/目录的路径的,比如/home/user: 相对路径是相对于当前工作目录的,比如你的系统上有个/ ...

  6. Linux文件、目录——鸟哥的Linux私房菜

    鸟哥的Linux私房菜第六章--Linux文件和目录管理 文章目录 第六章:Linux文件和目录管理 一.目录和路径 1. 相对路径和绝对路径 2. 目录相关操作 3. $PATH 二.文件和目录管理 ...

  7. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    转载自: 专栏:鸟哥的Linux私房菜笔记 - 博客频道 - CSDN.NET http://blog.csdn.net/column/details/dawanganban-linux-n.html ...

  8. Linux_进程管理详解《鸟哥的Linux私房菜》学习笔记(极其详细,看完这篇就够了)

    前言 当一个程序被载入到内存中运行,那么在内存中的那个程序就被称为进程(process).进程是操作系统上非常重要的概念, 所有系统上面跑的数据都会以进程的形态存在. 那么系统的进程有哪些状态?不同的 ...

  9. 鸟哥的linux私房菜-基础学习篇 读书笔记

    从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...

最新文章

  1. java连接mysql8
  2. 页面A使用window.open打开页面B,然后取得B的返回值
  3. 【双100%解法】剑指 Offer 24. 反转链表
  4. Linux环境进程间通信(五): 共享内存(上)
  5. sql 除以_刷完这些SQL练习题,简单查询就熟能生巧了
  6. html拼接html内容,JavaScript如何避免拼接html字符串?
  7. 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
  8. Linux下C编程入门
  9. Discuz! 的编码规范
  10. 【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用
  11. docker 安装 oracle
  12. NATAPP使用教程(内网穿透)
  13. python 使用前馈神经网络处理IrIs数据集(BP)
  14. 高德地图开放平台——行政区划分DistrictSearch 准确定位区域,指定某一城市的行政区
  15. [Azure] 取消 或 删除Azure云订阅服务
  16. VS2010开发的winform程序在XP系统打不开的原因(与ico图标像素有关)
  17. badboy设置中文_badboy基本操作
  18. QQ、微信头像照片模糊怎么办?如何处理高清?
  19. 计算机丢失系统文件如何找回,电脑系统文件丢失怎么办
  20. 官网webp转换工具cwebp简介

热门文章

  1. 汉字Unicode编码
  2. 市值破7000亿美元 贝索斯成全球新首富,成就亚马逊的正是人工智能
  3. 全球最大企业管理软件商SAP研发管理精要
  4. Father f = new Son();
  5. 一套完整的云计算工具包含ECS、RDS、SLB、OSS、OCS等
  6. 云师大计算机调剂,云南师范大学调剂公告
  7. Consumer HDU - 3449【dp-有依赖的背包问题】
  8. N0.29——黑客技巧第一招:断网
  9. 【MR】现代机器人学算法库---计算力矩控制
  10. Windows下新建多级文件夹