Linux _ 文件系统的类型和结构
一、Linux文件系统的类型概念
再任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具有完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。
分类
linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分为下几类:
磁盘文件系统 | 网络文件系统 | 专有/虚拟文件系统 |
---|---|---|
指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、usb存储器、磁盘阵列等。常见的文件系统格式有:autofs、coda、Ext(扩展文件系统)、Ext3、Ext4、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File Sysetm,Unix文件系统)、FAT、FAT16、、FAT32、NTFS等。 | 是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS、Samba等。 | 不驻留在磁盘上的系统,留在内存上的文件。常见的格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(loopback File System :回收文件系统)。 |
目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容等方面做了改进。
最大特点是日志文件系统
:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要的时候 回溯追踪。
SCSI与IDE设备命令
sata硬盘的设备名称是“/dev/sda” ------ 字母与数字相结合
— /dev/sda1 含义? -------- “sd”表示 SCSI或SATA硬盘 “a”表示第一个SCSI或SATA硬盘,数字表示这块硬盘的第几个分区
— /dev/sdb3 含义? -------- “sd”表示 SCSI或SATA硬盘 “b”表示第二个SCSI或SATA硬盘
IDE硬盘的设备名称是“/dev/hda”
— /dev/hdc2 含义? -------- “hd”表示 IDE硬盘,“c”表示第一个IDE硬盘。数字表示这块硬盘的第几个分区。
如果很在意系统的高性能和稳定性,应该使用SCSI硬盘。
cat /proc/partitions ---------- df -T
交换分区
将内存中的内容写入硬盘或从硬盘中读出,称为 内存交换(swapping)。
交换分区 最小 必须等于计算机的内存。
可以创建多余一个的交换分区。
尽量把交换分区放在硬盘驱动器的起始位置。
二、Linux文件系统的结构
文件系统逻辑结构
一直都用微软Windows操作系统的用户是乎已近习惯了将硬盘上的几个分区并用A:、B:、C:等符号标识。存取文件时一定要清除存放在哪个磁盘的哪个目录下。
==Linux的文件组织模式犹如一棵倒置的树,这与Windows文件系统有很大差别。==所有存储设备作为这棵树的一个子目录。存取文件时只需要确定目录就可以了,无需考虑物理储出位置。
文件系统结构
分区与目录的关系:
Windows | Linux |
---|---|
目录结构属于分区 | 分区属于目录 |
如何知道文件储存的具体硬件位置呢?
— 在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。为了能够按照统一的方式访问文件资源,Linux中提供了对每种硬件设备相应的设备文件。一旦Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树中的一个子目录中。
— 例如,用户插入USB移动存储器,Ubuntu Linux自动识别后,将其挂载到“/media/disk”目录下。而不是像Windows系统将识别到的USB移动设备作为新驱动器,表示为“F:”盘。
Linux文件系统就是一个树形的分层组织结构。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该起点出发。将Linux的全部文件按照一定的用途归类,合理地挂载到这颗“大树”上的“树枝”或者“树叶”上。
基本目录
由于Linux是完全开源的软件,各Linux发行机构都可以按照自己的需求对文件系统进行裁剪,所以如此众多的Linux发行版本的目录结构不仅相同。为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS,Files Hierarchy Standard),2004年发行版本FHS 2.3 。
Ubuntu Linux 系统同样也遵循这个标准。
绝对路径&相对路径
— 在认识到Linux文件系统时树形分层的组织结构,且只有一个根节点之后。在Linux文件系统中查找一个文件,只要确定文件和路径,就可以唯一确定这个文件,例如: “/usr/game/gnect”
— 绝对路径:指文件在文件系统中的准确位置。通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路劲。
— 相对路径:只想对于用户当前位置的一个文件或目录的位置。例如,用户处在目录/usr目录中时,只需要"games/gnect"就可确定这个文件。
Linux文件系统与Windows文件系统的对比