【Linux】文件系统详解

news2024/11/26 1:34:19

😊😊作者简介😊😊 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享C/C++相关知识。
🎉🎉个人主页🎉🎉 南瓜籽的主页
✨✨座右铭✨✨ 坚持到底,决不放弃,是成功的保证,只要你不放弃,你就有机会,只要放弃的人,他肯定是不会成功的人。

🍎🍎文件系统🍎🍎

在任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具备完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。

🍎🍎文件系统类型🍎🍎

linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分以下几类:

  1. 磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext3、Ext4、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT、FAT16、FAT32、NTFS等;
  2. 网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS、Samba等;
  3. 专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。

目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。
最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。

SCSI与IDE设备命名

sata硬盘的设备名称是“/dev/sda”
/dev/sda1 含义? sd代表是scsi硬盘 a代表是第一块硬盘 1代表是第一个主分区
/dev/sdb3 含义? sd代表是scsi硬盘 b代表是第二块硬盘 3代表是第三个主分区

注: 如果很在意系统的高性能和稳定性,应该使用SCSI硬盘

🍎🍎Linux分区的命名方式 🍎🍎

  1. 字母和数字相结合
  2. 前两个字母表示设备类型
  • “hd”代表IDE硬盘
  • “sd”表示SCSI或SATA硬盘
  1. 第三个字母说明具体的设备
  • “/dev/hda”表示第一个IDE硬盘
  • “/dev/hdb”表示第二个IDE硬盘

交换分区:

  • 将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping)
  • 交换分区最小必须等于计算机的内存
  • 可以创建多于一个的交换分区
  • 尽量把交换分区放在硬盘驱动器的起始位置

🍎🍎文件系统逻辑结构 🍎🍎

首先举个栗子:

  • 某所大学的学生可能在一两万人左右,通常将学生分配在以学院-系-班为单位的分层组织机构中。若需要查找一名学生时,最笨的办法是依次问询大学中的每一个学生,直到找到为止。如果按照从学院、到系、再到班的层次查询下去,必然可以找到该学生,且查询效率高。这种树形的分层结构就提供了一种自顶向下的查询方法。
  • 如果把学生看作文件,院-系-班的组织结构看作是Linux文件目录结构,那么就同样可以有效地管理数量庞大的文件。
  • 一直使用微软Windows操作系统的用户似乎已经习惯了将硬盘上的几个分区,并用A:、B:、C:、D:等符号标识。存取文件时一定要清楚存放在哪个磁盘的哪个目录下。
  • Linux的文件组织模式犹如一颗倒置的树,这与Windows文件系统有很大差别。所有存储设备作为这颗树的一个子目录。存取文件时只需确定目录就可以了,无需考虑物理存储位置。

🍎🍎文件系统结构 🍎🍎

  1. 分区与目录的关系:
  • 在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。
  1. 如何知道文件存储的具体硬件位置呢?
  • 在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。为了能够按照统一的方式和方法访问文件资源,Linux中提供了对每种硬件设备相应的设备文件。一旦Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树中的一个子目录中。
  • 例如,用户插入USB移动存储器,Ubuntu Linux自动识别后,将其挂载到“/media/disk”目录下。而不象Windows系统将USB存储器作为新驱动器,表示为“F:”盘。

Linux文件系统就是一个树形的分层组织结构。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。将Linux的全部文件按照一定的用途归类,合理地挂载到这颗“大树”的“树枝”或“树叶”上,如图所示。而这些全不用考虑文件的实际存储位置,无论是存在硬盘上,还是在CD-ROM或USB存储器中,甚至是网络终端。

下面是分层组织结构图:

在这里插入图片描述

🍎🍎基本目录🍎🍎

由于Linux是完全开源的软件,各Linux发行机构都可以按照自己的需求对文件系统进行裁剪,所以如此众多的Linux发行版本的目录结构也不尽相同。为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS,File Hierarchy Standard),2004年发行版本FHS 2.3。Ubuntu Linux系统同样也遵循这个标准。

各目录详解图

在这里插入图片描述
在这里插入图片描述

绝对路径和相对路径:

  • 绝对路径:指文件在文件系统中的准确位置。通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路径。
  • 相对路径:指相对于用户当前位置的一个文件或目录的位置。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。

🍎🍎Linux文件系统与Windows文件系统比较 🍎🍎

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/403212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity脚本复习

1.在Project面板中显示和创建的每一个脚本其实都是一个类,当我们把脚本挂载到Hierarchy层级中的游戏物体时,其实我们就实现了将脚本类实例化为一个脚本组件(对象)的过程 2.在游戏运行时,场景加载,游戏对象…

云边端协同时序数据库的挑战与解决方案

现今,时序数据库在经济金融、环境监控、医疗生物等多个领域有着极为广泛的需求。其中,在环境监控等领域,时序数据库主要部署在云边端架构中。但如何实现云边端协同是目前TSDB所面临的巨大挑战。由于云、边和端的计算、存储资源状况和对数据管…

【LeetCode】剑指 Offer(21)

目录 题目:剑指 Offer 39. 数组中出现次数超过一半的数字 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 40. 最小的k个数 -…

论文阅读和分析:A Tree-Structured Decoder for Image-to-Markup Generation

目录1.主要内容:2.树解码器3、损失函数4、结论:参考:1.主要内容: (1、提出创新的树结构解码器来表示树、输出树、优化基于注意力的编解码框架; (2、设计一个问题说明特别是在复杂结构时字符解…

AidLux AI 应用案例悬赏征集活动正式启动!

ChatGPT爆火之后,AI领域的人才需求迎来了疯狂增长,AI学习也一跃成为业界大热门。 但AI囊括知识广、学习周期长,要克服理论、实战等多重阻碍并不容易。 而持续降低AI学习门槛是我们一直在做的事情。 为此,我们举办了多期AidLux …

R语言基础(五):流程控制语句

R语言基础(一):注释、变量 R语言基础(二):常用函数 R语言基础(三):运算 R语言基础(四):数据类型 6.流程控制语句 和大多数编程语言一样,R语言支持选择结构和循环结构。 6.1 选择语句 选择语句是当条件满足的时候才执行…

【麒麟服务器操作系统忘记开机密码怎么办?---银河麒麟服务器操作系统更改用户密码】

银河麒麟服务器操作系统更改用户密码 1.启动主机进入 grub 菜单,如图 1.1 以最新版本 Kylin-Server-10-SP2-x86-Release-Build09-20210524 为例。 图 1.1 grub 菜单 2 编辑 kernel 2.1按下”e”输入,输入用户名和密码(root/Kylin123123&…

【数据结构初阶】由浅入深学习链表

目录 前言 链表的概念及结构 链表的分类 单链表的实现 接口实现 1.结构体 2.创建一个新结点 3.打印链表数据 4.尾插数据 5.尾删数据 6.头插数据 7.头删数据 8.任意位置删除 9.查找位置 10.pos之前插入 11.pos之后插入 12.释放内存 完整源码 总结 前言 在我们…

Java Web 实战 07 - 多线程基础之单例模式

大家好 , 这篇文章给大家带来的是单例模式 , 单例模式中分为懒汉模式和饿汉模式 , 懒汉模式是需要用的到的时候才去创建实例 , 而饿汉模式是程序一启动就立刻创建实例 , 在这其中还有很多其他问题需要我们去研究 推荐大家跳转到这里 , 观看效果更加 上一篇文章的链接我也贴在这…

1641_strchr函数的功能分析以及peek功能实现分析

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 继续分析shell例程代码,再次遇到了一个陌生的库函数strchr。 1. 从这里看,这个是一个库函数无疑了。 2. 这个函数,或者说这三个…

2个步骤就能批量给视频添加滚动字幕

现在很多小伙伴在剪辑视频的时候都会给自己的视频添加适配的字幕,但是有很多的视频想要添加一样的滚动字幕时,有一个能批量添加剪辑的工具非常重要,今天小编就给大家分享一个可以批量剪辑大量视频的工具,下面一起看看具体的操作步…

超导百年:物理学“圣杯”是如何诞生的?

最近科技圈流传的大新闻,大家都知道了吧?简单来说,美国物理学会的三月会议上,来自罗彻斯特大学的Ranga Dias宣布,他们团队在近环境压强下实现了室温超导。这个消息在中文互联网流传之后,很快就有了详细的解…

刷题(第三周)

目录 [CISCN2021 Quals]upload [羊城杯 2020]EasySer [网鼎杯 2020 青龙组]notes [SWPU2019]Web4 [Black Watch 入群题]Web [HFCTF2020]BabyUpload [CISCN2021 Quals]upload 打开界面以后&#xff0c;发现直接给出了源码 <?php if (!isset($_GET["ctf"]))…

网络工程师面试题(面试必看)(3)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 前言 本系列将会提供网络工程师面试题,由多位专家整合出本系列面试题,包含上百家面试时的问题。面试必考率达到80%,本系列共86道题…

银行管理系统--课后程序(Python程序开发案例教程-黑马程序员编著-第7章-课后作业)

实例1&#xff1a;银行管理系统 从早期的钱庄到现如今的银行&#xff0c;金融行业在不断地变革&#xff1b;随着科技的发展、计算机的普及&#xff0c;计算机技术在金融行业得到了广泛的应用。银行管理系统是一个集开户、查询、取款、存款、转账、锁定、解锁、退出等一系列的功…

一文分析Linux v4l2框架

说明&#xff1a; Kernel版本&#xff1a;4.14 ARM64处理器&#xff0c;Contex-A53&#xff0c;双核 使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 V4L2(Video for Linux 2)&#xff1a;Linux内核中关于视频设备驱动的框架&#xff0c;对上向应用层提供…

Transformer-XL:打破序列长度限制的Transformer模型

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Redis经典五种数据类型底层实现原理解析

目录总纲redis的k,v键值对新的三大类型五种经典数据类型redisObject结构图示结构讲解数据类型与数据结构关系图示string数据类型三大编码格式SDS详解代码结构为什么要重新设计源码解析三大编码格式hash数据类型ziplist和hashtable编码格式ziplist详解结构剖析ziplist的优势(为什…

TypeScript 基础学习之泛型和 extends 关键字

越来越多的团队开始使用 TS 写工程项目&#xff0c; TS 的优缺点也不在此赘述&#xff0c;相信大家都听的很多了。平时对 TS 说了解&#xff0c;仔细思考了解的也不深&#xff0c;借机重新看了 TS 文档&#xff0c;边学习边分享&#xff0c;提升对 TS 的认知的同时&#xff0c;…

Qt静态扫描(命令行操作)

Qt静态扫描&#xff08;命令行操作&#xff09; 前沿&#xff1a; 静态代码分析是指无需运行被测代码&#xff0c;通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描&#xff0c;找出代码隐藏的错误和缺陷&#xff0c;如参数不匹配&#xff0c;有歧义的嵌…