Linux 文件系统类型 文件系统结构 与Windows文件系统的比较

摘自:http://blog.csdn.net/gelivable007/article/details/7249365

Linux 文件系统类型

磁盘文件系统。
包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(New Technology File System)等。

网络文件系统。
是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS(Network File System,网络文件系统)、Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等。

专有/虚拟文件系统。
不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。

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

FAT16、FAT32、NTFS是Windows NT、Windows 2000、Windows XP系统主要的文件系统格式。Linux系统同样可以很好的支持这些文件系统格式。不过,以往版本的Linux系统需要单独挂载Windows文件系统,而Ubuntu Linux可以自动识别这些文件格式,以只读方式访问计算机磁盘中Windows系统上的文件。

/////////////////////////////////////////////////////////////////////////
文件系统结构
Linux文件系统就是一个树形的分层组织结构,根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。Linux的全部文件按照一定的用途归类,合理地挂载到这棵“大树”的“树枝”或“树叶”上,如图7.1所示,而这些全不用考虑文件的实际存储位置是在硬盘上,还是在CD-ROM或USB存储器中,甚至是在某一网络终端里。
在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。为了能够按照统一的方式和方法访问文件资源,Linux提供了每种硬件设备相应的设备文件。一旦Linux系统可以访问到某种硬件,就将该硬件上的文件系统挂载到目录树中的一个子目录中。例如,用户插入USB移动存储器,Ubuntu Linux自动识别USB存储器后,将其挂载到“/media/disk”目录下,而不像Windows系统将USB存储器作为新驱动器,表示为“F:”盘。

绝对路径和相对路径

Linux文件系统是树形分层的组织结构,且只有一个根节点,在Linux文件系统中查找一个文件,只要知道文件名和路径,就可以惟一确定这个文件。例如“/usr/games/gnect”就是位于“/usr/ games/”路径下的4子连线游戏应用程序文件,其中第一个“/”表示根目录。这样就可以对每个文件进行准确的定位,并由此引出两个概念:
q  绝对路径。指文件在文件系统中的准确位置,通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路径。
q相对路径。指相对于用户当前位置的一个文件或目录的位置。例如用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。

Ubuntu Linux系统是严格区分大小写的,这意味着文件和目录名的大小写是有区别的。例如File.txt、FILE.TXT和file.txt文件是3个完全不同的文件。通常按照惯例,Linux系统大多使用小写。其次,Linux系统中文件类型与文件后缀没有直接关系。这一点与Windows不同,例如Windows将“.txt”作为文本文件的后缀,应用程序依此判断是否可以处理该类型文件。

Ubuntu Linux基本目录   文件层次结构标准(FHS,File Hierarchy Standard)
目  录  名
描    述
/
Linux文件系统根目录
/bin
存放系统中最常用的可执行文件(二进制)
/boot
存放Linux内核和系统启动文件,包括Grub、lilo启动器程序
/dev
存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等
/etc
存放系统的所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等
/home
用户主目录的默认位置
/initrd
存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录
/lib
存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
/lost+found
存放由fsck放置的零散文件
/media
Ubuntu系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件
/mnt
该目录通常用于作为被挂载的文件系统的挂载点
/opt
作为可选文件和程序的存放目录,主要被第3方开发者用来简易地安装和卸装他们的软件包
/proc
存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识,例如cpuinfo文件存放CPU当前工作状态的数据
/root
根用户(超级用户)的主目录
/sbin
存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件
/srv
存放系统所提供的服务数据
/sys
该目录用于将系统设备组织或层次结构,并向用户程序提供详细的内核数据信息
/tmp
存放用户和程序的临时文件,所有用户对该目录都有读写权限
/usr
用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。以下是/usr中部分重要的目录

/usr/X11R6:
X Window系统

/usr/bin
用户和管理员的标准命令

/usr/include
C/C++等各种开发语言环境的标准include文件

/usr/lib
应用程序及程序包的连接库

/usr/local
系统管理员安装的应用程序目录

/usr/local/share
系统管理员安装的共享文件

/usr/sbin
用户和管理员的标准命令

/usr/share
存放使用手册等共享文件的目录

/usr/share/dict
存放词表的目录

/usr/share/man
系统使用手册

/usr/share/misc
一般数据

/usr/share/sgml
SGML数据
续表
目  录  名
描    述
/usr
/usr/share/xml
XML数据
/var
通常用于存放长度可变的文件,例如日志文件和打印机文件。以下是/var中部分重要的目录

/var/cache
应用程序缓存目录

/var/crash
系统错误信息

/var/games
游戏数据

/var/lib
各种状态数据

/var/lock
文件锁定记录

/var/log
日志记录

/var/mail
电子邮件

/var/opt
/opt目录的变量数据

/var/run
进程的标示数据

/var/spool
存放电子邮件,打印任务等的队列目录。

/var/tmp
临时文件目录



比较项目
Linux文件系统
Windows文件系统
文件格式
使用的主要文件格式有EXT2、EXT3、RerserFS、ISO9660、vfat等
使用的主要文件格式有FAT16、FAT32、NTFS等
存储结构
逻辑结构犹如一棵倒置的树。将每个硬件设备视为一个文件,置于树形的文件系统层次结构中。因此,Linux系统的某一个文件就可能占有一块硬盘,甚至是远端设备,用户访问时非常自然
逻辑结构犹如多棵树(森林)。将硬盘划分为若个分区,与存储设备一起(例如CD-ROM、USB存储器等),使用驱动器盘符标识,例如A:代表软驱、C:代表硬盘中的第一个分区等
文件命名
Linux文件系统中严格区分大小写,MyFile.txt与myfile.txt指不同的文件。区分文件类型不依赖于文件后缀,可以使用程序file命令判断文件类型
Windows文件系统中不区分大小写,MyFile.txt与myfile.txt是指同一个文件。使用文件后缀来标识文件类型,例如使用“.txt”表示文本文件
路径分隔符
Linux使用斜杠“/”分隔目录名,例如“/home/usr/ share”,其中第一个斜杠是根目录(/),绝对路径都是以根目录作为起点
Windows使用反斜杠“”分隔目录名,例如“C:programusername”,绝对路径都是以驱动器盘符作为起点
文件与目录权限
Linux最初的定位是多用户的操作系统,因而有完善文件授权机制,所有的文件和目录都有相应的访问权限
Windows最初的定位是单用户的操作系统,内建系统时没有文件权限的概念,后期的Windows逐渐增加了这方面的功能

原文地址:https://www.cnblogs.com/zhuwenlubin/p/5130635.html