1.1 Linux 是什么
Linux 就是一套操作系统,如同下图所示, Linux 就是 核心与系统呼叫接口那两层。至于应用程序算不算 Linux 呢?当然不算啦!这点要特别注意喔!
由于不同的硬件他的功能函数并不相同,例如 IBM 的 Power CPU 与 Intel 的 x86 架构就是不一样!所
以同一套操作系统是无法在不同的硬件平台上面运作的!举例来说,如果你想要让 x86 上面跑的那套 操作系统也能够在 Power CPU 上运作时,就得要将该操作系统进行修改才行。如果能够参考硬件的
功能函数并据以修改你的操作系统程序代码, 那经过改版后的操作系统就能够在另一个硬件平台上 面运作了。 这个动作我们通常就称为『软件移植』了!
Windows 操作系统本来就是针对个人计算机 x86 架构的硬件去设计的,所以他当然只 能在 x86 的个人计算机上面运作, 在不同的硬件平台当然就无法运行了。也就是说,每种操作系统都是在他专门
的硬件机器上面运行的喔!这点得要先了解。 不过,Linux 由于是 Open Source 的操作系统,所以他的程序代码可 以被修改成适合在各种机器上面运行的, 也就是说,Linux 是具有『可移植性』,这可是很重要的一个功能喔! ^_^
Linux 提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, 这个架构是沿袭 Unix 良好的传统来的,所以相当的稳定而功能强大!
兼容分时系统可以说是近代操作系统的始祖呢!他可以让多个使用者在某一段时间内分别使用 CPU 的资源, 感觉上你会觉得大家是同时使用该主机的资源!事实上,是 CPU 在每个使用者的工 作之间进行切换,
Thompson 的这个文件系统有两个重要的概念,分别是:
所有的程序或系统装置都是文件
不管建构编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标。
操作系统的核心(Kernel)必须要跟硬件配合, 以提供及控制硬件的资源
进行良好的工作!而在早期每一家生产计算机硬件的公司还没有所谓的『协议』的概念, 所以每一
个计算机公司出产的硬件自然就不相同啰!因此他们必须要为自己的计算机硬件开发合适的 Unix 系
统。 例如在学术机构相当有名的 Sun、Cray 与 HP 就是这一种情况。 他们开发出来的 Unix 操作系 统以及内含的相关软件并没有办法在其他的硬件架构下工作的!
1.4 Linux 该如何学习
Version:0.9 StartHTML:0000000105 EndHTML:0000000951 StartFragment:0000000141 EndFragment:0000000911
让 Linux 成为自己的好用的工具 (服务器或开发软件的程序学习平台)
为出发点去介绍如何学习
因此建议:
1. 计算器概论与硬件相关知识:
因为既然想要走 Linux 这门路,信息相关的基础技能也不能没有啊! 所以先理解一下基础的硬件知识,不 用一定要全懂啦!又不是真的要你去组计算机~^_^, 但是至少要『听过、有概念』即可;
2. 先从 Linux 的安装与指令学起:
没有 Linux 怎么学习 Linux 呢?所以好好的安装起一套你需要的 Linux 吧!虽然说 Linux distributions 很多, 不过基本上架构都是大同小异的,差别在于接口的亲和力与软件的选择不同罢了! 选择一套你喜欢的就好 了,倒是没有哪一套特别好说~
3. Linux 操作系统的基础技能: 这些包含了『使用者、群组的概念』、『权限的观念』,『程序的定义』等等,尤其是权限的概念, 由于不同 的权限设定会妨碍你的使用者的便利性,但是太过于便利又会导致入侵的可能! 所以这里需要了解一下你 的系统呦!
67
4. 务必学会 vi 文书编辑器:
Linux 的文书编辑器多到会让你数到生气!不过,vi 却是强烈建议要先学习的! 这是因为 vi 会被很多软件 所呼叫,加上所有的 Unix like 系统上面都有 vi,所以你一定要学会才好!
5. Shell 与 Shell Script 的学习:
其实鸟哥上面一直谈到的『文字接口』说穿了就是一个名为 shell 的软件啦!既然要玩文字接口,当然就是
要会使用 shell 的意思。 但是 shell 上面的数据太多了,包括『正规表示法』、『管线命令』与『数据流重导 向』等等,真的需要了解比较好呦! 此外,为了帮助你未来的管理服务器的便利性,shell scripts 也是挺重 要的!要学要学!
6. 一定要会软件管理员:
因为玩 Linux 常常会面临得要自己安装驱动程序或者是安装额外软件的时候,尤其是嵌入式设备或者是学术
研究单位等。 这个时候 Tarball/RPM/DPKG/YUM/APT 等软件管理员的安装方式的了解,对你来说就重要
到不行了!
7. 网络基础的建立:
如果上面你都通过了,那么网络的基础就是下一阶段要接触的咚咚,这部份包含了『IP 概念』『路由概念』
等等;
8. 如果连网络基础都通过了,那么网站的架设对你来说,简直就是『太简单啦!』
在一些基础知识上,可能的话,当然得去书店找书来读啊! 如果您想要由网络上面阅读的话,那么
这里推荐一下由 Netman 大哥主笔的 Study-Area 里面的基础文章,相当的实用!
计算机基础 (http://www.study-area.org/compu/compu.htm)
网络基础 (http://www.study-area.org/network/network.htm)
阅读基础书籍的重点,
们该如何处理在 自身所发生的 Linux 问题呢? 在这里鸟哥的建议是这样的流程:
Version:0.9 StartHTML:0000000105 EndHTML:0000002022 StartFragment:0000000141 EndFragment:0000001982
Version:0.9 StartHTML:0000000105 EndHTML:0000001164 StartFragment:0000000141 EndFragment:0000001124
Version:0.9 StartHTML:0000000105 EndHTML:0000004074 StartFragment:0000000141 EndFragment:0000004034
《本章完毕》