没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux 和Windows的文件系统有些不同
Linux 和Windows的文件系统有些不同

Linux 和Windows的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习。 本文先对Windows和 Linux 上面文件系统原理、组织概念进行区分,并给出例子、列举两者的优缺点以具体说明,最后较为详细地介绍了 Linux 系统的目录结构。
资源详情
资源评论
资源推荐

Windows 和 Linux 文件系统
下面将介绍启动 和 后,在文件系统的角度上,它们分别是怎样看待
自己世界的。
访问原理
在 系统中, 一切东西都是存放在硬盘上的。启动系统后,先确定硬盘,再
确定硬盘上的分区以及每个分区所对应文件系统,最后是存放在某个分区特定的文件系统
中的文件。 也就是说, 是通过 “某个硬盘-硬盘上的某个分区-分区上的特定文件
系统-特定文件系统中的文件” 这样的顺序来访问到一个文件的。
但是与 不同系统中的一切都是存放在唯一的 虚拟文件系统中的,
这个 虚拟文件系统是树状的结构以一个根目录开始。启动系统后,先有这个 虚拟文件系
统,再识别出各个硬盘, 再把某个硬盘的某个分区挂载到这个 虚拟文件系统的某个子树
上(即分区用某个子目录来表示),再确定分区对应的子目录文件系统,最后的文件就存
放在这个特定的文件系统中。 也就是说, 系统是通过 “虚拟文件系统-硬盘-硬盘上
的分区-分区上的特定文件系统-特定文件系统中的文件” 这样的顺序来访问一个文件的。
可能对习惯了使用 的用户来说, 的方式有些不适应,它的 虚拟文件
系统,实质就是一颗目录树,最开始的目录叫做根目录,根目录中又有每一级子目录,或
者文件,子目录又有子子目录和文件,其中每个子目录都特定的功能这个功能(这些是约
定俗成了的,在后面 常用的重要目录 中会详细说明)。
也许有人会问,没有这个虚拟文件系统就无法使用硬盘,可是最开始没有硬盘,那么
这个 虚拟文件系统以及相应的组织结构是怎么存放起来的呢?这个问题,就像先有鸡还是
先有蛋这个问题一样看似简单实则……但是,在 中,很轻易地跳出了这个思维循环,
问题的答案并没在 虚拟文件系统 和 硬盘 这两者之间徘徊,而是第三者—— 内存 ,
系统启动起来之后,整个 虚拟文件系统的组织结构,都是随着每次内核系统的启动自动在
内存中建立好了的,根本就不需要硬盘。
另外还要注意,就是在我们用户的角度上,无论在 还是 上面,都是
使用路径来访问一个文件的。表示文件的路径由 “文件所在的目录+各级目录的分隔符+文
件” 三个部分组成,这个策略在两者之间是一样的,所不同的是, 下面目录分隔
符是 , 下面是 ,也许这也是两者之间为了表示其各自立场不同的一个原因吧?
系统组织
在 系统中,我们可以把文件大体分为两种: 系统文件和用户文件 。一般来
说系统文件(例如 操作系统本身,一些系统程序,程序运行所需的库文件,以
及一些系统配置文件等)存放的默认位置在 盘,当然也可以在安装时候指定在其他盘;
其它用户文件,包含用户后来安装的程序以及一些数据文件等,用户可以把它们随意存放
在任意的分区。

在 系统中,主要有两个概念: 虚拟文件系统中的文件和 操作系统内核
本身。逻辑上可以认为前者属于上层,后者在下层,前者基于后者,后者依赖前者而存在。
把除了它本身( 操作系统内核 )以外的一切事物都看作是在 虚拟文件系统
中的文件了。无论是键盘,鼠标,数据,程序,,内存,网卡……无论是硬件、软件、
数据还是内存中的东西,我们都可以在 虚拟文件系统中的相应子目录对他们进行访问和操
作,操作统一。而实现这些管理的幕后就是 操作系统内核 本身:启动 系统
的时候,首先电脑把 操作系统内核 加载到内存中,内核本身提供了文件管理,设备
管理,内存管理, 进程调度管理,网络管理等功能,等内核运行起来之后,就在内存
中建立起相应的 虚拟文件系统,最后就是内核利用它提供的那些功能,通过管理文件的方
式,来管理 虚拟文件系统中的硬件软件等各种资源了。
把提供操作系统本身功能(管理计算机软硬件资源)的那些部分划给了
操作系统内核 ,使得 操作系统内核 成为一个独立的部分,有它自己独立的开源代
码;而其它的一切(软件应用,硬件驱动,数据)都根据其特性有自己的开源代码、或者
自由地组织并且存放在那个 虚拟文件系统中由 操作系统内核 来管理。这样,将系
统本身和系统所管理的资源分开,并开放源代码,有助于对系统或者系统所管理的资源进
行灵活的定制和扩展,还能按需快速建立起只适合自己使用的操作系统,也利于操作系统
本身的发展。实际 , , !" 等各种不同的 操作系统发行版,
简单来说就是不同厂商对其文件系统和内核进行了不同的配置而产生的 “大众化” 的操作系
统。相比之下, 就显得非常地零乱复杂,将系统、软件、硬件、数据都混在了
一起,其不同版本只能由 #$一家公司发行。
举例说明
下面用直观的例子,来说明两者的不同,以加深理解。假设我们的机器上面有一个硬
盘,硬盘分为三个区。
在 系统中, 我们启动系统之后就会看到 %&盘符,它们分别对应硬盘
上的三个分区,增加硬盘,或者分区,会导致盘符的增加(注意由于历史原因, '(用
于表示软驱,硬盘分区盘符从 开始按字母递增),这里的每个分区都各自可以被格式化
为不同的文件系统(这里的文件系统,包括例如 )*格式, '*+格式等,文件系统
的基本功能就是为了存放文件的,不同文件系统区别一般在于管理其中存放的文件的功能
的强弱,所以分区被格式化成指定格式的文件系统之后,就可以存放任何文件和目录了,
我们看到的 %&内容也就对应了硬盘中相应分区的数据内容。
但是,与 中把硬盘分区看成 %&盘符不同, 中最开始根本就没
有硬盘的概念,就只有一个纯粹的 虚拟文件系统。如果想要使用哪个硬盘的某个分区,就
把那个分区 “挂载” 到某个子目录之下,这样硬盘中的分区,文件系统,目录等内容就呈现
到了那个子目录里面。也就是说,在 中,我们使用硬盘中的数据,实际是先把硬盘
的某个分区 “挂载” 到某个子目录下,然后通过那个子目录来访问的。这个例子中, 通常
硬盘会对应 虚拟文件系统中的, (如有多个硬盘,则为 , ,
--, 按字母递增)其三个分区对应 , , , +(多个分区按
数字递增,不同硬盘的分区,对应为 ,,等等)默认硬盘各个分区
会被挂载到 虚拟文件系统系统中类似 . . . +的目录(在
又叫挂载点)中,在$ 文件中,我们可以找到分区文件和挂载点的对应关

系描述。这样,硬盘相应的分区就做为整个 虚拟文件系统根目录下的一颗子树,反映到了
子目录(挂载点)上,子目录中的内容就对应分区中的数据。
假设访问上述硬盘第三个分区 目录中的文件 /0
Window 系统上的路径:E:\dir1\test.file
Linux 系统上的路径:/mnt/sda3/dir1/test.file
再有,假设用户安装和卸载一个程序 /$:
系统中
指定或不指定安装路径类似,程序的安装目录会在 12 .0$类似
的目录中,或指定的安装路径中; 可执行文件一般在程序的安装路径;依赖的内部库、
第三方库、和系统库可能在安装路径中,也可能在 13.+或 1
3.等类似的路径;而程序访问期间的系统和用户配置文件和产生的
输入输出文件,可能会在安装路径配置中,或者在 1下的某些文件中
(比如注册表数据库文件、用户目录等),这就不一定了。而且不同的系统版本,应
用程序版本下,这些目录的具体名称和路径可能会有所不同。卸载的时候由于不确定
哪些地方安装了什么内容,很容易造成文件删除补全,遗留系统垃圾等现象,造成系
统越来越瘫肿。
系统中
如果不指定安装路径,所有程序的可执行文件在 中, 全局配置文件在
/$类似的目录, 用户配置文件一般在用户主目录的 /$的路径下用
户主目录路径名称统一格式为 4.5 .6,依赖的内部库和第三方库在
0系统库在 0下, 数据文件一般就在用户主目录下。 如果指定安装目录,
那么所有内部库和可执行程序,全局配置文件,会在 5安装路径6下的 0
子目录下,其它文件一般和默认情况相同。卸载程序之时,只需在对应目录中,将可
执行文件、内部库、配置文件、数据文件删除即可,基本没有不确定是否遗留垃圾文
件的问题。这些都是大多数应用程序安装的和访问的默认策略,就像是不成文的业界
标准,不排除有个别程序不安装这种策略部署应用,但是 用户带来 “麻烦“ 的
应用,早晚也会被淘汰,不可能会流行在 系统中,这样,自然的,好的应用都
保存在 系统中并逐渐流行起来,还不会破坏系统结构。

可见, 文件的存放和组织明显方式更高效,层次更分明。
优缺点
基于上述内容, 和 文件系统的各有优缺点分别如下。
系统优点
优点主要是用户存放东西的位置比较自由,系统结构简单便于新用户上手。
系统缺点
缺点较多主要有:
目录组织缺乏标准
由于对“系统文件”和“用户文件”存放位置缺乏细致的规定,数据组织的方式显得
比较凌乱,并且两种文件之间很容易相互干扰(例如数据文件可能存放在系统区
域给系统带来垃圾文件等)。
用户的使用经验对系统的使用效率影响很大
一般来说,我们使用 时候合理使用分区会提升的系统效率。例如根据
需要设置合理的系统分区(假设为 分区),尽量少往 盘存放数据文件,根
据具体情况可以将一些 “重要并且常用的” 程序安装在 分区,随时保持系统目
录的清洁和大小助于提升系统的运行速度,用户安装的一般软件尽量不要安装在
盘,安装软件时候指定的位置最好采用默认标准目录名称(例如 712 .
0目录,这里 7表示盘符而不要自己定义一些奇怪名字的目录,这样便于软
件的维护等等。
共享不便

上有经验的用户们会将自己的目录结构组织好,但是每个用户组织自
己内容的方式是不一样的,所以他的机器上哪里存放了什么内容,别人很难知道,
为共享带来了麻烦。
系统缺点
最开始 虚拟文件系统中的每个子目录的功能是事先规定好了的,我们需要事先知道那
些目录存放哪些文件,然后在相应的位置中创建自己的内容,这也是 系统入门
门槛高的一个原因。当然,最开始的新手,也完全可以无视这一点,可以像
那样随意地创建目录和文件(尽管不推荐这么做)。
实际上最开始的目录也不多,主要就那么几个,花不了多长时间就会明白它们的作用
的,而明白这些作用之后带来的好处,远不止付出那么多(本文后面 常用的重要目录
会着重对此进行介绍)。
系统优点
这里只说几个优点:
目录结构反映系统运行机理
当我们了解了这些目录的功能之后,我们对整个 操作系统的运行机理也
会有一个大致的了解。
结构清晰避免逻辑混乱
这样的目录结构,有助于我们以一种高效的方式组织自己的数据,分类清晰并且
不会对系统运行有任何影响,规定了最开始每个目录的功能,并没有限制我们的
剩余20页未读,继续阅读




安全验证
文档复制为VIP权益,开通VIP直接复制

评论1