嵌入式技术
一、Linux文件系统简介
任何一个操作系统中,文件管理是其基本功能之一,而文件的管理是由文件系统来完成的。 文件系统主要用于组织和管理计算机存储设备上的大量文件, 并提供用户交互接口。
数据在硬盘上是二进制的,文件系统可以将这些二进制数据还原为相应文件形式,并实现数据的查询和存储等。 存储数据的物理设备有硬盘、U盘、SD卡、Flash、网络存储设备等。 不同的存储设备有不同的物理结构,因此就需要不同的文件系统去管理,比如管理Nand Flash使用Yaffs文件系统,管理硬盘/SD卡使用ext文件系统等。
Linux支持的文件系统格式很多,主要分为以下几类:
二、Linux磁盘文件系统
接下来主要介绍磁盘文件系统。 目前Ext4(Extended File sytem,扩展文件系统)是广泛使用的一种磁盘文件系统格式。 是在Ext3基础上发展起来的,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进,其特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。
磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写,主要分为以下几类:
Linux中硬盘以及分区等设备均表示为文件,其命名规则如下:
下面是一些具体的命名实例:
/dev/hda #表示第一个IDE硬盘
/dev/hda1 #表示第一块IDE硬盘的第一个主分区
/dev/hda2 #表示第一块IDE硬盘的扩展分区(或第二个主分区)
/dev/hda5 #表示第一块IDE硬盘的第一个逻辑分区
/dev/hda8 #表示第一块IDE硬盘的第四个逻辑分区
/dev/hdb #表示第二个IDE硬盘
/dev/sda #表示第一个SCSI硬盘
/dev/sda1 #表示第一个SCSI硬盘的第一个主分区
/dev/sdd3 #表示第四个SCSI硬盘的第三个主分区
为了便于管理和使用,通常会对磁盘进行分区:
下图中的分区方案为:2个主分区 + 1个扩展分区,其中扩展分区又分割出了2个逻辑分区
交换分区(swap):安装系统时建立的,一块特殊的硬盘空间,当实际内存不够用时,操作系统会从内存中取出部分暂时不用的数据,放在swap中,为当前程序腾出足够的内存空间。 swap不会使用到目录树的挂载,无需指定挂载点(即cd无法进入)。
三、Linux文件系统结构
Linux采用载入/挂载的方式将分区与目录联系起来,通过访问目录就可以访问分区的存储空间。 挂载点就是硬盘分区挂载到文件系统的某目录后,该目录就是相应分区的挂载点。
在挂载点创建的文件,实际上是存储到硬盘的分区上,通过挂载点可以访问分区上的文件,若将硬盘分区与目录的挂载关系删除,分区上的文件不会被删除,只是原挂载点不能访问到分区上的文件。
除了swap分区外,其他分区都是在根分区(/)目录上操作的。 Linux文件系统是一个树形的分层组织结构,根作为整个文件系统的惟一起点,其他所有目录都从该点出发,如下图:
由于Linux是完全开源的软件,因此众多Linux发行版本的目录结构不尽相同。 为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS),Ubuntu系统也遵循该标准。
四、文件系统与磁盘管理相关命令
文件系统与磁盘管理相关命令非常多,下面仅对几个较常用的命令做简单介绍
df命令:disk free,用于列出文件系统的整体磁盘使用量,命令的格式为:
df [-a -h -i -k -H -T -m] [目录或文件名]
不加参数使用时,默认会将系统内所有的(特殊内存与swap除外)都以Kbytes容量列出来。 常用的选项如下示:
du命令:disk used,用于查看文件和目录磁盘使用空间的,命令的格式为:
du [-a -h -s -k -m] 文件或目录名称
不加参数使用时,默认会分析当前所在目录里的子目录所占用的硬盘空间。 常用的选项如下示:
fdisk命令:磁盘分区表操作工具,命令的格式为:
fdisk [-l] 装置名称
常用的选项如下示:
file命令:用于辨识文件类型,命令的格式为:
file [-b -c -L -v -z][-f <名称文件>][文件或目录...]
常用的选项如下示:
mkdir命令:make directory的缩写,用于创建目录,命令的格式为:
mkdir [-p] dirName
常用的选项如下示:
ln命令:link files,为某一个文件在另外一个位置建立一个同步的链接。 命令的格式为:
ln [参数][源文件或目录][目标文件或目录]
常用的选项如下示:
全部0条评论
快来发表一下你的评论吧 !