2025年linux要怎么学(linux可以这样学)

linux要怎么学(linux可以这样学)文章目录 一 Liux 是什么 1 是操作系统 or 应用程序 2 Linux 之前 Unix 的历史 3 关于 GNU 计划 自由软件与开放原始码 二 Torvalds 的 Linux 发展 1 与 Minix 之间 2 对 386 硬件的多任务测试 3 初次释出 Linux 0 02 4 Linux 的发展

大家好,我是讯享网,很高兴认识大家。



文章目录

  • ​​一、Liux是什么??​​
  • ​​1.是操作系统or应用程序??​​
  • ​​2.Linux之前,Unix的历史​​
  • ​​3.关于 GNU 计划、自由软件与开放原始码​​
  • ​​二、Torvalds 的 Linux 发展​​
  • ​​1.与 Minix 之间​​
  • ​​2.对 386 硬件的多任务测试​​
  • ​​3.初次释出 Linux 0.02​​
  • ​​4.Linux 的发展:虚拟团队的产生​​
  • ​​5.Linux 的核心版本​​
  • ​​6.Linux distributions​​
  • ​​三、Linux 当前应用的角色​​
  • ​​1.企业环境的利用​​
  • ​​2.个人环境的使用​​
  • ​​四、Linux 该如何学习​​
  • ​​1.从头学习 Linux 基础​​
  • ​​2.选择一本易读的工具书​​
  • ​​3.实作再实作​​
  • ​​4.发生问题怎么处理啊?建议流程是这样…​​
  • ​​5.鸟哥的建议(重点在 solution 的学习)​​
  • ​​五、总结​​
  • ​​六、常见问题与答案(很经典的常见问题)​​

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU
讯享网

(2)软件移植定义的由来

由于不同的硬件他的功能函数并不相同,例如 IBM 的 Power CPU 与 Intel 的 x86 架构就是不一样! 所以同一套操作系统是无法在不同的硬件平台上面运作的!我们知道硬件是由『核心』来控制的,而每种操作系统都有他自己的核心

(2)1984 年,史托曼开始 GNU 计划, 这个计划的目的是:建立一个自由、开放的 Unix 操作系统(Free Unix)。
因此他便开始撰写 C 语言的编译程序,那就是现在相当有名的GNU C Compiler(gcc)!
此外,他还撰写了更多可以被呼叫的 C函式库(GNU C library),以及可以被使用来操作操作系统的基本接口 BASH shell!




(1)自由软件的版权 GNU GPL
而为了避免自己的开发出来的 Open source 自由软件被拿去做成专利软件, 于是史托曼同时将 GNU与 FSF 发展出来的软件,都挂上 GPL 的版权宣告。

(2)为什么要称为 GNU 呢?
其实 GNU 是 GNU’s Not Unix 的缩写,意思是说, GNU 并不是 Unix 啊!那么 GNU 又是什么呢? 就是 GNU’s Not Unix 嘛!…如果你写过程序就会知道,这个 GNU = GNU’s Not
Unix 可是无穷循环啊!忙碌




(3)自由软件与商业行为
很多人还是有疑问,目前不是有很多 Linux 开发商吗?为何他们可以贩卖 Linux 这个 GPL 授权的软件? 原因很简单,因为他们大多都是贩卖『售后服务!』
服务包括: 提供你数年不等的咨询、售后服务、软件升级与其他协力工作等等的附加价值!




(3)开放原始码

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_02

(4)开源软件授权
Open source 这个名词只是一个指引,而实际上并不是先有 open source 才有相关的授权。早在 open source 出来之前就有些开源软件的授权存在了 (例如 GPL 啊! )!

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_03

(5)专属软件/专利软件 (close source)
相对于 Open Source 的软件会释出原始码, Close source 的程序则仅推出可执行的二进制程序(binary program)而已。 这种软件的优点是有专人维护,你不需要去更动他;缺点则是灵活度大打折扣,用户无法变更该程序成为自己想要的样式! 此外,若有木马程序或者安全漏洞,将会花上相当长的一段时间来除错!这也是所谓专利软件(copyright)常见的软件出售方式。

(1)Minix 这个操作系统是有附上原始码的, 所以托瓦兹也经由这个原始码学习到了很多的核心程序设计的设计概念喔。

(2)要达到多任务(multitasking)的环境,除了硬件(主要是 CPU)需要能够具有多任务的特性外,操作系统也需要支持这个功能喔!
至于多任务的操作系统中,每个程序被执行时,都会有一个最大 CPU 使用时间,若该工作运作的时间超过这个 CPU使用时间时, 该工作就会先被丢出 CPU 的运作中,而再度的进入核心工作排程中等待下一次被 CPU 取用来运作。

(1)撰写程序需要什么呢?
首先需要的是能够进行工作的环境,再来则是可以将原始码编译成为可执行文件的编译程序。

(2)如何让自己的 Linux 能够兼容于 Unix 系统?
一种是修改软件,让该软件可以在 Linux 上跑, 另一种则是修改 Linux,让 Linux 符
合软件能够运作的规范!由于 Linux希望能够兼容于 Unix,于是托瓦兹选择了第二个作法『修改 Linux』!
为了让所有的软件都可以在 Linux 上执行,于是托瓦兹开始参考标准的 POSIX 规范。
(POSIX 是可携式操作系统接口(Portable Operating System Interface)的缩写,重点在规范核心与应用程序之间的接口)










(a)主、次版本为奇数:发展中版本(development)
如 2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。 如果有新增的核心程序代码,会加到这种版本当中,等到众多工程师测试没问题后,才加入下一版的稳定核心中;
(b)主、次版本为偶数:稳定版本(stable)
如 2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家庭计算机以及企业版本中。 重点在于提供使用者一个相对稳定的 Linux 作业环境平台。







至于释出版本release则是在主、次版本架构不变的情况下,新增的功能累积到一定的程度后所新释出的核心版本。

而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发 (End of Live, EOL),亦即该程序代码已经结束,不会有继续维护的状态。 另外一种机制为保持该版本的持续维护,亦即为长期维护版本 (Longterm)! 例如 3.10 即为一个长期维护版本,这个版本的程序代码会被持续维护,若程序代码有 bug 或其他问题, 核心维护者会持续进行程序代码的更新维护喔!

常用的 Linux 系统则应该说明为 distribution 才对!
因此,如果以 CentOS 这个 distribution 来说, 妳应该说:『我用的 Linux 是 CentOS 这个 distribution,版本为 7.x 版,请问…』才对喔

(1)可完全安装的 Linux 发布套件

可运行的软件整合起来,加上自己具有创意的工具程序, 这个工具程序可以让用户以光盘/DVD 或者透过网络直接安装/管理 Linux 系统。 这个 『Kernel + Softwares + Tools + 可完全安装程序』 的咚咚,我们称之为 Linux distribution, 一般中文翻译成可完全安装套件,或者 Linux 发布商套件等。

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_04

(2)各大 Linux Distributions 的主要异同:支持标准!

(a)为了让所有的 Linux distributions 开发不致于差异太大,且让这些开发商在开发的时候有所依据,还有 Linux Standard Base (LSB)等标准来规范开发者,以及目录架构的 File system HierarchyStandard (FHS)标准规范! 唯一差别的,可能就是该开发者自家所开发出来的管理工具,以及套件管理的模式吧!
所以说,基本上,每个 Linux distributions 除了架构的严谨度与选择的套件内容外, 其实差异并不太大啦! _ 。大家可以选择自己喜好的 distribution 来安装即可。

(b)事实上鸟哥认为 distributions 主要分为两大系统,
一种是使用 RPM 方式安装软件的系统,包括 Red Hat,Fedora, SuSE 等都是这类;
一种则是使用 Debian 的 dpkg 方式安装软件的系统,包括 Debian, Ubuntu,B2D 等等。




《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_05

(a)如果是要装在个人计算机上面做为桌面计算机用的,建议使用社群版, 包括 Fedora, Ubuntu, OpenSuSE 等等。

(b)如果是用在服务器上面的,建议使用商业版本,包括 Red Hat, SuSE 等。 这是因为社群版通常开发者会加入最新的软件,这些软件可能会有一些 bug存在。至于商业版则是经过一段时间的磨合后, 才将稳定的软件放进去。

(3)选择适合你的 Linux distribution
那我到底应该要选择哪一个 distributions?
目前鸟哥的建议是,先学习以 RPM 套件管理为主的 RHEL/Fedora/SuSE/CentOS 等台湾使用者较多的版本, 这样一来,发生问题时,可以提供解决的管道比较多。
总之, 版本很多,但是各版本差异其实不大,建议你一定要先选定一个版本后, 先彻头彻尾的了解他,那再继续玩其他的版本时,就可以很快的进入状况。







(4)不过,如果依据计算机主机的用途来分的话,在台湾鸟哥会这样建议:

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_06

(1)网络服务器: 这是 Linux 当前最热门的应用了!
很多优秀的软件都在 Linux 上面发展, 且这些在 Linux 上面的服务器软件几乎都是自由软件!因此,做为一部网络服务器,例如 WWW,Mail Server, File Server 等等, Linux 绝对是上上之选!由于 Linux server的需求强烈,因此许多硬件厂商推出产品时, 还得要特别说明有支持的 Linux distributions 呢!
目前 (2015) 支持度比较广泛的依旧是 Red Hat 以及SuSU 两个大厂喔!




(2)关键任务的应用(金融数据库、大型企业网管环境):所谓的关键任务就是该企业最重要的业务啦! 举例来说,金融业最重要的就是那些投资者、帐户的数据了,这些数据大多使用数据库系统来作为存取接口, 这些数据很重要吧!很多金融业将这么重要的任务交给了 Linux 了!你说 Linux厉不厉害啊?

除了公司自己内部的私有云之外,许多大型因特网供货商 (ISP) 也提供了所谓的公有云来让企业用户或个人用户来使用 ISP 的虚拟化产品。 如果公司内部缺乏专业管理维护人才,很有可能就将自家所需要的关键应用如 Web、 Mail、系统开发环境等操作系统交由 ISP 代管, 自家公司仅须远程登录该系统进行网站内容维护或程序开发而已。那这些虚拟化后的系统,也经常是 Linux啊!因为跟上头企业环境利用提到的功能是相同的!

所以说云程序的底层就是 Linux ,而云程序搭建出来的虚拟机,内容也是 Linux 操作系统哩!

补充:虚拟化的定义
在一部实体主机上面仿真出多个逻辑上完全独立的硬件,这个假的虚拟出来的硬件主机,可以用来安装一部逻辑上完全独立的操作系统! 因此,透过虚拟化技术,你可以将一部实体主机安装多个同时运作的操作系统 (非多重引导),以达到将硬件资源完整利用的效果。

(1)但是如果想要更深入 Linux 的话,那么指令列模式才是不二的学习方式!

(2)以服务器或者是嵌入式系统的应用来说, X Window 是非必备的软件。更多的时候甚至大家会希望你不要启动 X window 在服务器主机上,这是因为 X Window 通常会吃掉很多系统资源的缘故!
对于远程登陆情况的话,使用文字接口会较为单纯, 使用图形接口则非常麻烦啦!所以啦!这时候就得要学学文字接口来操作 Linux 比较好啦!

另外,在服务器的应用上, 文件的安全性、人员账号的管理、软件的安装/修改/设定、 登录文件的分析以及自动化工作排程与程序的撰写等等,都是需要学习的, 而且这些东西都还未涉及服务器软件呢!对吧!这些东西真的很重要。

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_程序代码_07

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_程序代码_08

(1)阅读基础书籍的重点,就是让自己能够掌握住那些『keyword 』啰!加油!

(1)你必须要『不断的重复练习』才会将一件事情记得比较熟!

Linux 在下达指令的过程当中,或者是 log file 里头就可以自己查得错误信息了。

eg:发生错误的时候,请先自行以屏幕前面的信息来进行 debug(除错)的动作;

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_鸟哥_09

然后,如果是网络服务的问题时,请到/var/log/这个目录里头去查阅一下 log file(登录档),这样可以几乎解决大部分的问题了!

(3)搜寻过后,注意网络礼节,讨论区大胆的发言吧:

(4)还有一些建议:

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_程序代码_10

因此,鸟哥个人认为, 学习 Linux 如果玩不出兴趣, 他对你也不是什么重要的生财工具,那么就不要再玩下去了! 因为很累人。

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_程序代码_11

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_12

(3)我们目前学习的 Linux 其实仅是在一部主机上面进行各项设定而已, 还没有到达解决整体公司所有问题的状态。当然啦,得要先学会 Linux 相关技巧后, 才有办法将这些技巧用之于其他的 solution 上面!

(4)『不同的环境下,解决问题的方法有很多种,只要行的通,就是好方法!』

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_鸟哥_13

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_GNU_14

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_程序代码_15

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_鸟哥_16

《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习_鸟哥_17

小讯
上一篇 2025-04-14 09:18
下一篇 2025-05-04 09:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/170389.html