Linux的文件系统

Linux 文件系统详解 文件系统是对一个存储设备上的数据和元数据进行组织的机制。它的最终目的是把大量数据有组织的放入持久性(persistant)的存储设备中,比如硬盘和磁盘。文件系统(file system)是就是文件在逻辑上组织形式,它以一种更加清晰的方式来存放各个文件。数据被存入到某个分区中。一个典型的Linux分区(partition)包含有下面各个部分:文件是文件系统对数据的分割单元。文件系统用目录来组织文件,赋予文件以上下分级的结构。在硬盘上实现这一分级结构的关键,是使用 inode 来虚拟普通文件和目录文件对象。 阅读详情

新手入门:浅谈Linux的文件系统

 
发布时间:2006.01.10 10:27     来源:赛迪论坛    作者:Saine

如果您是一位新手,也许 您还不知道如何把文件从Windows拷贝到Linux上吧?下面,我们将说明Unix文件系统以及mount的工作过程,然后再比较详细地讨论

mount的使用和有关选项。如果您已经了解Unix文件系统是如何工作的,那么可以跳过下面一节。否则,您最好继续接着学习"mount"的含义。

什么是mount?

在一些操作系统(如Windows)中,计算机通过设备名来识别设备,例如,大多数PC机系统都包括"A:drive"(软盘)、"C:drive"(硬盘)和­"D:drive"(一般是只读光盘)。

出于各种各样的理由,Linux系统一般不采用这种方式指示存储设备。Linux系统采用单一的目录树(类似于Windows上用户的"C:drive"目录树­结构),通过mount到目录树的分支上来查找存储设备的内容。

在这台特定的计算机上,总共有4个硬盘驱动器,它们全都被文件系统管理。例如,假设我们沿用Windows系统的方法,给这4个硬盘驱动器分别命名为C、D、E­和F,那么它们的Linux路径名和Windows的等价名如表1所示。

磁盘号 Linux路径等价的Windows文件名

1/C:/

1 /var C:/VAR

1 /var/adm C:/VAR/ADM

1 /var/spool C:/VAR/SPOOL

1 /home C:/HOME

1 /home C:/HOMEJACKON

2 /usr D:/

2 /usr/lib D:/USR/LIB

3 /usr/X11R6 E:/

4 /home F:/

通过维护系统中的设备列表,以及设备被mount的情况,Linux系统知道到哪里去寻找包含在每个路径表上的数据,而不管数据具体存放在哪个设备上。因为数据­映射的操作是自动完成的,所以用户不需要记住数据在哪个硬盘驱动器上。

例如,对匿名ftp用户,只需要记住/home/ftp是在"home"目录上,而不需要记住所有的ftp文件都在"F:/"或第4个硬盘驱动器上,这样

显然直观多了。同样地,记住面向用户的库程序全在/usr/lib上,比必须记住面向用户的库程序全部在第2个硬盘驱动器的"LIB"目录上也直观得多。

设备标识

为了记住每个设备被mount到哪里,Linux系统需要有一种惟一的方法标识各个设备。对于人来讲,通过在/dev目录上找到设备名就完成了任务。但

是,这个目录包含了大量的特殊文件,每个文件都指示不同类型的设备,或现有设备上的分区。例如,/dev/hda设备指示系统的第一个硬盘驱动器;

/dev/hda1指示第一个硬盘驱动器的第1分区,而/dev/hda2是第2个硬盘驱动器的第2分区。表2展示了一些常用的设备文件和相应的设备。

特殊文件 设备

/dev/fdo 第1软盘驱动器

/dev/fdl 第2软盘驱动器

/dev/cdrom CD-ROM驱动器

/dev/hda[1-16] 第1硬盘驱动器(IDE1,1)和分区1-16

/dev/hdb[1-16] 第2硬盘驱动器(IDE2,2)和分区1-16

/dev/sda[1-16] 第1硬盘驱动器(SCSI0)和分区1-16

/dev/sdb[1-16] 第2硬盘驱动器(SCSI1)和分区1-16

/dev/sdc[1-16] 第3硬盘驱动器(SCSI2)和分区1-16

/dev/sdd[1-16] 第4硬盘驱动器(SCSI3)和分区1-16

当然,有许多设备在表2中没能列出。要看到在您的系统中完整的特殊设备列表,可以采用如下命令:

#/s/dev

不用担心,许多设备您永远也用不上,一般也不需要研究和记住它们。

文件格式

除了要记住每个设备被mount到何处,Linux系统还需要记住每个设备上存在什么类型的文件系统。对于Windows操作系统,大多数设备存储信息

时,只采用目前流行的两种格式,即FAT16或FAT32中的一种。只有CD-ROM驱动器是一个明显的例外,它采用ISO-9660文件格式。对于

Linux系统,大多数设备存储信息采用Extended-2(ext2)文件系统。同样地,最显著的例外也是CD-ROM驱动器,它依然采用ISO-

9660文件格式,但是Linux也能识别和mount其他的文件系统。要看看您的Linux内核支持哪些文件系统,可以输入以下命令:

#cat/proc/filesystems

让我们假设对于一种给定的情况,上述命令的执行结果为:

ext2

vfat

noelevproc

iso9660

对于这个特定的系统,Linux内核支持ext2、vfat、proc和iso9660文件系统。表3给出了Linux所支持的大部分文件系统类型。

文件系统 操作系统或类型

ext2 LinuxExtended-2

minix Minix文件系统

msdos 最初的FAT文件系统(短文件名)

vfat 其他FAT文件系统(长文件名)

ntfs WindowsNT文件系统(长文件名)

hpft OS/2高性能文件系统

hfs AppleMacintosh文件系统

nfs 网络文件系统

ncpfs NovellNetWare文件系统

affs Amiga快速文件系统

Linux还支持其他一些文件系统。为了让Linux支持更多的文件系统,需要或者重新编译Linux的内核,或者下载有关的模块。

/etc/fstab文件幸运的是,在使用Linux维护目录树时,用户不必经常直接和设备名或文件系统打交道。我们已经提到过,Linux在mount

文件系统时,会自动进行维护,它还知道每次是从什么地方开始mount文件系统,这主要是它利用了/etc/fstab文件。对于上面提到过的4个设备的

目录,从/etc/fstab文件中可以摘出有关的内容:

/dev/sda1 / ext2 defaults 1 1

/dev/sdc1 /usr ext2 ext2 defaults 1 2

/dev/sdc1 /usr/X11R6 ext2 defaults 1 2

/dev/sdc2 /home/ftp vfat defaults 1 2

对上述给定的/etc/fstab信息,Linux每次开始mount时将按下列步骤进行:

●mount第1个SCSI硬盘驱动器的第1个分区(/dev/sda1),把它作为最先的(根)文件系统,这是一个Linux的ext2格式的磁盘;

●在/usr的目录树上,mount第2个SCSI硬盘驱动器的第1个分区(/dev/sdb1),这是一个Linux的ext2格式的磁盘;

●在/home/ftp的目录树上,Mount第3个SCSI硬盘驱动器的第2个分区(/dev/sdc2),这是一个Windows95的vfat格式的硬盘­。

通过适当地配置/etc/fstab文件,用户可以构造一个目录树,该目录树可以容纳许多不同的设备,而且支持许多不同的操作系统文件格式。每次在Linux的­根部将自动构造这种目录树。

 
算法面试八股文『 基础知识篇 』 个人整理的算法面试基础知识八股文,内容较详细。 阅读详情

相关推荐

通达信-申万宏源金融终端本地数据转sqlite3,2、解析申万宏源C:/zd_swhy_gm/vipdoc/sh/lday的sh600000股票数据

为量化做准备,通达信-申万宏源金融终端本地数据转sqlite3,解析申万宏源C:/zd_swhy_gm/vipdoc/sh/lday的sh600000股票数据

wuyaqi的博客 511

Linux操作系统详解(最详细)

​ Linux是一套免费使用和自由传播的类unix操作系统。那么什么是类unix操作系统呢?在1969年由unix之父Ken Thompson在AT&T(American Telephone & Telegraph, 美国电话电报公司,现在为美国第二大运营商,第一大运营商为VerizonWireless)的贝尔实验室主导研发的,当时完全是出于好奇或者兴趣。

菠萝吹雪爱Java的博客 1万+

营销反作弊之 异常行为分析模型(一),附带python代码

通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。

viviwiky的博客 1230

浅谈Linux

Linux作为一款操作系统在如今也被广泛运用了,Linux是由Unix发展而来,准确的来说Linux以Unix为原型不断发展,最终形成了一款操作系统。而且Linux并没有包括Unix的源码,而是按照公开的POSIX标准重新编写,是一种类Unix系统。在Linux被开发出来之后,他将自己的源代码公开,可以由各界人士来发展开发他。Linux与Unix之间最大的区别就是Linux是公开的,是开发源代码的

wjw208151131的博客 402

国产SR8201F以太网PHY芯片调试避坑指南:从机贴失败到杜邦线救场的实战记录

本文详细介绍了国产SR8201F以太网PHY芯片的调试避坑指南,涵盖硬件设计、PCB布局、SMT贴片及软件驱动等关键环节。通过实战案例解析,帮助工程师解决MII/RMII接口配置、电源设计、信号完整性等典型问题,提升以太网通信稳定性与EMC性能。

c6d7e8f9g的博客 1216

Unity UI Toolkit避坑指南:从官方Samples到实际项目,这些‘坑’我帮你踩过了

本文分享了Unity UI Toolkit在实际项目中的避坑经验和优化技巧,包括动画系统的高效替代方案、3D世界UI的创新实现方式、USS样式继承的反直觉规则等。通过详细的代码示例和性能优化策略,帮助开发者避免常见陷阱,提升开发效率。

weixin_29535577的博客 343

新手入门:浅谈Linux的文件系统

转自:http://h50237.www5.hp.com/PartnerPortal/Forum/Messages/ShowTopic.aspx?AID=2ebbdb9f-2615-4fc1-a0c9-3027d64ba8d8 新手入门:浅谈Linux的文件系统如果您是一位新手,也许 您还不知道如何把文件从Windows拷贝到Linux上吧?下面,我们将说明Unix文件系统以及mo

blueseasand的专栏 952

实测|龙虾机器人(OpenClaw)Windows系统部署全攻略(含避坑指南)

先简单科普下:龙虾机器人本质是一款开源AI代理框架,核心优势是“能行动、可本地、高灵活”——它不内置大模型,需要对接第三方AI接口(如GPT、Claude、阿里云百炼等),但能将AI的指令转化为实际的系统操作,相当于给AI配了一个“能动手的身体”,这也是它和普通对话大模型的核心区别。今天就结合自己的实测经历,从环境准备、分步部署、初始化配置,到常见问题排查,写一篇保姆级攻略,不管是新手还是有一定技术基础的同学,都能跟着一步步完成部署,少走弯路~解决方案:检查聊天软件插件是否安装成功,权限是否配置完整;

wohaiweifaju的博客 1万+

浅谈LINUX

初接触Linux系统,感觉很新奇,记录下一些东西。 Linux就是一套操作系统(Operation System),它有以下几个特色: 1.自由开放的使用和学习环境,因为Linux是基于GPL授权之下,所以它是自由软件free ,任何人可以自由使用或者修改其中的源码。 2.配备需求低廉,Linux可以支持个人计算机的X86架构,系统资源不必像早先的UNIX系统那般,仅适合与 单一公司所出产的

a923751813的博客 718

USB3.0 Type-B连接器SSTX/SSRX信号定义常见错误与硬件设计避坑指南

本文详细解析了USB3.0 Type-B连接器中SSTX/SSRX信号的定义标准与常见设计错误。针对连接器厂商图纸可能出现的信号标识错误,提供了实用的排查方法和硬件设计避坑指南,帮助工程师避免因引脚定义颠倒导致的通信降级或故障,确保USB3.0高速传输的稳定性。

gg901的博客 1266

在 LangGraph 中集成 Skills 增强智能体能力

LangGraph 的核心是通过**状态机 + 节点(Node) + 工具(Tool)**来编排智能体流程,你可以把 Skills 理解为“封装好的工具或可复用的任务流”,下面是一套可落地的集成方案。

lpfasd123的博客 1179

浅谈Linux操作系统

Linux是什么?与Windows有何区别? Linux是一套免费使用和自由传播的类 Unix 操作系统。Linux是开源的,它遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。由于 Linux 是自由软件,所以任何人都可以创建一个符合自己需求的 Linux 发行版。 目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要原因如下: 区别 Window..

Growing up Or Growing old 1270

高熵合金AlCoCrFeNi/金刚石摩擦案例代码

本文介绍金刚石与高熵合金AlCoCrFeNi摩擦的案例。 在之前的文章中,介绍过使用fix indent命令实现虚拟球的摩擦,本文介绍使用金刚石实体球实现高熵合金摩擦的方法。 主要的模拟过程如下: (1)基体建模 建使用原子替换法获得高熵合金初始模型,升温到3000K驰豫后,冷却至300K,获得平衡组织。 (2)摩擦球建模 在高熵合金平衡组织的模型中添加金刚石摩擦球,使用change_box命令扩大box尺寸,添加金刚石摩擦球,并设置混合力场。 (3)摩擦过程 摩擦球下压一定深度后,沿y方向进行摩擦,摩擦

lammps_jiayou的博客 2900

Linux文件系统

Tencent问了什么? Linux系统如何支持多种文件系统? Linux系统启动时,首先挂载根文件系统,之后可以自动或手动挂载其他的文件系统,这些文件系统要挂载到挂载点上,与虚拟文件系统(Virtual File System)和通用块设备层(General Block Device Layer)建立联系。因此,一个系统中可以同时存在不同的文件系统。 什么是挂载点,挂载点的作用是? ...

Hello World 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux文件系统详解

从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.chinabyte.com/os/142...

github_37882837的博客 9万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

linux文件系统

,缩短 GNU/Linux 的开机时间。无论最下层的文件系统是什么,我们最上层的用户端尽管使用系统调用接口(open、write、read等)或glibc接口(fopen、fwrite、fread等)来操作就可访问文件系统里的文件,使得一切都是文件成为可能。/sys文件系统基本上包含了系统中所有设备的所有信息,比如制造商和型号、设备插入的位置、设备的状态、设备的层次结构等等。在我们嵌入式Linux中,NFS的主要应用如:把主机的上文件(比如目标板的可执行文件)共享给目标板,这样目标板就很方便地运行程序。

123 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux文件系统有哪些

Linux文件系统有哪些 1、Linux 文件系统简介 操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类肯定不能直接看懂这些二进制数据,要有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的就是实现数据的查询和存储,由于使用场合、使用环境的不同,Linux 有多种文件系统,不同的文件系统支持不同的体系。文件系统是管理数据的,而可以存储数据的物理设备有硬盘、U 盘、SD 卡、NAND FLASH、NOR FLASH、网络存储设备等。不同的存储设

HX_CODER 1万+

【Linux】文件系统、文件系统结构、虚拟文件系统

一、文件系统概述一、文件系统概述文件系统(File System)是一种用于在计算机存储设备上组织和管理文件和数据的方式。它提供了一种结构化的方法,使得计算机可以有效地存储、检索和管理文件。文件系统通过文件和目录的组织结构来管理数据。文件表示存储在设备上的数据单元,而目录用于组织和存储文件。文件系统定义了文件的命名规则,这包括文件名的长度、允许使用的字符类型等。文件名通常用于唯一标识文件。文件系统负责将文件存储在物理存储设备(如硬盘、固态硬盘、光盘等)上,并提供检索文件的机制。

咖喱年糕的博客 4025

Linux 文件系统

Linux 中的文件是一个任意长度的字节序列,Linux 中的文件可以包含任意信息,比如 ASCII 码、二进制文件和其他类型的文件是不加区分的。为了方便起见,文件可以被组织在一个目录中,目录存储成文件的形式在很大程度上可以作为文件处理。目录可以有子目录,这样形成有层次的文件系统,Linux 系统下面的根目录是 / ,它通常包含了多个子目录。字符 / 还用于对目录名进行区分,例如 /usr/cxuan 表示的就是根目录下面的 usr 目录,其中有一个叫做 cxuan 的子目录。下面我们介绍一下 Linux

qq_38276357的博客 5724

linux根文件系统的分类,Linux中文件系统分类方法

Linux一个重要的哲学是:一切皆文件。而文件与文件系统是密切相关的,本篇笔记我们来一起学习、理清那些令我们眼花缭乱的文件系统。文件系统粗略的分类:下面依次进行介绍:根文件系统根文件系统(rootfs)是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。根文件系统的根目录...

weixin_42099151的博客 3605

linux之文件系统

Linux 文件系统通过 VFS 实现了“统一接口、多类型支持”,其底层依赖超级块、inode、数据块、目录项构建存储结构,通过挂载机制关联设备与目录树。理解这些核心概念和操作,不仅能帮助日常管理(如挂载设备、检查修复),还能根据场景选择最优文件系统,提升系统性能和数据可靠性。

u010632343的博客 1550

linux中什么是文件系统,什么是Linux文件系统 Linux文件系统的基本概念

在 Linux 中,最直观、最可见的部分就是 文件系统(file system)。下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及文件系统实现背后的原理和思想。这些思想中有一些来源于 MULTICS,现在已经被 Windows 等其他操作系统使用。Linux 的设计理念就是 小的就是好的(Small is Beautiful)。虽然 Linux 只是使用了最简单的机制和少量的...

weixin_35547906的博客 2912

Linux文件系统概览

Linux文件系统知识梳理。

byte轻骑兵的技术小窝 1952

Linux 【fs】文件系统

文件系统:File System:管理文件的一套系统:是一种用于管理、存储、组织和检索计算机系统中数据的方法。它定义了如何在磁盘或其他存储设备上组织数据,使得数据可以被有效地存储、访问和修改。文件系统通过将数据存储为文件并将文件组织到目录(也称为文件夹)中来实现这一点。此外,文件系统还处理元数据,例如文件的创建时间、大小和权限,以及为数据分配磁盘空间。

qq_43606536的博客 1610
上一篇: Linux与Windows XX的总体比较
下一篇: Linux必学60个命令文件处理(转自:CU)
metasearch
博客等级 码龄21年 158粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值