我身边的人多数人都是先用Windows,在用Linux的。因而学习Linux时,多数普通人也是对照着Windows来学的。不过听说天才不用对比,可惜,我不是(唉,天才到底是啥感觉啊
)。
所以区分Windows和Linux的不同,可以帮助我们这些普通人更好的学习Linux。作为初学者,我想
Linux的目录和分区是最让人迷惑的了,不过在鸟哥的帮助下,我似乎明白了一些,其体会如下:
1.Windows和Linux的区别1: 硬盘分区
在正常情况下使用Windows和Linux都要对硬盘进行分区,
当只有一块硬盘,且仅有三个分区时,情况如下:
Windows: C, D, E;
Linux: hda1, hda2, hda3;
(这是针对IDE硬盘的情况,hd想必是Hard drive的简称,至于a表示第一块磁盘,1表示第一个分区,2……,SCSI硬盘则为sda1,ada2,sda3,难道是scsi drive的缩写,:-D,更多请看各硬件在Linux中的名称)
当有两块硬盘,且每块硬盘各三个分区,则情况如下(臆测,呵呵):
Windows: C, D, E; F, G, H;
Linux: hda1, hda2, hda3; hdb1,hdb2, hdb3
区别1总结:
Windws在这一层上作了合适的抽象,使用户不必了解细节,仅知道有哪几块分区可用就好了。而在Linux下,用户仅通过分区名称就可以了解硬盘的具体信息,如该分区位于哪块硬盘、哪种类型的硬盘,习惯了也很方便
。
2.Windows和Linux的区别2: 目录
Windows:Windows下的目录和分区完全就是一回事(个人认为),不过没用过Linux的用户可能并不理解这一点,呵呵,因为从来就没有怀疑过。
Linux就大大不同了(以下部分我还不完全确定,也是臆测):Linux的目录是
抽象的,它和分区没有直接关系。
所以说在
Windows下目录C对应的是C分区,目录D对应的是D分区,目录……;
但不要指望Linux下
hda1目录对应的是
第一块硬盘的第一个分区(好像,也
不能完全这么说,但是我们通常告诉小学生“1-3”是错误的,呵呵,有助于理解)。
在Linux下目录和分区是这样的:
所以当你通过cd命令或双击等任何途径进入顶级目录时
(cd /),其实你对应的物理位置却为分区2-
hda2;进入
子目录A(
cd 子目录A),情况类似。呵呵,明白为啥我说Linux的目录是抽象的了吧。
区别2总结:
Windws在这一层上没有做任何抽象,目录就是分区,分区就是目录(至少表面看来是这样),所以用户在对硬盘分区时看到的效果和使用时看到的效果是一致的(个人认为即使在没有先入为主的情况下也比Linux好理解一点点)。
Linux在目录这一层作了些抽象,可以说是在目录和分区之间作了一个映射。据我所知,具体通过两种方式:(1)安装时,选择的挂载点;(2)安装后的mount命令。
这一点着实让本人痛苦了很长一段时间(没办法,笨啊
)。至于这样做的好处呢,我还要在参详一下,呵呵,不过显而易见的是Linux可以很随意的扩大任意一个目录(文件夹)。
另外
Linux下的目录逻辑上是树形结构的(这点感觉设计不错),其顶级目录的名称就是“/”(不知道能不能改),相当相当有歧义吧。
所以你打开“子目录1”应该输入 :
cd //子目录1
其中第一个“/”表示根目录“/”,第二个“/”应该是路径分隔符吧(晕,学名不知道),但通常我们都简写为:
cd /子目录1 #效果同上
好,最后让我们利用区别2来解释一个困扰俺很久的疑惑:
“**哥,这Linux太不中了吧,你看在Windows下我都把movie放到E盘下,这样重装系统不影响E盘下的内容啊,可Linux咋整啊?”
造成这种问题的原因是:我认为Linux的目录结构和分区结构是一致的,而实际上你完全可以把电影放到一个分区下,并挂载(映射)到某个目录下
(根目录"/",还是"子目录*"任你选),如上图所示。在这里,系统在分区2-
hda2中,而电影在分区3-
hda3中,呵呵,这样你也不用担心的的电影出什么意外了,而且只要你愿意,随时都可以在movie目录下换上n
T的硬盘(分区)来放电影。
学习中的总结,估计纰漏不少。
参考文献:
http://sunfish.blog.51cto.com/417500/145521