2024年Linux最全学习笔记——鸟哥的Linux私房菜基础篇(一)(1),成功入职头条月薪35K

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

5、BIOS(Basic Input Output System)是一套程序,这套程序写死在主板上内存芯片上(只读存储器,Read Only Memory),没有通电时也能够把数据记录下来。BIOS非常重要,系统开机时候会首先去读取它。

6、操作系统:操作系统也是一堆应用程序,管理计算机的所有活动以及驱动中的硬件。

操作系统至少包含如下核心功能:

1)系统呼叫接口(System call interface):方便开发者与核心进行沟通,提供接口供开发者使用

2)程序管理(Process control):CPU支持多任务运算,核心必须能控制这些工作,有效分配CPU资源,安排程序工作顺序

3)内存管理(Memory managerment):内存非常重要,所有代码与数据必须先进入内存中,才能供CPU使用

4)文件管理系统(Filesystem managerment):输入输出,文件格式等,如果不支持某个文件系统,那么你将无法使用

5)装置驱动(Device drivers):是硬件管理的核心之一,没有驱动程序,核心就无法让硬件工作。

第一章 Linux是什么与如何学习

1、Linux与Unix历史

(1)现代操作系统雏形:1969年以前,电脑主要用于军事、高科技,一般人难以接触,而且架构设计难用、接口复杂、周期长;程序设计者通过读卡纸上面打印,输入主机进行计算;后来操作系统有所改良,可以键盘输入,但是毕竟主机只有一部,大家还是要等待;1960年代初,麻省理工发明了兼容分时系统(Compatible Time-Sharing System),它可以通过多个终端(terminal)来进入主机,来利用主机资源进行计算。这种兼容分时系统可以成为现代操作系统的鼻祖,在当时属于划时代的技术!

(2)Multics计划失败:兼容分时系统可以运行不到30个终端,1965年以前后,由贝尔实验(Bell)、麻省理工(MIT)、通用电气(GE)共同发起Multics计划——目标让大型主机可以提供300个以上终端。1969年以后该计划落后,资金短缺,Bell实验室退出该计划;原本参与Multics计划的人从中获取一些电子,Ken Thompson是其中一位。

(3)简化版Unics诞生:Thompson有一台PDP-7主机,他希望针对这部主机开发一个操作系统核心程序;非常巧合的1969年八月份,趁着Thompson的妻儿去美国西部弹琴,他用一个月的时间用汇编语言编写了核心程序,以及一个小小的文件系统,这个系统就是Unix的原型;他对Multics庞大的复杂系统做了不少简化,于是同事们戏称他这个系统为——Unics。Thompson的系统有两个重要的概念:一所有程序、系统装置都是文件;二不管构建编辑器还是附属文件,所有文件只有一个目的,且要有效完成目标;这些概念对后来的Linux发展有着重要的影响。

(4)Unics的发展(C语言重写):因为Thompson的系统太好用,在贝尔实验室内部广为流传;因为汇编语言无法跨平台,后来Thompson与Ritchie合作以B高阶语言重写,但是B语言编译核心效果不好,后来Dennis Ritchie将B语言重新改写成C语言,再以C语言重写Unics,至此最后正式发行Unix版本。贝尔实验室属于AT&T,它忙于商业活动,对Unix不支持不排斥,Unix当时并不被一般人所接受,但是是学术研究者的福音。因为是C语言与硬件性相关不大,因为Unix很容易移植。

(5)Unix各个版本的发展:1977年,伯克利大学的Bill Joy在Unix的源码基础上改成适合自己机器的版本,这个版本命名为Berkeley Software Distribution(BSD),它是Unix的一个很重要的分支;Bill Joy后来Sun公司的创办者;后来安装在x86上的FreeBSD即是从BSD改版而来;由于AT&T的开发态度,很多商业公司开发了自家的Unix版本,如AT&T自家的System V,IBM的 AIX等。因为当时内业协议的概念,自家的操作系统虽然核心架构虽然大同小异,但是核心(Kernel)必须与硬件结合,因此各家操作系统,只能在自家的硬件上运行。1979年System V第七个版本以后有所改善,另一大特色支持x86个人计算机。

(6)开源Minix诞生:AT&T处于商业考虑,打算收回Unix版权,特别在第七版中提到“不可对学生提供源码”的限制;Andrew Tanenbaum教授为了教授学生认识Unix,完全不看Unix核心源码(为了避免版本)的基础上,在1984年编写了Minix这个Unix Like的核心程序,他完全兼容Unix,1986年完成;作为老师主要用于教学,所以对Minix点到为止,只提供源码,没有商业运作。

(7)GNU计划发展:Richard Stallman1984年发起GUN(GNU is Not Unix的缩写)计划,目标建立一个自由、开发的Unix操作系统(Free Unix);由于开发操作系统难度太大,Stallman就先着手开发Unix能运行的软件,并开源免费;当时的软件都需要编译,他决定开发一个C语言编译程序GNU C Compiler(gcc),当时C语言版本多,但是都是专利,如果他写的C编译器足够优秀可以让GNU计划出现在大众面前;刚开始并不顺利,他就将原来开发的Emacs程序编辑器移植到Unix上,可以检验语法错误,当时来说太棒了;后来成立了自由软件基金会(FSF,Free Software Foundation);最终完成了GCC,同时还撰写了很多函数库(GUN C library),以及后来被操作系统使用的基本接口BASH shell,这些豆子1990年左右完成。

GNU发展的几个重要软件:Emacs、GNU C(GCC)、GNU C Library(glibc)、Bash shell;很多开发者利用这些工具壮大了自由软件;但是GNU最初的建立一个自由的Unix操作系统的构想并没有实现。

(8)Linux正式诞生:1991年,芬兰大学生Linus Torvalds 在BBS发帖,宣称他以bash、gcc、等GNU软件的工具写了一个小的核心程序,该核心程序是个玩具,不像GUN那么专业,不过核心程序可以在Intel的386极其上面运行;从此开始了Linux的不平凡之路。

2、Torvalds 的Linux发展

(1)Torvalds进入赫尔辛基大学,有机会接触到只有16个终端的Unix操作系统,他在思考为何不着急搞一部Unix来玩;后来他知道有一个类似Unix的系统,并且与Unix兼容,可以泡在Intel 386机器上,这就是Tanenbaum的Minix,他还可以获取到Minix的源码;幸运的是他有机会贷款买了一部Intel的386来玩,由于以往接触的Unix都是多任务操作,因此他对386硬件也进行了测试,得到的结果是支持多任务操作。

(2)在Minix上Torvalds发现虽然它很棒,但是创造者教授却不愿意增强功能,因此他决定自己改写核心程序;这时候他需要能够进行工作的环境,以及可以将源码编译成可执行文件的编译程序;这时候GNU假话提供的bash工作环境以及gcc编译程序等起作用了,让Torvalds可以专心撰写核心程序;Torvalds让GNU的自由软件核心程序与386紧紧结合在一起;他的这个小小的操作放在BBS上,他只是觉得好玩,另外他希望别人给更多的建议和回馈来发展这个操作系统;因为当时他防止核心的那个FTP网站目录为:Linux,所以大家便称这个核心为Linux;此时的Linux就是那个kernel。

(3)为了让自己的Linux能兼容Unix,他参考标准的POSIX规范对Linux进行改造,这使Linux与Unix可以共享软件;大量的志愿开发者加入到项目中来,大家组成一个不见面的虚拟团队,一起来帮助Torvalds改善Linux。

(4)早期的Linux由Torvalds针对386写的,跟386硬件有很大相关性,所以早期Linux不具备移植性;因为开源,可以修改代码去适应环境,1994年以后Linux被开发到很多硬件上面去了,除了支持x86,还支持IBM、HP等公司的硬件,以及后来的小型单反计算机、基于ARM架构的智能手机(Android)、平板灯,都是Linux的核心。

3、Linux的版本号,Torvalds根据核心的发展分类两大类不同核心编号:一发展中版本(development)主、次版本为奇数,这种版本是为了测试与发展新功能;新的功能会增加到这种版本中;测试没有问题后放入下一个稳定版本中;二是稳定版(stable)主、次版本为偶数,核心功能成熟后加入此版本,一般家庭、企业版本用稳定的Linux平台。

4、区分Linux版本与Linux distribution版本,前者2015年核心(kernel)只到4.0,后者发行版一般指第三方开发的Linux操作系统;如CentOS 7.x,Ubuntu 14.x等,是第三方开发商自己命名的Linux的版本号。

5、Linux的出现让GUN计划有了自己自己的核心程序,GNU软件不必只能跑在Unix上了;Linux用了很多GNU软件,因此Stallman认为Linux全名应该叫——GNU/Linux;后续很多自由软件都以Linux为开发测试平台。

6、虽然Torvalds负责开发的Linux备Kernel与Kernel提供的功能,以及上边运行的各种软件,已经是一个相当完整的操作系统了;不过这种操作系统很难,早期由黑客工程师维护,没有考虑一般使用者的能力;后来很多商业公司将Linux kernel(含tools)与各种软件整合起来,再加上自己具有创意的工具程序,并形成用户可以直接安装的Linux系统;这个“Kernel+Software+Tools+可完全安装的程序”,我们称之为Linux distribution,中文翻译Linux发布商套件。

7、为了让Linux distribution差异不至于太大,这些开发商依据Linux Standard Base规范来开发,以及目录架构的File system Hierarchy Standard标准规范,因此大家其实差异不大.

8、Linux distribution 主要分为两大类,一种以RPM方式安装软件的系统,包括Red Hat、Fedora、SUSE、CentOS等;一种是使用Debian的dpkg方式安装软件的系统,包括Debian、Ubuntu、B2D等。另外按性质分为社群版(Fedora、Ubuntu、OpenSUSE,建议这些可以作为个人桌面计算机);商业版(Red Hat、SUSE,这些用在服务器上);社区版会加入新的功能,会有一些bug,商业版则是听过一段时间测试磨合,才将稳定版软件放进去。CentOS是抓RHEL的源码来重新编写的Linux distribution,所以号称兼容REHL。

9、Linux的应用角色

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
鸟哥Linux私房笔记是一本关于Linux操作系统的教材。它包含了许多有关Linux的知识和技巧,从Linux基础知识到高级的系统管理和网络配置都有所涉及。其中第一章介绍了Linux的起源和学习方法,提到了Unix的诞生和Linux内核的发展历程。第二章讨论了主机规划和磁盘分区的问题,包括文件的属性和权限。第三章和第四章讲述了Linux的文件和目录管理,以及如何使用预留分区进行备份。总的来说,鸟哥Linux私房笔记是一个非常实用的学习资源,可以帮助读者更好地理解和应用Linux操作系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux 读书笔记之《鸟哥Linux 私房 基础学习(第四版)》](https://blog.csdn.net/Csdn_Darry/article/details/131259658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [鸟哥linux私房学习笔记](https://blog.csdn.net/ThomasCai001/article/details/100084299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值