概念-文件系统及文件类型

article/2025/10/9 10:51:05

概念-文件系统及文件类型

    • Linux 文件系统的特点
    • Linux 目录结构规范
    • Linux 文件系统目录文件
    • 应用程序的组成部分
    • 文件路径
    • Linux 文件类型
    • 文件的相关信息
    • 文件元数据和节点表结构
      • inode 表和目录
      • cp 和inode
      • rm 和inode
      • mv 和inode

Linux 文件系统的特点

1 文件和目录被组织成一个单根倒置的树形结构
2 文件系统从根目录开始,用 / 表示
3 根文件系统为rootfs,即root filesystem
4 以. 开头的文件为隐藏文件
5 路径中上级和下级目录之间分割使用 /

Linux 目录结构规范

结构规范,即特定的目录应该存放特定的文件。由文件系统层次结构标准(Filesystem Hierarchy Standard) 实现。主要用于参考,并不是一个强制标准。标准文档可参考地址 http://www.pathname.com/fhs

Linux 文件系统目录文件

#查看/ 目录下的子目录结构
[root@CentOS8 ~]#tree -L 1 //boot	启动系统引导文件存放目录,包括内核文件(vmlinuxz)及引导加载器(bootloader)
/bin 	存放所有用户的基本命令,该目录不能独立分区
/sbin	存放管理类的基本命令,该目录不能独立分区
/lib	存放系统启动时程序依赖的基本共享库文件及内核模块文件(lib/modules);类似的有目录/lib64,专用于存放x86_64系统上的辅助共享文件
/etc	配置文件目录
/home	普通用户的家目录
/root	管理员用户的家目录
/media	便携式移动设备挂载点
/mnt	临时文件系统挂载点
/dev	存储设备文件及特殊文件b:block device,随机访问c:character device,线性访问
/opt	第三方引用程序的安装位置
/srv	存放系统运行服务用到的数据
/tmp	临时文件存储位置/usr	universal shared,read-only databin:保证系统拥有完整功能而提供的应用程序lib:32位使用,类似lib64,只存在64位系统include:C程序的头文件(header files)share:结构化独立的数据,例doc,man等local:第三方应用程序的安装位置/var	variable data filescache:应用程序缓存数据目录lib:应用程序状态信息数据local:专用于为/usr/local 下的应用程序存储可变数据lock:锁文件log:日志目录及文件opt:专用于/opt下的应用程序存储可变数据run:运行中的进程相关数据,通常用于存储进程pid 文件spool:应用程序数据池tmp:保存系统两次重启之间产生的临时数据/proc	用于输出内核与进程信息相关的虚拟文件系统
/sys	用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux	security enhanced Linux,selinux 相关的安全策略等信息

应用程序的组成部分

二进制程序
/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,/usr/local/sbin库文件
/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64配置文件
/etc,/etc/DIRECTORY,/usr/local/etc帮助文件
/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc

文件路径

文件的路径分为两种,绝对路径和相对路径。
绝对路径,从根目录开始每一级下层目录都需要详细描述,表现形式为以根目录 / 开始
相对路径,针对某个目录的相对路径,不以根目录 / 开始

#绝对路径
[root@CentOS8 ~]#cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core) #相对路径
[root@CentOS8 etc]#cat centos-release
CentOS Linux release 8.1.1911 (Core) #基名:basename,只取文件名,不要路径
[root@CentOS8 ~]#basename /etc/sysconfig/network
network
#目录名:dirname,只取路径,不要文件名
[root@CentOS8 ~]#dirname /etc/sysconfig/network
/etc/sysconfigps:使用相对路径时,[.][..]是有特殊含义的
. 表示当前所在目录
..	表示当前目录的上一级目录,即父目录
[root@CentOS8 etc]#cd ./../
[root@CentOS8 /]#pwd
/

Linux 文件类型

- 普通文件-文件属性中,第一个字符用 -表示

1. 纯文本文件,存储可读数据,如数字、字母、下划线。几乎所有的配置文件都属于该类型
2. 二进制可执行文件,有特殊格式的可执行程序,内容不可直接读,如cat 本身就是一个二进制文件
3. 数据格式文件,存储程序在运行过程中需读取的某些特点格式的数据文件,如图片,压缩文件,日志文件等。通常该类文件需特定的工具才能打开查看

d 目录文件 文件夹, 文件属性中,第一个字符用 d表示

l 链接文件 给系统中已有的某个文件指定另一个可用于访问它的不同文件名称。链接文件分 软连接硬链接,软连接类似于windows中的快捷方式。文件属性中,第一个字符用 l表示

p 管道文件 本质是一个伪文件(实为内核缓冲区)。主要目的是为了解决进程间通讯(InterProcess Communication,IPC)问题。其与进程没有关系,是真正且独立的文件,可在任意进程之间实现通信。严格遵守先进先出的原则。文件属性中,第一个字符用 p 表示

ps:管道文件的局限性
1. 自己写的数据不能自己读
2. 数据一旦被读后,管道中就不存在,即不可反复读取
3. 管道采用半双工通信方式,套接字文件支持全双工,故管道使用不多常见的通信方式有三种
单工通信:只能像一个方向传输信息,如传统的收音机
半双工通信:可以双向传输信息,但不能同时进行传输,只能轮流进行,如对讲机
全双工通信:可同时双向传输信息,如手机

c 字符设备文件 通常时一些串行接口设备在用户控件的体现,如键盘、鼠标。字符设备是按字符为单位进行输入输出,且按一定的顺序进行。文件属性中,第一个字符用 c 表示

b 块设备文件 以**块(如4096个字节)**为单位,访问数据,提供随机访问的接口设备,如磁盘、硬盘、U盘等。可随机的在硬盘的不同块读写,通常块设备有多个,可利用缓存提高速度。文件属性中,第一个字符用 b 表示

s 套接字文件 被称为数据接口文件,被用在基于网络的数据通讯使用。全双工方式实现数据通信。文件属性中,第一个字符用 s 表示

文件的相关信息

磁盘上存放的文件包含metadata,data 两部分。

data 文件的内容,即文件的数据部分,比如文本的内容可通过cat 命令查看。存放在磁盘里的数据空间(data block)中

metadata 文件的属性信息,即文件的元数据,如文件的类型,大小,节点号(inode number),权限,所有者,所属组,时间等;存放在磁盘中的节点空间(inode block)中

ps:目录文件的数据部分(data block)存放的就是目录中的文件名等信息

文件的时间属性
文件的时间属性有三种:
atime:access time,记录最后一次的访问时间
mtime:modify time,记录最后一次文件的数据部分的修改时间
ctime:change time,记录最后一次文件元数据的修改时间

ps:
1 mtime 只有修改文件内容才会改变,即修改元数据data block 部分
2 ctime 修改文件属性才会改变,即修改元数据inode block 部分。如重命名文件,修改文件所有者,移动文件等
3 mtime 的改变一定会引起ctime 的改变
4 在目录中创建、删除文件等都会改变目录的mtime;除了目录的mtime 引起ctime 改变之外,对目录本身的元数据修改也会改变ctime
5 每次读取文件都会即时更新atime,会导致对磁盘额外的写操作,从而影响性能。从CentOS6 开始默认开启了一个relatime 的挂载选项,此选项要求文件的atime 只有满足两个条件之一才会更新

  • 条件1 文件的atime 时间超过一天以上
  • 条件2 文件的mtime 事件比atime 更晚

文件元数据和节点表结构

每个文件的属性信息,如:文件的大小,时间,类型等,称为文件的元数据(meta data),这些元数据时存放在node(index node)表中。
第一个node表记录了一个文件的元数据信息:inode number 节点号,文件类型,权限,UID,GID,链接数(指向这个文件名路径名称个数),该文件的大小和不同的时间戳,指向磁盘上文件的数据块指针,有关文件的其他数据
inode结构图

inode 表和目录

目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系

cp 和inode

  • 分配一个空间的inode 号,在inode 表中生成新条目
  • 在目录中新建一个目录项,将名称和inode 编号关联
  • 拷贝数据生成新的文件

rm 和inode

  • 链接数递减,从而释放的inode 号可被重用
  • 把数据块放在空闲列表中
  • 删除目录项
  • 数据实际上不会马上被删除,但当另一个文件使用数据块时被覆盖

mv 和inode

  • 如果mv 命令的目标和源在相同的文件系统,作为mv 命令
    • 用新的文件名创建对应新的目录项
    • 删除旧目录条目对应的旧的文件名
    • 不影响inode 表(除时间戳)或磁盘上的数据位置:没有数据被移动
  • 如果目标和源在一个不同的文件系统,mv 等同于cp 和rm 的效果

范例:删除大文件

#注意:/dev/null 和/dev/zero 的区别
#/dev/zero	零,就是不停填充0000000, 把硬盘占满
#/dev/null	空,丢去到空(类似windows的回收站)
[root@centos8 data]#cat /dev/null > /var/log/huge.log

http://chatgpt.dhexx.cn/article/fNKOEQMj.shtml

相关文章

Linux 支持 U盘 NTFS 文件系统格式

Linux 支持 U盘 NTFS 文件系统格式 1、在线(可以连接外网)方式: 1.1、RHEL/CentOS/Anolis/openEuler yum install ntfs-3g1.2、Debian/Ubuntu/Deepin apt install ntfs-3g2、离线方式 下载 ntfs-3g 安装包,离线环境安装 ntfs…

文件系统格式FAT16、FAT32、NTFS、exFAT的区别

前言正文 问题四种文件系统比较 小结 前言 我们在用U盘存储大文件的时候总会遇见这样一个问题,提示文件太大,U盘拷贝时提示文件过大问题 其实这跟U盘的磁盘格式有关,目前市面上常用的U盘大都是FAT32格式,那么FAT32是什么呢&#x…

【Linux】文件系统详解

😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享C/C相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…

Linux磁盘挂载及格式化文件系统格式为xfs

注释:重新空白挂载磁盘及重新格式化磁盘文件系统格式第一步需解除磁盘挂载,否则从下面第一步开始做 [rootp-master ~]# umount /dev/sdb 1、查看未挂载的磁盘: [rootp-master ~]# lsblk -f 2、磁盘新建分区 3、新建目录,准备将…

windows下文件系统格式介绍

三种文件系统(格式)类型 :FAT、NTFS、exFAT。 1、FAT 最通用的的是FAT32,很多U盘上都是FAT32格式,有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式…

Linux文件系统的格式化操作

前言:本节将来探索仓库的划分,即什么地方存放仓库的管理信息,什么地方存放进程的“劳动成果”(也就是文件),对应于文件系统的格式化操作。 先来实现文件系统设备驱动,接着建立文件系统超级块&am…

【文件系统】

一、文件系统的功能规划 第一点,文件系统要有严格的组织形式,使得文件能够以块为单位进行存储。 第二点,文件系统中也要有索引区,用来方便查找一个文件分成的多个块都存放在了什么位置。 第三点,如果文件系统中有的文…

Linux系统中常见文件系统格式

Linux系统中常见文件系统格式 Windows常用的分区格式有三种,分别是FAT16、FAT32、NTFS格式。 在Linux操作系统里有Ext2、Ext3、Linux swap和VFAT四种格式。 FAT16: 作为一种文件名称,FAT(File Allocation Table,文件分…

ffmpeg——TS流解析

RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP…

网页视频下载(TS流下载合成)

前言 最近《流浪地球》比较火,想找资源下载看看,无奈只找到了网址 http://m.tlyy.tv/【现已变成不良网站】 ,但是我的chrome插件也嗅探不到网页上的视频。。于是乎,右击页面,inspect 走起… 步骤 首先发现 m3u8文件…

TS流分析

一 从TS流开始 数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。因此,我们首先需要了…

ts流中的时间概念: pcr,pts,dts 实例解说

ts流中的时间概念: pcr,pts,dts 实例解说 ---------------------------------------- PCR OPCR ---------------------------------------- ts流包头4字节,第5字节为适配域长度,若不为0,第六字节为适配域标志. 适配域有5个标志,这里先说两个,节目参考时钟…

TS流解析【PCR】自己的总结

http://www.cnblogs.com/ztteng/articles/3166025.html http://blog.csdn.net/liuhongxiangm/article/details/8981032 http://blog.sina.com.cn/s/blog_6b94d5680101ton7.html http://blog.csdn.net/jl2011/article/details/47044647 二.TS流包含的内容 一段TS流&#xf…

ES流、PES流、PS流和TS流介绍

流媒体系统结构 整个传输过程为:音视频数据分别通过图像声音编码器打包成ES(elemental stream 基本数据流),在通过PES打包器打包成PES(packet elemental stream分组的基本数据流),之后通过PS复用…

TS流基本知识【HI3798 AVPLAY播放TS流】

目录 一、TS流相关知识 1.1 TS流、PS流、PES流和ES流都是什么? 1.2 TS流是如何产生的? 1.3TS流的格式 二、从TS流到PAT、PMT 2.1 PAT表(Program Association Table,节目关联表) 2.1.1PAT表的描述(表…

TS流

TS流的健壮性很好,所以适合用在无线视频传输。但是,TS流一帧数据的格式较为复杂,所以需要有优秀的分析工具。 比如,EasyICE。(此软件仅供非商业使用,而且每次开打都需要联网验证是否是最新版本&#xff09…

ts流格式

1.ts简介 ts流最早应用于数字电视领域,其格式非常复杂包含的配置信息表多大十几个,视频格式主要是mpeg2。苹果公司发明的http live stream流媒体是基于ts文件的,不过他大大简化了传统的ts流,只需要2个最基本的配置表PAT和PMT&…

ts流格式详解

ts介绍 ts文件为传输流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3。 ts文件分为三层:ts层Transport Stream、pes层 Packet Elemental Stream、es层 Elementary Stream. es层就是音视频数据,pes层是在音视频数据上加了时间戳…

MPEG-2 TS流结构浅析

一、概述 MPEG-2是MPEG(Moving Picture Experts Group,运动图像专家组)组织制定的视频和音频有损压缩标准之一,它的正式名称为“基于数字存储媒体运动图像和语音的压缩标准”。MPEG-2标准是在1994年11月为数字电视而提出来…

RTSP中TS流结构分析

RTSP中TS流结构分析 UDP数据包整体结构RTP Header结构TS Header结构PAT结构PMT结构PES Header结构ES层Wireshark抓取TS包 UDP数据包整体结构 在使用UDP传输TS流时,整个数据包结构如下: RTP Header结构 RTP结构如下图: 各字段的含义如下&…