灵光一闪来个科普贴:Linux文件系统
在计算机系统中,各种需要保存的信息都是以文件的形式存在的。文件管理是对系统信息资源的管理,是操作系统的一项重要功能。

1.文件与文件系统:
1.1文件:
文件是具有名字的一组相关信息的有序集合,存放在外部存储器中。文件的名字称为文件名,它是文件的标识。文件的信息可以是各种各样的,一个程序、一批数据、一张图 片、一段视频等都可以作为文件的内容。文件的存储空间是具有长久记忆特性的外部存储器(如磁盘、磁带等),因而文件是可以长久保存的信息形式。所有需要在系统关机后仍能保留的信息都应以文件的形式存在。
1.2文件系统
文件系统是操作系统的一个重要组成部分,它负责管理系统中的文件,为用户提供使用文件的操作接口。文件系统由实施文件管理的软件和被管理的文件组成。文件系统软件属于系统内核代码,文件则按特定的格式存放在磁盘分区中。文件系统通常以磁盘分区划分每个分区对应一个独立的文件系统。
归纳起来,文件系统的功能包括以下几项:
l 实现文件的“按名存取",包括按名建立、读写、检索、修改、删除文件等操作。
l 管理分区存储空间,实施存储空间的分配、回收与重组。
l 实现对文件的共享、保密和保护措施。
l 提供文件访问接口。
1.3文件的描述
为了实施和控制对文件的各种访问操作,文件系统为每个文件都建立了一个文件控制块(File Control Block, FCB).文件的FCB的作用类似于进程的PCB,它记录了文件的使用者和管理者所关心的所有信息包括文件名、属主、文件大小、物理存储位置、修改和访问时间、存取权限等。当用户创建一 个新文件时,文件系统就为这个文件建立起一个FCB。随着文件的操作FCB的内容也相应地变化。当文件被删除时,它的FCB也就消失了。
2.Linux 文件系统的特点
Linux继承了Unix文件系统的优秀设计,并结合了此现代文件系统的先进技术, 在开放性、可扩展性和性能方面都十分出色。以下介绍Linuxs 文件系统的几个主要特征。
2.1 支持多种文件系统
许多操作系统(如DOS. Windows等)只支持种成几种专用的文件系统,而Linux系统则可以支持几乎所有流行的文件系统。这使得Linux可以和许多其他操作系统共存,允许用户访问其他操作系统分区中的文件。用户可以使用标准的系统调用操作各个文件系统中的文件,并可在它们之间自由地复制和移动文件。这种兼容性带来的另一个好处是Linux用户可以根据应用需要选择最适合的文件系统,并可体验众多文件系统新产品的先进特色。
2.2树型可挂装目录结构
Linux系统采用了树型目录和分区挂装的概念,系统分区上的文件系统称为根文件系统,其他所有分区的文件系统都要桂装(mount)到根文件系统下的某个目录下,然后通过根目录来访问。因此,与Windows系统将每个分区独立为棵树不同, Linux 文件系统总是只有一一棵树,不管挂入的是本地磁盘分区还是网络上的文件系统,它们都与根文件系统无縫结合,用户访问这些分区就如同访问根文件系统所在分区样。另外,Linux 支持动态地挂装和卸载文件系统,允许用户灵活地组织和扩充存储空间。
2.3文件、设备统一管理
Linux将设备也抽象为文件来处理,使用户可以像读/写文件样地操作设备进行IO操作。这样做既简化了系统结构和代码,又方便了用户对设备的使用。
2.4 linux文件系统的结构
Linux文件系统采用了分层结构的设计,如下图所示:

小编在这里跟大家只是简略的讲了一下linux文件系统,想要更好的去了解linux文件系统的结构、特点,就需要去系统的学习,去网上查询相关资料,可能有的人不知道什么资料会比较靠谱比较好,在这里推荐一本我看过的书《linux就该这么学》这本书很接地气,他也有在线的网站,有需要的可以去看看。
不断学习、充电是当下每个人需要保持的习惯,抽点零散的时间,翻翻书,看看自己想要了解的东西,保持自己的好奇心,这样才不会被这个飞速发展的时代所抛弃,或许你看的书就是你自己下一个事业的转折点,祝大家学有所成,工作顺利哦!加油!
灵光一闪来个科普贴:Linux文件系统的更多相关文章
- (Linux基础学习)第一章:科普和Linux系统安装
第一章:科普和Linux系统安装 第1节:操作系统介绍OS:Operating System,通用目的的软件程序硬件驱动进程管理内存管理网络管理安全管理文件管理OS分类:服务器OS:RHEL,Cent ...
- Linux文件系统深度讨论【转】
本文旨在对Linux文件系统概念高级工作方式进行的讨论,不是对特定文件系统类型(如EXT4)如何工作的低级描述,也不是对文件系统命令的教程. 每台通用计算机都需要将各种类型的数据存储在硬盘驱动器( ...
- Linux 文件系统概览
本文导航 -定义07% -文件系统的基本功能12% -目录结构26% -Linux 统一目录结构50% -文件系统类型74% -挂载81% -结论90% -下个月92% 本文旨在高屋建瓴地来讨论 ...
- Linux文件系统---用户与内核的交互接口
从磁盘到数据,从数据到文件,从文件到目录,从目录到文件系统,从文件系统到操作系统.构成了计算机中的IO读写机制. 整个磁盘可以分为1个MBR(Master Boot Record)和4个partiti ...
- (转)认识 Linux 文件系统
7.1 认识 Linux 文件系统 原文:https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/59.html Linux 最传统 ...
- [转]使用fdisk磁盘分区和 Linux 文件系统
概述 在本文中,学习磁盘分区和 Linux 文件系统相关内容.学习: 创建分区 使用 mkfs 命令来设置 ext2.ext3.ext4.xfs.Reiser v3 和 vfat 文件系统 创建和管理 ...
- Linux文件系统与磁盘管理
Linux文件系统与磁盘管理 有哪些文件系统: FAT:微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称. exFAT(Extended File Allocation ...
- [转帖]Linux文件系统详解
Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系 ...
- 干货长文:Linux 文件系统与持久性内存介绍
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 1.Linux 虚拟文件系统介绍 在 Linux 系统中一切皆文件,除了通常所说的狭义的文件以 ...
随机推荐
- powerbuilder连接oracle数据库
一.打开已经安装好的pb9.0,主界面菜单栏有个两个圆柱形就行数据库连接,点击database. 二.选择oracle版本,由于数据库版本是9i,可以使用084 oracle8/8i.右键--选择ne ...
- ASP.NET Core搭建多层网站架构【8.1-使用ViewModel注解验证】
2020/01/29, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[8.1-使用ViewModel注解验证] 使用V ...
- Spring 事务管理的使用
Spring提供了2种事务管理 编程式的 声明式的(重点):包括xml方式.注解方式(推荐) 基于转账的demo dao层 新建包com.chy.dao,包下新建接口AccountDao.实现类Acc ...
- PHP如何实现处理过期或者超时订单的,并还原库存
订单是我们在日常开发中经常会遇到的一个功能,最近在做一个订单过期与超时的开发.订单过期与超时就不用我解释了吧,其实两者都是同一个问题来着,就是订单未支付的处理,我们要做的是对这些未支付的订单到了一定时 ...
- python opencv:色彩空间
RGB色彩空间 常见的色彩空间 色彩空间的转换 cv2.cvtColor(image, 转换选项) 常见的两个颜色转换 HSV与RGB YUV与RGB inRange方法 函数参数: 第一个参数:是原 ...
- PAT T1025 Keep at Most 100 Characters
删除字符的镜像问题,状态转移方程一样~ #include<bits/stdc++.h> using namespace std; ; ; string s; long long dp[ma ...
- 卷积神经网络(CNN)_相关知识
斯坦福公开课 CS231n Convolutional Neural Networks for Visual Recognition : http://cs231n.stanford.edu/syll ...
- 添加COOKIE
HttpCookie userinfoCookie = new HttpCookie("userinfo"); JObject o = new JObject();//JObjec ...
- Mysql 一些细节方面解析(一)--MyISAM和InnoDB的主要区别和应用场景
myisam和innodb 简介:myisam读的效果好,写的效率差,这和它数据存储格式,索引的指针和锁的策略有关的,它的数据是顺序存储的,他的索引btree上的节点是一个指向数据物理位置的指针,所以 ...
- Qt实现通用模板单例
#include <QAtomicPointer> #include <QMutex> #include <memory> using namespace std; ...