Linux基础-----文件系统

文件系统:管理文件,实现文件的按名存取:
rootfs:根文件系统
     叶子节点:文件(最后一级,以无法存储其他文件)
    
     文件系统由内核提供,数据存储在硬盘,而程序不能直接和硬件沟通,通过内核提供的接口(系统调用)向内核发起请求
     由内核来完成相关工作,但系统调用过于底层,又将多个系统调用封装成更高级的接口提供上层应用使用,这些封装

后的系统调用叫库(API),通过库来使用某些功能,如读取 写入 执行 删除等调用。
    
    
     MBR:共计512字节 (硬盘的0扇区)  引导整个磁盘上的操作系统
          446字节:bootloader
          64字节:分区表
          2字节:磁盘是否可引导
    
     每一个分区前两个扇区(1024字节)Boot block:引导块:用于引导该分区上的操作系统
    
     文件系统将分区化为3部分,Boot block 索引 存储区,又将存储区划分成多个块,1K 2K 4K,文件系统会给
     这些块进行编号(block号),根据索引里面的对应关系来确定数据存储在哪些块当中。
    
     索引信息(元数据):文件的大小 权限 属主 属组 时间戳 数据对应的块的标号(磁盘块指针实现)

磁盘块指针:如果数据过大,占用块就会过多,而数据的块标号信息存储在inode,导致indoe也会过于庞大,为了解决这个问题,利用层次化的结构:

如果是小文件,磁盘块指针会直接指向数据块(直接指针),如果文件过大,使用二级指针,指向一个区域,区域内表明,这是一个区域,这个区域包含着一部分磁盘块标号信息,这样就节省了indoe空间

每个文件都会有一个条目,每个条目称为:索引节点
     整个空间叫索引,每一个条目叫索引节点:inode:文件的元数据:和数据内容没有关系
     为了方便查找,每个inode都有一个编号:inode编号
    
     目录:文件的路径映射:目录也是文件,也有indoe的条目,数据也存储在硬盘块上
     目录磁盘块数据:该目录下的文件的indoe编号  对应的文件名  文件的类型

目录只存放着该目录下的一级子目录信息,不包含子目录里面的文件信息,子目录里的文件信息存放在子目录.依次类推

如/var下面有log目录,var只需要记录log的信息,而log下面的文件信息,有log记录)
    
     如:文件系统如何找到/var/log/messages这个文件
     1.首先根据根的inode编号(根会自引用),找到根的inode,通过inode找到对应的磁盘块,这个磁盘块中包含var这个文件的的inode编号和对应的文件名及类型,
     2.通过var的inode的编号,来找到对应indoe,通过var的inode的信息找到var这个文件所在的磁盘块,通过磁盘块的数据找到log目录的inode编号和对应的文件名及文件类型
     3.通过log的inode编号,找到log的indoe来确定磁盘块,通过磁盘块中存储的memssages这个文件的inode的编号和对应文件名,确定是哪个磁盘块,最后读取到了messages的内容

创建文件

1.找一个空闲的iode,空闲的磁盘块

inode位图: 每个inode对应一个位,位为0为空闲,1为占用

块inode位图:每个块对应一个位,为0空闲,为1占用

block group:块组 (组内块数量相等)

将过多的块划分成不同的组,找空闲的inode或block时,可以扫描某一组的位图,根据位图确定空闲,一个组不够用时,可以跨组引用

每个组是自我管理

磁盘的第2个1024字节称为:超级块(块组0的超级块)

超级块:存储着磁盘有多少个组,每个组从哪个块开始到哪个块结束

GDT:块组描述表:块位图在哪存放 inode图存放在哪  inode表存放位置  空闲块 空闲inode

每个块组都有自己的:inode表 块位图 inode位图  GDT

tune2fs - l :查看超级块

f

dumpe2fs :输出ext 文件系统信息

-h :显示超级块信息

du 目录 :查看目录的文件大小及总大小

-s :只查看目录大小
     -h:单位换算,显示比较直观的方式

df  :显示磁盘相关信息

-l: 磁盘信息 总容量块  已用块 空闲块  使用比例  挂载点

-h:人性化显示

-P:posix兼容的风格显示

-i:indoe相关的信息

删除

1.把文件的inode数据清.把inode归类至未使用

2.默认不会清除块数据,仅会把磁盘块归类为未使用,将来如果使用,直接覆盖

复制

1.找空闲块将数据复制进去,并建立新的inode

移动(相同分区)

1.在新的路径建立一个条目,条目指向原有inode

2.删除原路径的对应条目,文件的inode和数据库不动

移动(非一个分区)

1.创建一个新文件,删除老文件

链接文件  ln -s 原文件  链接文件

软连接(符号链接)

ls -l 文件类型为l的文件   链接文件

bash中测试文件是否为软连接文件

1.能跨分区,可以对所有文件创建,包括目录

2.删除原文件,链接文件将无法使用

3.所有链接文件,与原文件指向不同的inode,并非同一个文件

硬链接  ln  原文件 链接文件

1.两个不同的路径指向同一个inode,使用同一个磁盘块

2.删除某个路径,不会情况文件的inode,知道文件上的最后一个路径删除

3.硬连接不能跨分区,不能对目录建立硬连接

ls -l  第2列显示的数字就是文件被硬连接的次数

ls -i 显示文件的inode

4.所有连接指向同一个inode,因此他们是同一个文件

ext系统文件系统:扩展属性

lsattr  显示扩展属性

chattr  修改扩展属性

-a:只允许追加内容

-i:对所有人变成只读文件,包括root

压缩 解压缩  归档

压缩:tar -czvf  test.tar.gz  /test

-c:创建压缩

-z:使用gzip压缩

zip格式压缩  zip test.zip  test

zip格式解压缩 uzip  test.zip

解压缩:tar -xvf test.tar.gz

-C :指定解压缩路径

dd命令

dd if=原文件 of=目标文件

Linux基础-----文件系统

时间: 2024-10-11 05:50:47

Linux基础-----文件系统的相关文章

linux 基础 文件系统 用户权限

描述Linux系统的启动过程? 1.开机自检 BIOS 2.MBR引导 3.GRUB菜单 4.加载内核 5.运行init进程 6.从/etc/inittab读取运行级别 7.根据/etc/rc.sysinit 初始化系统(设置主机名 设置ip) 8.根据运行级别启动对应的软件(开机自启动软件) 9.运行mingetty显示登录界面 Linux系统的启动过程 临时修改 [[email protected] ~]# alias rm='echo command not found' [[email 

Linux基础——文件系统与目录结构

文件系统 文件和目录被组织成一个单根倒置树结构 文件系统从根目录下开始,根文件系统(rootfs): root filesystem,用"/" 表示 文件名称区分大小写 以.开头的文件为隐藏文件 路径分隔符: / 文件有两类数据:元数据: metadata数据: data 文件系统分层结构: LSB(Linux Standard Base) FHS: (Filesystem Hierarchy Standard):文件系统层级标准,具体请参考:http://www.pathname.c

Linux 基础入门----文件系统操作与磁盘管理

介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前面省略了关于 Linux 文件系统的一些基本知识,也因为我们是在线实验环境,所以也避开了很少一部分但又十分重要的关于硬件的内容,我们只能期待用户能够抱着提高自学能力的心态自己去补充相关的知识. 一.简单文件系统操作 1.查看磁盘和目录的容量 使用 df 命令查看磁盘的容量 $ df 在实验楼的环境中

Linux的文件系统、系统管理类命令、bash基础特性

Linux的文件系统根文件系统(rootfs) root fileysystem LSB,FHS(Filesystem Heirache Standard)文件系统层级结构标准,如:/etc./usr./var./root./home./dev /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader,grub)都存放于此目录: /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序: /sbin:管理类的基本命令:不能关联至独立分区,O

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

常见的文件系统 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根据其是否支持"jour

Linux基础之——认识 文件系统

概述:对Linux文件和目录的操作,作为基本管理,了解Linux文件目录组织结构"文件系统"是很有必要的.我们知道Linux有众多的发行版,学习哪一个好呢?其实完全不用担心,内部的基本组织结构原理都是相似的,而且有相关的标准定义了其规范,所以学习那个版本的Linux都是大同小异的. FHS(Filesystem Hierarchy standard): 它定义了Linux目录结构必须按照一定的标准组织,同时又相应的RFC官方文档提供参考. 文件和目录被组织成一个单根倒置的树状结构,如下

Linux基础入门

第一节,linux系统简介 (一).Linux 为何物 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器,浏览器,电子邮件. (二).Linux 与 Windows 到底有哪些不同 1.免费与收费 最新正版 Windows8.1 官方售价 ¥888: Linux 免费或少许费用 2. 软件与支持 Windows 平台:数量和质量的优势,不过大部分为收费软件:由微软官方提供重要支持和服务: Linux 平台:大都为开源自由软件

Linux基础之磁盘管理

 Linux基础之磁盘管理         关于Linux中磁盘管理我们应该从以下四个方面入手,去了解和学习磁盘管理的知识. 第一点 磁盘的结构--硬盘         硬盘的参数 结构:磁盘的盘片,磁头,马达(机械键盘) 类型:固态硬盘(SSB)和机械硬盘 接口:早期的IDE接口,现在的SATA,SCSI,SAS 还有容量,转速,传输速度,缓存等. 硬盘存储术语 head: 磁头 track: 磁道 cylinder: 柱面 secotr: 扇区  512bytes(字节) 第二点 磁盘的分区

Linux 基础入门----推荐课程

Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https://www.shiyanlou.com/courses/1/labs/1/document 第2节 基本概念及操作 https://www.shiyanlou.com/courses/1/labs/2/document 第3节 用户及文件权限管理 https://www.shiyanlou.com/