[操作系统] 为什么要学习 Linux?

[复制链接]
defiler 发表于 2023-10-14 16:51:39|来自:北京 | 显示全部楼层 |阅读模式
有同学说他想学习 Linux,问我如何学习,我就问:为什么学习,有些说看别人学习,想玩玩;有些说 Linux 就业好,等等。想问问大家当初学习 Linux 的目的是什么,学习过程是什么样的,现在什么程度,还有就是学习 Linux 的过程应该是什么样的。
全部回复5 显示全部楼层
刚刚好 发表于 2023-10-14 16:52:32|来自:北京 | 显示全部楼层
假如你是一个汽车工程师,或者还在学习造汽车的技术,那如果业界有这么一款汽车,性能稳定,设计思想优秀,而且不断在改进,汽车内部一些模块的实现方式甚至成为了业界标准,不仅如此,这款汽车的内部所有详细的技术资料都可以免费获取,也正因为如此,市面上也萌生了超级多的 Linux 发动机构造详解,深入理解 Linux 悬挂系统,你觉得你需不需要学习这款汽车?
答案是当然得学,不学不行。
使用 linux,它免费,稳定,并且有大量优秀的开源软件可以使用,学习 linux,它继承了大部分 unix 的设计哲学,源码公开,社区健壮,教程数不胜数。
所以 linux 是计算机学习者和工程师必学/用的东西,谁都逃不开。
和 windows 不同,unix 把软件的复用性做的非常好,每一个工具,都只做一件事,但要把这件事做到极致。
排序的程序,就只排序,过滤的程序,就只过滤,统计行数字数的,就只统计行数字数,每个工具各司其职,当使用的时候,使用 pipe 管道将它们连接在一起,从而实现了复杂功能。
这里还是要重申一下Linux的江湖地位,也顺手统一回复一下评论的疑问,很多人想转行或者入门IT 运维,Linux作为云计算,是必须要掌握的技能,安利给大家一个可以轻松入门的课程,想提升的同学都可以先试听,比不知道怎么摸门道会省事不少。
https://xg.zhihu.com/plugin/d535b14d6e138133cf2968a98309bbfc?BIZ=ECOMMERCEwindows 系统上,需要一个复杂庞大的应用实现的功能,在 linux 上是用一堆小工具通过 pipe 和 I/O redirection 组合实现的。
在 linux 系统中,你很清楚的知道每个文件都是做什么的,你知道临时文件存在 /tmp里,本地的 ip 映射存在 /etc/hosts 里,可执行应用存在 /usr/bin 里,library 存在 /usr/lib 里,安装和卸载大部分应用都可以直接用发行版提供的 package manager,如果不知道,google 一下,你就知道。
在您google回来之后更新一下题外话,最近有人私信问怎么入行或者转行Linux运维,想在云计算运维等方向长期发展,在这里推荐大家都可以了解学习Linux和红帽认证,掌握运维基本技能会对日后的职业发展会有一个更好的帮助。
Linux作为云计算、网络安全等热门行业的操作系统,属于必须要掌握的技能,不管在Linux学习中处于什么段位,都可以考一个红帽认证,对于新手想入行运维工程师等相关职位的同学,甚至可以考红帽认RHCSA或RHCE作为行业敲门砖,红帽认证是由红帽linux公司推出的,主要包括红帽认证技师(RHCSA),红帽认证工程师(RHCE)和红帽认证架构师(RHCA)。是以实际操作能力为基础的测试项目,主要考察考生在实际操作系统中的实践能力。
以下是推荐学习的干货:
https://xg.zhihu.com/plugin/d535b14d6e138133cf2968a98309bbfc?BIZ=ECOMMERCE在 2.6 版本之后的 linux ,提供了 “namespaces” 技术,这是一种可以把进程,文件系统,网络等资源通过 namespace 隔离开来的技术,它可以实现非常轻量的虚拟器(容器),而我们现在常常提到的 docker,就是基于此技术开发出来的。




在 linux 系统下,借助 seccomp(2) 系统调用,你可以更加容易的实现沙盒环境,使用沙盒环境,你可以开发一个类似 leetcode 的线上刷题网站,把用户写好的代码放在沙盒里运行,不仅能限制系统调用的使用,还能限制资源的使用量。
2.6 版本实现的 CFS 调度器,用每个进程应该使用多少百分比的 CPU 时间去调度,而不是根据优先级粗暴的分配一个时间片,实现了所谓的“完全公平”调度,而其基于红黑树 + 最左节点缓存的实现方式,也非常值得我们学习。
linux 有组织良好的 man page,如果想知道某个工具如何使用,某个系统调用是做什么的,某个库函数怎么用,只需要一个 man 命令即可,文档良好的组织大大缩短了你寻找文档的时间。
最后,引用一句 Harley Hahn's Guide to Unix and Linux 中的话:
Using Unix will change how you think, and for the better. I believe that if you  learn  how  to  read  Shakespeare,  listen  to  Mozart,  or  appreciate  the  paintings  of  Van Gogh, you will, in some sense, be a better person. The same is true for learning how to use Unix

使用 Unix 可以改变你的思考方式, 很可能是改进。我相信如果你阅读莎士比亚的戏剧,听莫扎特的音乐,听梵高的画作,会让你从某种意义上讲变成一个更好的人。学习 Unix 也同样如此。
学习提升入口:
https://xg.zhihu.com/plugin/d535b14d6e138133cf2968a98309bbfc?BIZ=ECOMMERCE
asdjkl 发表于 2023-10-14 16:52:40|来自:北京 | 显示全部楼层
首先自我介绍一下,我是良许,本科及硕士期间所学专业是机械,毕业后自学转行Linux编程,目前在一家世界500强任职,所以对于这个话题我更有发言权
为什么要学习Linux?

很多人其实对Linux并不了解,只知道它是个开源操作系统,有一个内核,仅此而已。我们来看一下学习Linux之后的一些出路:


很多人以为做Linux就是做运维,其实不然,运维只是其中一个方向而已,还有另一个很重要的方向是开发。对于Linux从业的几大方向,我专门写了一篇文章,大家可以看看:
Linux 学习的三大方向更加具体的,可以看看我的另一个爆款回答:
到什么程度才叫精通 Linux?我们简单来看下运维做啥

从上面的思维导图可以看到,运维又分为5个方向:系统运维,数据库运维,Python运维开发,网络安全,云计算运维。它们的工作内容如下:
系统运维(SYS):负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修,工作职责如下:IDC数据中心建设、网络建设、LVS负载均衡和SNAT建设、CDN规划和建设、服务器选型、交付和维护、内核选型和OS相关维护工作、资产管理、基础服务建设。
数据库运维(DBA):数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下:设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化、自动化系统建设、运维研发、运维平台、监控系统、自动化部署系统。
网络安全(SEC):运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理,工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。
云计算运维:云计算工程师负责云平台的日常维护、调试优化工作;负责整理公司云平台相关的技术文档和使用手册,做好云计算产品技术积累。
Python运维开发:运维开发工程师负责服务器、网络、存储、应用运维监控和自动化的开发规划管理工作;负责设计、开发基于运维场景的各种运维产品,建设运维监控与自动化平台。
Linux运维学习路线,实用Linux教程,推荐学习收藏Shell开发在运维中的经验总结
243 张图片为你解析 Linux 轻量级自动运维化工具 Ansible
Linux 下的这些高效指令,是你快速入门运维的神器
分享实用监控脚本:使用Shell检查进程是否存在
我们再来看看开发做啥

开发主要有两个方向:

  • 应用开发
  • 底层开发
应用开发工程师主要在Linux 环境下开发各种应用程序,就如同你们在 Windows 下开发的应用程序一样(比如QQ,PC微信等)。这些应用程序有些带有界面,也有很多是不带界面的。带界面的很多是由 QT 开发,当然也有其他的开发工具。
底层开发工程师就会跟内核、uboot、文件系统、驱动等比较底层的东西打交道。但是,很多移植类的工作芯片厂商都已经给你做好了,很多底层工程师都是做维护的工作,以及驱动开发的工作。
Linux应用开发自学之路一份Linux shell“圣经”收好重新再来看为什么要学习Linux

知道了Linux从业的几大方向之后,我们重新来看看,为什么要学习Linux。首先我们从企业的角度出发,毕竟大部分人毕业之后是要进入到企业工作,企业有什么需求,我们就去满足企业的需求。
现在的企业有90%甚至更多是使用Linux操作系统,所以不管是做开发还是运维,不会点Linux知识肯定是无法进入到企业里工作。而且,很多企业的岗位职责里写要需要精通Linux(精通,呵呵!到什么程度才叫精通 Linux?)。
而且,全球500强超级计算机几乎都是使用Linux操作系统,这也是Linux操作系统实力的见证。


为什么企业偏爱Linux操作系统?很简单,主要有三个原因:

  • 开源
  • 免费
  • 稳定
即使是对Linux一知半解的小白肯定也知道Linux是一个开源免费的操作系统。
开源,就使得我们可以根据自己的需求对操作系统进行二次开发,而且我们可以获取到整个操作系统的源码,系统到底对我们的电脑做了啥我们一清二楚。不像Windows、MacOS那样闭源,鬼知道他们对我们的隐私数据做了什么。
免费,就更不用说了,很多时候钱是占据了很大甚至绝对的决定性作用。毕竟企业不是慈善机构,企业也要赚钱,能节省开支的何乐而不为。
稳定,这也是企业非常注重的一个因素。企业里有很多服务器要求7*24小时不间断稳定运行,而这更是Linux最擅长的地方。很多时候Linux更新升级或者配置某一项操作的时候,只需重新启动对应的服务即可,无需整台电脑重新启动。而反观Windows操作系统,动不动就要求你重启,大家应该深有体会。
说完了企业,我们再来看个人为何选择Linux操作系统。
使用Linux作为日常操作系统的朋友,大部分是程序员,毕竟非程序员还真的hold不住。那么Linux操作系统怎么满足我们的日常使用呢?其实日常基本使用是绰绰有余的。


由此可见,不管是日常使用,还是编程开发,Linux操作系统都能轻松胜任。那么,我们要选择哪个发行版吗?这里给出一些参考。
如何免费在线试用 200+ Linux 和 Unix 发行版?
10款最佳轻量级Linux发行版,什么配置的旧电脑也能焕发生机
为什么我抛弃了 Ubuntu?
挑选指南:2020最佳Linux发行版鉴赏
安全研究人员最爱的12款Linux发行版
学习Linux需要看哪些书/资料?

学习Linux,肯定要选择对书籍,对于几个方向的Linux学习,我都列出了清单:
有没有比《鸟哥的Linux私房菜》更好的书?
有没有学习Linux比较好的入门书籍?
求推荐学习linux命令的书籍?
嵌入式Linux有哪些好书推荐?


有了书籍,还需要一些资料,我同样也共享了。我自己本身也是自学过来的,所以我把自己自学过程中所使用的资料全部分享出来:
有哪些好的Linux学习资源?除此之外,也可以直接在我的公众号 良许Linux 后台回复 知乎 二字,免费获取我精心挑选过的电子书及优质资料。
如何入门并深入学习Linux

1. Linux学习路径
Linux应用开发自学之路这篇文章介绍了我从零开始自学转行Linux的完整过程,被很多大号转载,并且影响了很多人,大家可以参考。
自学简单编程可行吗?这篇文章更详细介绍了我是如何自学转行的,包括心路历程,转行过程,转行中需要注意的地方,以及更高效转行成功的方法。
Linux 思维导图整理(建议收藏)这是一个技术大佬整理的Linux思维导图,包括:Linux学习路径,Linux基础入门,Linux内核学习路线,Linux命令参考,Linux命令速查等等。这份导图虽然不是100%全面,但如果能够将里面全部内容掌握下来,你也是个高手了。
2. Linux环境搭建
2.1 虚拟机安装与配置
既然要学习Linux那肯定需要一个Linux环境。那么环境搭建有两个选择:1. 安装虚拟机;2. 直接在实体机上安装。对于这两个选择,我更倾向于第1个,因为前期学习一些命令及基础知识,直接在虚拟机上进行就可以了。
手把手教你安装Linux虚拟机
手把手教你配置Linux虚拟机
虚拟机常用的有两种:Vmware,VirtualBox。Vmware功能更强大,但是是收费的。而VirtualBox虽然功能不及Vmware,但对于新手完全够用了。这两篇文章所使用的是Wmare,手把手教你安装并配置虚拟机,图文并茂,一路跟下来就可以安装并配置好虚拟机,完成最基本的搭建。


2.2 主机与虚拟机文件共享
虚拟机安装好之后,还有一项很重要的工作要做,那就是实现虚拟机与主机的互通,也就是互相共享文件。实现文件共享有很多方式,一般而言有以下几种:

  • 使用 FTP 协议实现文件共享
  • 使用 samba 协议实现文件共享
特别地,对于Vmware有一套自己的专属文件共享方式,VirtualBox应该也有,但我没去研究过。对于Windows与Linux之间的文件共享,我们一般会用到一款很强大的共享工具——WinSCP,当然还有很多类似工具,比如Xftp,FileZilla。这些工具其实都是基于FTP协议,使用起来也大同小异,都非常方便。


2.3 终端工具
作为一名Linux工程师,不管是运维还是开发,我们很多时间会是在命令行下工作。我一般是把虚拟机打开着,然后使用终端工具远程到虚拟机进行操作。这里推荐一款很强大的终端工具——MobaXterm,它的功能十分强大,界面也非常友好,我用上一次就爱不释手。
当然还有很多好用的终端工具,比如XShell、secureCRT、Putty、telnet等,选择一个自己最喜欢的工具即可。


2.4 编程工具
如果你是一名Linux开发人员,那你的工作肯定少不了编程。我一般的作法是,在Window上使用代码编辑工具编好代码,然后在Linux下编译。我经常使用两个工具:Notepad++Sourceinsight
使用notepad++远程编辑虚拟机文档
代码阅读神器——Sourceinsight
当然我们也可以直接在Linux下写代码,在Linux下编译。Linux下写代码也有很多软件,常用的比如最性感的编辑器——Sublime Text。


更多更完整内容,请参考我的这篇回答,耗时整整一天,在知乎反响不错,各位朋友可以看看:
如何更深入地学习 Linux?<hr/>学习编程,千万不要急于求成,一定要多读一些经典书籍,多看源码,多下苦功夫去死磕代码,这样技术才能长进。给大家分享一些程序员必读经典书籍,一定要多读几遍:


对应书单:
程序员必读经典书单(高清PDF版)附:近期高赞回答
Linux的功能有多强大?
学习Linux有没有比《鸟哥的Linux私房菜》更好的书?
有没有学习Linux比较好的入门书籍?
码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励。我是:
@程序员良许
欢迎关注我!
我的个人网站,满满的都是Linux干货:良许Linux教程网
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
jackboy 发表于 2023-10-14 16:53:16|来自:北京 | 显示全部楼层
http://www.libprima.net
<hr/>以下内容转自 http://zhangzk.net/blog.html 。转载请注明出处。

自由谈 (2014 年 3 月 15 日,科英布拉)

起这么吓人的一个题目,其实只是想写一下 Linux。但我保证决不做标题党。 请注意,这是一篇充满正能量富有哲理的小清新鸡汤文,操作系统狂热分子请止步

用 Linux 五年多了,但此前我从来没有就此写过一句话。不过我倒是经常问别人:你用什么操作系统?尤其对刚认识的人。因为用 Linux 的人很可能跟我三观接近,比较容易成为朋友 (警告:逆命题不成立!)。一个无关痛痒的问题能提供如此重要的信息,何乐而不为之?

“三观” 这个词眼下很流行。这原本是一个严肃的概念,现在也不可避免地被解构了。我说的是它的本意。一个人的三观是什么决定的?无非是她/他经历的人与事。正常情况下,能影响到三观的经历只占极少数。对于跟我一般固执的人,这个比例就更低。如果连中午吃馒头还是米饭都管用,这三观也忒不值钱了。

那些重要的人恐怕在回忆录甚至遗书里才好写,重要的事倒是可以提前说道说道。对我而言,从 Windows 转向 Linux 可算是其中之一。

一个操作系统而已,似乎跟馒头和米饭没多大差别,有这么重要吗?

回答这个问题之前,我们先来看看 Linux 与 Windows 最本质的区别在哪里。有人会说前者免费,后者需要买 (或偷)。这只是对 “free software” 的曲解。在我看来,二者最重要的区别乃是它们对自己的用户所做的假设对于 Linux,这个假设是:

用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。

而 Windows 则恰好相反:

用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。

说得更直接一些,前者假定用户是负责任的聪明人,后者反之。Linux 用户不必沾沾自喜,Windows 用户先把刀放下。这些只是假设,它们的 (不是我的) 假设。

这么滴吧,我讲个故事,一来呢,测验一下你的智商;二来呢,缓和一下尴尬的气氛。听好,可招笑了。说,要把大象装冰箱 … 呃,不,故事是这样的:
一位雕刻家爱上了自己创作的女神雕像。他每天对着雕像说话。最后,那座雕像真的变成了一位女神。
这个故事还有另一个版本,你肯定听过:
在一所小学里,心理学家随机选择 20% 的学生,告诉老师他们比别人更聪明。一年之后,这些学生的 IQ 测验果然 (在统计意义上) 更佳。
这个故事流传甚广,但很少有人给出参考文献。这是历史上真实存在的一个试验,1963 年由罗胜道与贾步升在美国加州南旧金山市橡树小学实施。罗是加州大学心理学家教授,而贾时任橡树小学校长。二人于 1968 年就此试验发表了《课堂上的毕马隆效应》,这里是 BibTeX:
  1. @book{pygmalion,
  2.     title={Pygmalion in the Classroom: Teacher Expectation and Pupils' Intellectual Development},
  3.     author={Rosenthal, R. and Jacobson, L.},
  4.     url={http://books.google.pt/books?id=9HbuAAAAMAAJ},
  5.     lccn={lc68019667},
  6.     year={1968},
  7.     publisher={Holt, Rinehart and Winston}
  8. }
复制代码
毕马隆是希腊神话里的一位雕刻家,就是爱上自己作品的那位。这 (两) 个故事告诉我们:第一,只要功夫深,不怕女神不动心;第二,如果有心理学家来你们学校做试验,躲得越远越安全 —— 80% 和 20%,你觉得哪个几率更大一些?

细心的人可能注意到,上面的故事还告诉我们,他人的期望会在一定程度上影响我们的行为。这就是罗胜道与贾步升所说的 “毕马隆效应”。

Windows 如何影响用户的行为我不清楚,而 Linux 对用户的影响倒是十分有意思。既然假定 “用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责”, 如果发生毕马隆效应,那么相当一部分用户会慢慢学会用自己的脑袋思考,按自己的意志行事,并为自己的行为负责。这就是自由,也是 “free software” 之 “free” 的本意。

说到自由,不能不提 John Stuart Mill (约翰·斯图亚特·穆勒) 的 On Liberty (《论自由》)。 我有一本严复先生译的《群己权界论》,买英文版赠的。由于是赠本,印刷装帧不免略显简陋。一次,我的一个同学拿起这本书看了两眼,问我,这是什么书,不是哪个邪教的教义吧?严复恐怕想不到,在他身后近百年,在他的国家二度成为共和国之后六十多年,一个受过良好教育的高级知识分子会把他的译著当做 “邪教教义”。

可能有人要问,所谓的 “按自己的意志行事” 不容易发展为自私自利吗?的确如此,如果没有后面那句 “并为自己的行为负责” 的话。这就是严复把 “On Liberty” 译为“群己权界论” 的原因。任何一个人,只要不是离群索居,她/他的自由就有一定的界限,而所谓 “为自己的行为负责” 至少包括遵守界限并承担越界的一切后果。自由绝不等于为所欲为。如果有人说 “free software” 就是用户可以为所欲为的软件,那还不如认为它是 “免费软件”。

前两天听到一个有意思的观点:全能型政府治理下的老百姓往往公德心不太好。比观点更有意思的是解释:如果家里来了一个保姆,请来之后才发现他什么都管,从头到脚为你立一堆规矩,更不幸的是这个保姆还辞不掉,那很多人可能会 “理性地” 选择与保姆对着干 —— 乱扔烟头、随地大小便、扰乱他干活。观点我同意,但解释我不敢苟同。在我看来,这种现象跟操作系统影响用户行为是一个道理,不过是毕马隆效应罢了。既然假定老百姓素质不高、无法自理,那么久而久之这可能会变成 (统计意义上的) 现实。与之相关的是陈港生的名言 “国人需要管”。这句话本身无可挑剔。“群己权界” 本来就暗示每个人都要为他人让渡自己的一部分自由;在社会上这需要通过管理来实现,所以 “每个社会人都需要管”,国人自然不例外。不过,如果陈先生的意思是 “国人比别人更需要管,因为国人比别人更不具备公民素质”,那可要小心了。一旦这种言论大行其道,其毕马隆效应将是非常可悲的。另外,不难注意到,这其实是一种种族歧视言论。在一个高级知识分子把《群己权界论》当邪教教义的社会里,即便有人堂而皇之散布这样的言论也不奇怪。当然,这都是诛心之论,陈先生是好的。

好像越扯越远了,说好的 Linux 呢?其实我对 Linux 的了解十分有限,从来是现学现用,谷哥就是我的老师。所以,我没有资格在技术层面上谈论 Linux。不过有几个非技术问题倒是可以探讨一下。

问题一:Linux 对用户友好吗?

回答:“Linux is user-friendly. It's just very selective about who its friends are.” 这句话没有出处,主语本来是 Unix,但 Linux 是 Unix 的一种 (吗),所以它对 Linux 也成立 (吧)。很多人把这句话当作笑话,但对照一下 Linux 对用户所做的假设,我们会发现这句话严肃至极,一点都不好笑。Linux 对用户很友好,但它对自己的用户是有假定的。如果你感觉不到他的友好,那说明你不满足假定。

问题二:听你一说,Linux 好像很高大上的感觉。如果我弃 Windows 从 Linux,用不了多久就会升职加薪当上总经理出任 CEO 迎娶白富美走向人生巅峰吧?想想还有点小激动呢!

回答:我不知道你是从哪里听出 Linux 高大上的。至于你的问题嘛,我还是再讲个故事吧:

一个女生要从三个追求者中选择一个作为自己的白马王子。三人通过重重考验,来到最后一关。女生要求他们亮出自己的笔记本电脑,结果发现第一个追求者用的是 Windows,第二个用的是 Linux,而剩下那个用的当然是 Mac 了。最后她选了胸大,哦不,最有钱的那一个。

对了,你不会天真到以为用 Mac 的就一定有钱吧?

问题三:上面那个故事里的女生到底应该选哪个?

回答:如果你对故事里给出的答案不满意,这个问题就难了。不过,如果这个女生想做女王大人,断不可选择第二个追求者。否则,根据毕马隆效应,白马王子可能会因抑郁而自尽。

问题四:到底 Windows 和 Linux 哪个好?我该用哪一个?

回答:Linux 和 Windows 哪个好?这个问题就跟纠缠豆腐脑该加糖还是加盐一样没有意义。操作系统只是一个工具,适合你的就是最好的。Linux 传教士们,省省吧!“自由即责任,世人多畏之。” 不论到什么时候,Linux 用户都将是相对少数,这是人性决定的。如果真的理解 Linux 的哲学,那你应该明白,每一个人都可以问 “我该用哪个”,但任何人都不应管 “她/他该用哪个”。Windows 支持者们,不要再说 “Linux 我试过,太难用,跟 Windows 差距太大”。这很可能是你的真实感受,但明智的做法是装作从来没试过,不要宣扬。原因很简单:“若无力驾驭,自由便是负担。”

问题五:你怎么不说 Mac?

回答:买不起。

问题六:说好的哲理呢?说好的正能量呢?说好的小清新呢?说好的鸡汤呢?我看你就是一个 “操作系统狂热分子” 吧?

回答:曾经是,但经过积极改造,现在已经重新做人,成为一个实用主义者了。只要满足以下三条,任何操作系统我都乐于接受:

1. 用户自主。用户决定系统如何工作,而不是反之。任何提示用户 “正在安装更新,请不要关机” 的行为都跟不以结婚为目的的恋爱是一个性质。用户是机器的主人,操作系统只是用户请来的助手;用户知道自己想要什么,明白自己在做什么,也会为自己的行为负责;操作系统尽量少说话,更不要下命令。用户自主还蕴含系统的可定制性:用户可以对系统做任何配置或改造。

2. 用户知情。如有必要,用户可以获知系统工作的任何细节,而不是仅仅被告知 “正在处理一些事情” —— 这比不以结婚为目的的恋爱还让人无法接受。

3. 系统高效。在此系统下用户可以很方便地获得各种工具,并且不同工具能很容易地组装在一起完成复杂的工作。机器更多是用来干活的,所以这一点很重要。

以此为标准,Linux 目前是个不错的选择,而 Windows 不满足任何一条。

怎么,你仍然认为我是操作系统狂热分子?对不起,真不是,我只是选择了自由。
Liberty means responsibility. That is why most men dread it.
 —  George Bernard Shaw
Unless a man has talents to make something of himself, freedom is an irksome burden.
 —  Eric Hoffer
夕遥 发表于 2023-10-14 16:53:40|来自:北京 | 显示全部楼层
1.Linux让一切都联系起来。
《操作系统》、《计算机网络》、《计算机组成原理》......纸上得来终觉浅,
但作为操作系统一个具象,在这个里汇集,你可以阅读源代码[1]一窥其中的玄机。
你亦可以同世界人民一道,自己动手写操作系统[2]。
2.Linux让你学习。
浸染一段时间后,你不禁会想要了解Linux的发展史,它跟Mac,跟Windows跟Unix是
什么关系?有没有必要打嘴仗?请看《The Art Of  Unix Programming》[3]
你可能还会想要了解Linux是在怎样一种环境中冒出来的,你需要了解
自由软件运动和开源软件运动[4]。
你可能阅读过《软件工程》中提到的《人月神话》,里面提到的外科手术式的软
件开发方式,不妨读读《教堂与集市》里描绘的另外一番景象,它所探讨的正是
Linux的开发方式[5]。
3.Linux让你实践自由。
ArchLinux[6]、Suse、Ubuntu、CentOS、Debian、Gentoo、Fedora、Linux Deepin......
they are all free.
4.Linux让你思考。
以为Unix能满足所有人?请看诙谐的《The Unix-Haters HandBook》[7]
以为C主宰这个世界?看过上面那本书,你会想要了解Lisp[8]的,相信我。
5.Linux让你与世界沟通。
你想要添砖加瓦、沟通,邮件列表、个人博客、同伴审查......
6.Linux让你......
Linux承载的东西太多,它鼓励大家通过代码分享智慧,
它是一个开放的、自由的平台的核心力量,Linux让你参与进来。
[1]源码:
https://www.kernel.org/
[2]OS Dev:
http://wiki.osdev.org/Main_Page
[3]The Art Of Unix Programming:
http://catb.org/esr/writings/taoup/html/
[4]自由与开源:
https://en.wikipedia.org/wiki/Free_and_open-source_software
[5]The Cathedral and the Bazaar:
http://www.catb.org/esr/writings/homesteading/
[6]这个经折腾:
https://www.archlinux.org/
[7]The Unix-Haters HandBook:
http://en.wikipedia.org/wiki/The_Unix-Haters_Handbook
[8]Structure and Interpretation of Computer Programs:
http://mitpress.mit.edu/sicp/full-text/book/book.html
zk2008 发表于 2023-10-14 16:53:59|来自:北京 | 显示全部楼层
用 Linus 本人的话来说,用户不需要接触到操作系统。操作系统的功能是给应用程序提供API,因而,只有开发人员才需要学习操作系统。
一般而言,用户只需要学习“应用程序”。你需要掌握你要用的应用程序,无论是什么系统,如果你必须的应用程序恰好在 Linux 下才有,或者在 Linux 下才好用,那么你就需要安装一个 Linux ,但你仍然并不需要去学习它。
只有开发人员才需要学习一个操作系统本身。用户只需要学习操作系统里面的每个“应用程序”怎么使用。——如果你说你为什么要学习一个操作系统,那么比较靠谱的答案大概是:你需要成为这个系统的开发人员。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则