转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
有趣的linux入门文章         ★★★★

有趣的linux入门文章

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1514 更新时间:2009/4/22 20:45:23
你从来只用过Windows,从来没接触过UNIX,只知道把一个文件拽
来拽去,只知道硬盘就是C: D: E:却从来没有研究过分区表,也许
会用VC编个程序,很习惯它的集成环境....

有一天,不管什么原因了,也许是看报纸上那些把内存和硬盘都分不
清楚的记者的吹嘘,或者是老板要求你用它作个项目,或者是同学
们都有了你没有觉得很土,或者你听说找工作有这个的经验就有更大
希望....不管怎样,你想在自己的机器上安装一个Linux。OK,这个
文章就是给你写的,因为从现在开始,你会有成堆的问题你会觉得从前
在windows那里得来的有关计算机的经验好像完全用不上。你会觉得
“Linux怎么这样麻烦”。你会有种从来没有开过汽车但是得
把汽车拆开修理一样觉得无处下手。OK,这个文章就是为你写的。

为什么要学Linux。其实你不必学习Linux,如果你就是想使用计算机
让它使你的工作,比如打字,排版,统计数据等更有效率,Linux不
行。Windows,或者我推荐windows 2000是你最好的选择,它对中文
的支持很好,非常稳定,上面有无数应用程序,而且如果你自己承担
风险,还可以使用盗版,免费。Linux将会给你造成很多麻烦,安装时
会造成系统数据丢失,无法驱动网卡/声卡/显示卡/显示器,无法配置
中文,图形界面速度慢,等等。从前在windows上很容易做到的比如
修改显示频率或者安装新的网卡驱动在Linux下都变得好像要你自己重
新上一次大一计算机原理课那么讨厌。呵呵,那Linux有什么好处呢?
你会问。其实Linux没什么好处,从使用角度,它唯一的好处是它是
我们自己的,而windows再好,是Microsoft的。“又能怎么样?”
你也许又问。区别是,Linux可以让你来研究它,通过使用Linux你可以
获得更深一步对计算机的了解 -- 而不只是一个全自动的盒子。计算机
是一个很神奇的东西,你也许对那些写出windows的程序员很崇拜(我
是的),或者对那些能发明更好的算法更安全的操作系统的hacker(对不
起,远程攻击系统的不是hacker)很崇拜,那么你应当知道,坐在一个
windows的机器前面整天就会用鼠标拖拽也许能给你一个很好的打字员
的薪水,但是永远无法让你进入真正计算机的世界 -- 成为一个自由
思想的Hacker,或者说,你只能永远是个windows的用户 -- 也没什么
不好,很多领导还不会计算机呢 -- 而不可能有机会自己写一个windows。
一个不太妙的结果是,当世界上充满了windows的奴隶时,我们就得花
更大的价钱从Microsoft那里获得这样的技术,某些社会里,我们管这个
叫做剥削。

讲这么多,无非是说,萝卜不能两头切,至少现在是这样。要想什么
别人都给你做好,系统安装一路回车,硬件配置点两下鼠标,对不起,
请用windows 2000。如果你准备好了这一切,那么接着看吧。
--

OK,你的第一个问题是:什么是Linux,它和UNIX有什么区别?
问这个问题的原因呢,多半是你还在大一的时候一次去实验室,看到
高年纪学生在一个特大屏幕的机器上作题,你羡慕的看着他,问:
“这是什么计算机啊,这么高级?”而他不无骄傲的说,“这是
UNIX”。后来你懂的多了,知道那是SUN工作站,上面运行着Solaris,
就是UNIX。现在你又听说Linux也是UNIX,是怎么回事呢?

short answer:去看书,街上很多Linux的书第一章就是讲他们的历史
和亲属关系的。

long answer: UNIX是一个20还是30年前由几个研究生在实验室里开始
后来一个大公司把它商业化了的一个操作系统。一来二去,它成长
并且占领了市场。当时它只是运行在只有大学才买得起一两台的昂贵
机器上。后来机器多了,公司多了,懂得人也多了,就分家了,而
“UNIX”这个名字由于法律关系,谁也不能说自己的操作系统是“UNIX”
而只能说是“UNIX兼容”系统了。所以现在“UNIX”系统是不存在的,
存在的只是一个遥远的传说。那么现在那些Solaris,AIX,IRIS都是什么呢?
那些都是各公司在他们硬件平提上作的商业UNIX,这些系统都遵循一个
叫POSIX的古怪标准,对了,这个标准呢,是后来UNIX太多太乱,大家编程
接口甚至命令都不一样了所以没办法座下来商量的一个协议。

那么Linux是什么呢?Linux是基于PC(其它平台也有的支持)的UNIX兼容
系统,在跟UNIX的关系上,它不比任何其它UNIX兼容系统远。所以如果
你有“Solaris才是正统UNIX,Linux只是兼容”的想法,对不起你错了,
起码你得把支持AIX的人打败才行,他们还认为AIX才是正统UNIX呢。
所以用Linux你可以学到有关UNIX的知识,这些知识绝大部分在其它商业
UNIX上可以用得上。当然,其核心思想绝对是相同的。那么在三年前只有
你的读博士的辅导员才有机会在实验室那台宝贝SUN上学的知识,你现在在
PC机上就可以实践了,这难道不是很妙的一件事情么?


第二个问题:我想装一个Linux,最新的是哪个版本,我听说过xxxlinux,yyylinux,
还有国内某个公司鼎力推出的zzzlinux,到底哪个更好呢?

首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件,
只有一个包装。Linux是可以任意包装自由配置的东西。任何一个人,一家公司
都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些
Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。区别
是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置,
各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。总之
没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到。
所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志
得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了,
或者网络哭天跄地也配不出来的时候,就晚了。不是开玩笑,我知道windows下
安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜
是不希奇的 -- 当然,我觉得这是值得的。


所以,面对那么多Linux distribution,你应当选择哪个呢?

比较著名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由于RedHat公司已经上市,获得了很多
商业的支持,所以它在硬件软件兼容性上很好。实际上它已经是Linux的
工业标准。想象一下如果你是一个比如Oracle这样厂商的老板,你需要为
Linux开发一个版本,而不同的Linux dist需要单独开发维护,为成本考虑你
自然会只认准一个Linux。

Slackware(7.1)。很早就有的Linux,有很多老的忠实用户,但现在越来越不行了。

SuSe Linux,德国人做的,在欧洲很流行,有一些驱动上的优势。

另外还有Debian,CorelLinux等dist,不一一介绍了。

还有你会看到国内媒体上吹捧的各种“中文Linux”,他们的优势主要是有
中文处理。但是如前一篇文章提到的,想用中文,用windows 2000最好。实际上
我觉得一个老7字班的前辈跟我说的一句话很好:“(对我们来说)在计算机上看到
中文本身就是一件很古怪的事情”。如果你是抱着学习计算机的目的而来,那么
你不可能避免阅读英文文档。即使是microsoft的文档,有关编程的文档,最新的也
全是英文。当然,要上BBS,看中文网页等,用英文的dist一样能做到。


作为我个人(个人观点,你不必相信我),我只用RedHat,因为我需要它作为一个
操作系统能让我更快的掌握并且学习我想学习的知识,而不是跟愚蠢的网卡,声卡
作斗争。尽管这些斗争对于学习Linux来说也是很有益的,但是对于一个新手来说,
如果连系统都安装不上,无法配置,又怎么谈如何学习呢?Again,this is only
my own opnion, and I could be wrong。

在这个系列里,我会围绕RedHat 6.2来讲。


OK,从哪里得到Linux呢?为了讨论方便,省去不表要的枝节问题,
我只讨论光盘安装。所以第一步是得到一张RedHat 6.2的光盘。

得到光盘有两种方式,一种是去买光盘,这个比较简单,外面盗版盘
就有,不过需要指出的是,RedHat 6.2的光盘不可能是盗版盘,因为
RedHat 6.2遵循GPL协议,它是不收取版权费用的。所以任何人拷贝
安装光盘都是合法的。所以不必为买到一张“RedHat 6.2的盗版盘”而
沾沾自喜或有了偷盗成功的喜悦....只是需要注意,卖盗版盘的为了
骗钱什么都能做,有的把RH 6.0的盘刷个封面愣告诉你这是6.5最新的,
可别轻易信。记得当年(6年以前)kill杀毒软件流行的时候版本升级快
就有了各种假版本,我个人就亲自作了kill 500.2来骗人玩,谁让他
愣说他那个kill 79.8是真的呢?

另一种方法是获得ISO文件,这个是一半新手必问的问题。你多半是有
了网络,懒得或者无法买到光盘。你从某个FTP下载了RH62_INSTALL.ISO
这样一个600多M的文件。你琢磨着这就是个跟光盘有关的文件,但是你不
知道怎么解开它。怎么办呢?

ISO呢,就是光盘镜像文件。假设你要把一个光盘的内容*完全*的传给
别人,你怎么做呢?当然最简单就是光盘拷贝,如果要通过网络,可以
把光盘上的文件都传过去。如果这个光盘只是一些文件倒简单了,可是如果
这个光盘有比如可以光盘启动这样的功能,传文件恐怕就不行了吧。更不用
说在网络上,传总量为600M的上千个小文件的可怕了。

所以呢,有人就发明了ISO,就是可以把一个光盘忠实的“照张相片”,写到一个
ISO文件里。再用同样的软件可以把所有的信息再写回光盘,得到一个一摸一样
的盘,包括所有的比如能光盘启动的能力。

那你已经有了这个ISO了,怎么获得光盘呢?简单,找任何一个能刻光盘的机器,
它上面一定有类似EZCDPRO的刻盘软件。每个这样的软件都应当有把光盘写
成ISO文件和把ISO文件写成光盘的功能。你需要在它的菜单里仔细找,或者找
人帮你找,如何把CD IMAGE FILE刻成CD的功能,然后开始刻,就得到一张跟
RedHat 发行版一个字节都不差的光盘了....


一点小问题:那些down ISO的地方往往有md5.checksum或者RedHat62.md5这样的
文件,并不大,几十个字节,你不知道它们是干什么的,是不是也得都download
不然无法刻CD。实际上你不必管他们,那些是数据完整性校验的文件,好像挂号信
的跟踪单据一样。只要信能到,是否有他们无关紧要。

另外还有ftp方式安装,用winimage展开ISO本地文件安装等方式,我不去讨论他们。

好,现在你有一个RH 6.2的CD了,因为是ISO刻的,所以它应当能做光盘启动。那么,
把它放入光驱,然后调BIOS设定光盘启动,启动机器。我们可以开始安装RH Linux了。


下来你的首要问题是“我的机器有16G,分了一个C盘4G,两个D,E盘各6G”我还想保留
C盘的windows,我能把Linux安装到D盘或者E盘上么?呵呵,非常好,你知道Linux是
一个操作系统,可能要把windows弄掉,但是遗憾的是你对硬盘,分区的理解是错误的。
下篇文章会讲硬盘分区的问题。


OK,要讲硬盘分区了。在讲这个问题之前,我先来讲讲概念问题,什么是概念
问题呢?你还记得第一次,绝对的第一次听到A:盘,B:盘,C盘时候的感觉么?
在那之前自己也许知道计算机有个存储数据的地方,因为在电视上或者广告上
看到过磁带机(我一直不知道为什么到了很久很久那种一个傻姑娘在一个磁带
柜前面操作一个现在看来是垃圾的磁带设备会不停的成为电视台播放电脑题材
节目的缺省背景)或者硬盘的图象。但是你并没有一个概念计算机究竟怎么使
用这些设备,直到你第一次打出dir a:或者打开explorer看到A: C:字样的目录
树。如果你还记得当时的感觉,恭喜你,这种感觉又回来了。

对于一般人,只需要知道计算机能做什么就行了,所以对于他们来说,什么东
西越简单越好,越不需要他们去花时间学习理解越好,所以计算机从开始的打
孔到了后来的键盘屏幕,现在又往语音输入智能交互方向发展。这很好,让那
些把计算机当工具的人能更专注他们的工作(当然,他们会为此向我们--计算
机的建设者付出应有的报酬)。可以说,MS在这方面作的很好,没有人会否认
windows是一个非常“好用”的操作系统。这是指从使用者而言,你不需要太多
的去理解机箱里面的知识,或者说尽可能不去理解,就能尽快让计算机为你工
作。比如将本来很复杂的硬盘通过它在中间的操作搞成了C: D: E:盘这样的东
西,让一个只需要会打字的秘书MM也能知道怎么存储文件(当然也会有笨的不
可救药的)。但是这样(MS替你打点一切)的做法的一个问题也是显而易见
的:你没有机会,或者说没有被迫的机会去了解更深一层的知识。而且当你脑
子里只知道”C: D: E:“的时候,你就只有跟着windows走这一条路了。

OK,言归正传。安装Linux的硬盘分区问题。这个问题说起来是每个Linux新
手,甚至到有一定水平的人都不敢说很清楚或者掌握的(包括我自己)。硬盘
是个很古怪的东西,它的基本脾气是,一点搞不好,一大块数据就要丢,而且
丢的干干净净。我已经不止一次看到某人的毕业论文之类东西在答辩之前三天
因为硬盘问题而丢失并且没有备份!而安装Linux是必须跟硬盘很底层的部分打
交道的,而不是win下面安装个程序那么安全。所以我的第一个建议是,如果硬
盘上有重要数据,最好别贸然安装Linux。比较好的一个办法是找台不重要的机
器,硬盘可以重新分区格式化的,多安装几次Linux,多试验一下windows和
linux共同存在的各种情况。这样以后心里就有底了。如果实在要安装,一定要
备份重要数据,切记。


下来讲Linux对于硬盘的概念。只考虑IDE硬盘。对于一个硬盘的操作分很多
层。我们需要知道的,是硬盘是由很多个512字节的扇区组成的。而这些扇区会
被组织成一个一个“分区”。这些对于每个操作系统都是一样的,在这之上每
个操作系统自己去管理分给自己的分区。对于windows来说,它会把这些分区格
式化然后按照CDE盘来管理。而Linux则不同。所以呢,一个硬盘上分多个分
区,安装多个操作系统比如windows,Linux,Solaris等是完全可以的。但是由于
每个操作系统对分区的操作不同,只能说把操作系统安装到分区中而不存在把
操作系统安装到CDE盘中(UMSDOS方式先不提)。

每个硬盘的第0个扇区是个特殊扇区,它不属于任何分区。它存放的是两个东
西:第一是一个很小的程序,它由计算机在启动的时候运行,这个程序一般是
某个操作系统带的启动程序,它运行后会启动某个操作系统或者给用户选择来
启动某个操作系统。Windows的0扇区启动程序很简单,它就是把windows启动
了,所以在这之前你是不会有多操作系统在一个硬盘上共存的概念的。而Linux
所带的启动程序可以让你选择启动哪个操作系统,它叫做lilo。这个东西我们
以后会经常碰到它。0扇区还存放有另外一个重要数据:分区信息。前面讲过,
硬盘是有分区的,那么到底怎么分的,这个信息是存在0扇区的。硬盘的分区规
则是这样的:一个分区的所有扇区必须连续,硬盘可以有最多四个分区,这四
个分区可以是四个主分区或者三个主分区加一个扩展分区。在扩展分区里可以
再继续分逻辑分区。举一个例子,一个10G的硬盘,安装windows,有C: D: E:
三个盘。那么它的分区情况可以是这样的:

分区一:主分区 4G ,格式化为C:盘
分区二:扩展分区    4G  扩展分区不能格式化,它只能被再分区为逻辑分区
剩余空间(可以被分区三,四占用) 2G


在扩展分区中,建立两个逻辑分区各为2G,格式化为D:E:盘。

那么在Linux看来又是怎么样呢?注意我提到过,对于任何操作系统而言,分区
都是一样的,尽管Linux不认同C D E盘,但是这些分区都是相同的。所以Linux
下看也是分区一,分区二等东西。但是它对这些分区的标志和解释是不同的。

在Linux下,硬盘是一个设备,实际上Linux下什么都是设备。对于IDE硬盘而
言,Linux认为存在四个设备,对应于IDE的四个位置接的设备。如果装过机器
我们知道主板上有两个槽,IDE0和IDE1,每个槽上能挂两个设备,主盘和从
盘,这些盘可以是硬盘可以是光驱。那么Linux是怎么认为这些设备的呢?在
Linux下,这些设备用/dev/hdx来标示。IDE0上的主盘就是/dev/hda,从盘就是
hdb,依此类推,如果可以有多个IDE槽就可以延续到hde hdf等。总之每条硬盘
线上接的设备都被Linux认为是一个/dev/hdx设备。如果你的机器是IDE0槽上的
主盘是硬盘,那它就是hda,如果IDE1的槽上主盘是一个光驱,那它就是hdc。
在windows下fdisk是对”硬盘1“,”硬盘2“进行操作,而linux下的fdisk就
是对/dev/hda,/dev/hdb等进行操作。这样做很灵活,很直观,不是么?

那么Linux下怎么看分区呢?Linux下的分区概念是,硬盘上的每个分区也是一
个设备(又来了)。他们的标志是/dev/hdxy,其中hdx根前面一样表示哪个硬
盘,y表示第几个分区。以hda为例。hda1就是第一个分区,hda4就是第四个分
区位置。逻辑分区从hda5开始。所以刚才那个例子中,Linux看来就是hda有
10G。hda1是主分区,格式是windows。hda2是扩展分区,在它上划出了hda5和
hda6,格式是windows。hda还有2G剩余空间可以继续建立hda3和hda4。注意因
为hda2空间已经被划分完,所以无法再建立逻辑分区。

这些硬盘的东西很容易搞混,建议多实践,多总结一下。可以参照一些有关书
籍,早期的DOS书在安装部分讲了一些。现在的linux安装部分也都有不少。另
外还有网上的一些介绍资料。


明白了Linux对分区的处理。下来就是分区策略了。在用RH6.2的光盘启动,一
直回车选择缺省设置会到一个分区界面。这里你需要告诉linux安装程序在硬盘
的什么地方安装linux。你需要告诉它一些信息,其中包括,建立一个新的
Linux分区,多大,mount到哪里。这里需要介绍一下mount的概念。


我们知道硬盘是可以分成很多分区的,每个分区由各个操作系统格式化然后就
可以使用了。但是要使用必须有一种方法。windows,或者DOS的做法是将格式
化好的分区挂(或者说mount)成C: D: E:盘。盘符的分配是操作系统决定的
(到NT后可以用户指定)。在Linux下某个分区怎么使用必须用户自己指定。在
Linux下分区并不按照C: D: E分配,而是挂(mount)到一个目录下。整个UNIX
的存储空间结构是一个目录树(而不是每个C: D: E:下各有自己的目录树)。
最上一层是根目录(用/表示,注意不是windows的反斜杠)在根低下有其它目
录。首先需要有一个分区mount成/,然后再在根下面建立其它目录然后把分区
mount到这些目录上去。所以整体来看一个unix的存储系统是一个目录树,但是
它可以包括很多分区,甚至其它存储设备,比如光驱,内存盘,或者网络磁盘
等。

在Linux安装的时

[1] [2]  下一页


[Sql Server]有趣的sql(4) - 关于注释的,续有趣的sql(1)  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台