pic100 发表于 2023-11-8 19:11:06

学习Linux有什么用?

学习Linux有什么用?

chysh 发表于 2023-11-8 19:11:48

1. 什么是Linux

1.1 Linux的地位

随着 IT 系统和工作负载变得愈发复杂,底层基础架构和操作系统必须做到可靠、可扩展并且有助于提高性能。从裸机到虚拟环境,再到云环境和容器,无论是传统还是创新型 IT 工作负载或部署工作,Linux 都能为之打下稳固基础。
1.2 关于Linux

Linux® 是一个开源的操作系统(OS)。它由 Linus Torvalds 于 1991 年构思设计而成,最初这只是他的一项兴趣爱好。当时还在读大学的 Linus 想要基于 Unix 的原则和设计来创建一个免费的开源系统,从而代替 MINIX 操作系统。自此,这项兴趣爱好便逐步演变成了拥有最大用户群的操作系统。如今,它不仅是公共互联网服务器上最常用的操作系统,还是速度排名前 500 的超级电脑上使用的唯一一款操作系统。并且Linux也没有那么难用,几乎每个 Linux 发行版都有一个图形用户界面(GUI),用于简化点击操作。现在你看到的文章,就是用Linux写出来的,其发行版是Arch Linux。
1.3 Linux 能做些什么

Linux 能为几乎所有类型的 IT 计划奠定基础,包括容器、云原生应用和安全防护。许多全球规模最大的行业和企业都仰赖于 Linux——从 Wikipedia 等知识共享网站,到纽约证券交易所,再到运行 Android(一个包含免费软件的 Linux 内核专用发行版)的移动设备,它无处不在。经过多年的发展,Linux 已成为了行业广泛接受的标准,成为在数据中心和云部署中运行高可用性、高可靠性和关键工作负载的首选。它有适合不同目标系统和设备的多种用例和发行版本,而且功能丰富 ,完全可根据您的需求和工作负载进行调整。
微软也以其他方式引入了 Linux 和开源技术,其中包括:推出 Linux 版 SQL Server;将 .NET 框架(.NET Core/Mono)打造成一种开源技术,以便在任意平台上运行;允许使用 Linux 的开发人员利用这个框架来开发应用。到 2027 年,所有 SAP 客户都会改用 SAP HANA,这是一个只能在 Linux 上运行的内存中关系数据库管理系统。但截至 2017 年,SAP 市场上尚有 50% 的客户使用的是 Windows 产品。
而在云技术方面,即使是在 Microsoft 的 Azure 上,也有 60% 以上的 Azure Marketplace 镜像和近 ⅓ 的虚拟机是基于 Linux 的。与此同时,Amazon Web Services 和 Google Cloud Platform 还以公用镜像的形式推出了多个 Linux 发行版。
未来,Linux 仍会是热门的操作系统之一,并且更会有越来越多的系统因其稳定性和可扩展性择木而栖。
1.4 Linux安全吗

安全这件事,一直被人看中,在前面我们已经提到了Linux是一款开源的操作系统,谁都可以为它发布程序或者修补程序,我们并不能保证那些修补程序都是安全无害的,所以Linux也并不是完全安全。但是,它凭借着用户群体较少,注意这里说的不是公司或企业!!!在安全这块,Linux可以完全让您信任。当然效率也很高。这里特指Windows Server,微软自己都不会用,全世界超过百分之99的服务器在运行着Linux系统,这样的占比,可想而知。
1.5 Linux都分什么版本

1.5.1 运行在服务器上的Linux

这里谈论的是在服务器上面部署并且运行的Linux操作系统,这类系统必须满足“安全,稳定,高效,可维护性高”,这几个条件。除了这几个条件,也要满足软件需求,以方便后期的业务操作。例如Apache、MySQL和PHP这些在服务器版中是标准配置。需要注意,这些Linux发行版,都是没有DE的,DE即桌面环境。
1.5.2 供个人使用的Linux

这里谈论的是在个人桌面环境使用的Linux,即桌面版。这类系统一般内置了DE以及一些开源驱动。在桌面系统中,你可以随意搭配桌面环境以及部署你的开发环境,例如著名的Debian操作系统,即可以部署到服务器上面又可以给个人开发者一个稳定高效的桌面环境。
2. 我和Linux的关系

2.1 Linux就在我们身边

你低头看看你正在浏览的博客,它就是建立在Linux系统之上的,在看看你的安卓手机,它也是由Linux衍生出来的。还有每年的双十一等活动,你所下单购买的商品,都是需要经过服务器处理,而这些服务器运行的大部分都是Linux系统,所以,Linux它就在我们身边,默默支撑着我们的生活。
2.2 我可以做什么贡献

Linux是一个开源免费的,它向我们所有人开放,你可以任意去修改然后去发布。例如软件包,我们都知道没有软件的系统是枯燥无味的,所以你可以成为个人开发者,然后去编写一个软件,将它发布到GitHub或者软件包仓库里面。或者你使用最原始的系统从头编写一个属于所有人的系统,这样也是可以的。\
3. 我需要学习Linux吗

3.1 前言

假如你是一个汽车工程师,或者还在学习造汽车的技术,那如果业界有这么一款汽车,性能稳定,设计思想优秀,而且不断在改进,汽车内部一些模块的实现方式甚至成为了业界标准,不仅如此,这款汽车的内部所有详细的技术资料都可以免费获取,也正因为如此,市面上也萌生了超级多的 Linux 发动机构造详解,深入理解 Linux 悬挂系统,你觉得你需不需要学习这款汽车?
答案是当然得学,不学不行。
3.2 我为什么要学

使用Linux,它免费,稳定,并且有大量优秀的开源软件可以使用,学习Linux,它继承了大部分Unix的设计哲学,源码公开,社区健壮,教程数不胜数。所以Linux是计算机学习者和工程师必学/用的东西,谁都逃不开。和Windows不同,Unix把软件的复用性做的非常好,每一个工具,都只做一件事,但要把这件事做到极致。排序的程序,就只排序,过滤的程序,就只过滤,统计行数字数的,就只统计行数字数,每个工具各司其职,当使用的时候,使用 pipe 管道将它们连接在一起,从而实现了复杂功能。从这一点就可以看出,Linux的效率非常高。这里还是要重申一下Linux的江湖地位,很多人想转行或者入门IT 运维,Linux作为云计算,是必须要掌握的技能,安利给大家一个可以轻松入门的课程,想提升的同学都可以先试听,比不知道怎么摸门道会省事不少。
3.3 它和Windows有什么区别

Windows系统上,需要一个复杂庞大的应用实现的功能,在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作为行业敲门砖,主要包括红帽认证技师(RHCSA),红帽认证工程师(RHCE)和红帽认证架构师(RHCA)。是以实际操作能力为基础的测试项目,主要考察考生在实际操作系统中的实践能力。而且Linux提供了 “namespaces” 技术,这是一种可以把进程,文件系统,网络等资源通过 namespace 隔离开来的技术,它可以实现非常轻量的虚拟器(容器),而我们现在常常提到的 docker,就是基于此技术开发出来的。在 Linux 系统下,借助 seccomp 系统调用,你可以更加容易的实现沙盒环境,使用沙盒环境,你可以开发一个类似 leetcode 的线上刷题网站,把用户写好的代码放在沙盒里运行,不仅能限制系统调用的使用,还能限制资源的使用量。而且现在实现了CFS 调度器,用每个进程应该使用多少百分比的 CPU 时间去调度,而不是根据优先级粗暴的分配一个时间片,实现了所谓的“完全公平”调度,而其基于红黑树 + 最左节点缓存的实现方式,也非常值得我们学习。Linux 有组织良好的 man page,如果想知道某个工具如何使用,某个系统调用是做什么的,某个库函数怎么用,只需要一个 man 命令即可,文档良好的组织大大缩短了你寻找文档的时间。
3.4 写在最后

不知不觉写了快4000字了,感谢你能看完这篇文章。当然你可能会觉得Linux之路很艰难,很枯燥。但这些都是学习Linux所必须的。最后引用一下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 也同样如此。

chinacfan 发表于 2023-11-8 19:12:06

没有用!如果你不是程序员,也没有立志于成为程序员或者创客的话!
用处大大的有!小到可以装b以及养家糊口,大到可以为国家做贡献!如果你想成为程序员或者今后成为创客,甚至想要做出一家大的科技公司的话。这个下面我会详细说到。
我都不用说Linux在嵌入式的应用之广,单单就给你看下Ubuntu这个发行版在特斯拉等炙手可热的产品中的应用,估计就能把你震撼到了,看图:

http://picx.zhimg.com/v2-40476eb0ced92875302eac7dd717fcfd_r.jpg?source=1def8aca
震撼到了吧!有不有!
好了,下面就正正经经的列下我认为学习Linux的好处吧。
第一,装b!你看下《黑客帝国》,《终结者》那些个电影,哪个牛x的黑客是拿个GUI图形界面的东西在那拿个鼠标到处点击捣鼓的,不都是一个个的命令行上捣鼓两下代码就把哪个机构的网络给瘫痪接手了!

http://pica.zhimg.com/v2-61dd70c53693c57ec01d9726de83295d_r.jpg?source=1def8aca
第二,系统免费啊!我相信不少人手头上的Windows都是网上找的Licenese吧?或者是找了哪个Cracker软件给crack的吧?有时觉得吃人家的嘴短,用人家的手长,想着要不付费算了,一看价格,立刻自我安慰说,不是我不想买,是真的Damn贵!
而Linux就不一样的,免费!且很多发行版让你选。如果哪个发行版表脸的说要收费,你就不用它就好了!开玩笑了,如果人家真的说要收费,更多应该是收服务费之类的,或者人家那个发行版真的做得非常出色,那么价格不贵的话,就支持下吧。

http://pica.zhimg.com/v2-faa5e77e628c542ab5e8cc363b1d4ae3_r.jpg?source=1def8aca
第三,软件免费。虽然也有一些收费的商业软件,但基本上你平时用得上的都是免费的。这个应该首先是得益于Gnu/Linux项目,提倡了Linux下软件的自由。但是注意这里自由不是免费,而是说你能自由的使用软件,获得源码等。但我觉得也正是因为这个动作,很多开发者就宁愿把开发的软件免费开源,而从macOS或者Windows中提供的版本上来收费。
况且,Linux下开发你会用到很多的库,而不少的库是用了各种开源的协议如GPL等,所以你基于其进行开发的软件也必须要开源。都开源了,你还收费就说不过去了吧。
第四,软件没有广告弹窗。Linux下软件为什么没有广告?很简单,玩Linux的人基本上都是一帮极客,用的都是命令行,一年下来用不了几次Linux桌面应用,你广告弹窗给谁看呢?真有这个精力,软件开发者都会把广告放到Windows上的版本上去了。那也许你会问,为什么macOS上也很少见到广告弹窗呢?这又是另外一个故事了,详情请到我历史文章上查看《为什么软件在windows上到处广告而mac上干干净净》这个视频。
第五,没有病毒。其实也不是完全没有病毒了,只是病毒更多是针对Linux服务器而不是Linux桌面。这个也很好理解了,首先,和上面的原因差不多,用Linux桌面的就那一小部分人,有空搞这个倒不如去搞占据绝大部分用户的Windows了。其次,Linux下的软件来源很多都是从自身发行版维护的软件源上来的,比如apt-get的source之类,不像Windows,能上个网就可以到处下载,里面被谁植入了病毒都不知道。当然,还有更多其他不同的原因了,不一一列举。对这个问题感兴趣的,也许可以看下我另外一个视频《为什么Windows比Mac更容易中毒》, macOS和Linux一样,都是属于*nix系列。
第六,做服务端开发。现在软件开发基本都是前后端分离的,特别是随着H5的兴起,已经很少软件是单独的一个客户端搞定的了,不少是已经做成webapp或者混合app的模式。那么服务端基本上就是在Linux上跑的。对前后端分离感兴趣的可以看下我另外一个视频《开发web应用一定要前后端分离吗?》。
第七,做运维。如上面说的,现在很多服务端用的都是Linux。你如果不想做开发,那么你学了Linux也可以去做运维,学会nginx等配置,docker容器等怎么玩,kunernetes编排等怎么用,devops现在多香,供不应求啊。对docker有兴趣的,可以看下我《什么是Linux发行版?为什么Docker可以不同发行版运行?》这篇文章,做下基本的了解。
第八,走嵌入式路线,发明创造产品。这个应该不用多说了吧,你市面上看到的各种产品,小到玩具车,大到机器人,大部分都是ARM+Linux来做的。不过搞嵌入式的话,要求稍微高点,最好能读一下Linux的源码,因为你到时估计需要做驱动,系统剪裁,定制等,这时我建议你先去看下我另外一个视频《新手阅读Linux源码的正确姿势》,里面有说新手应该怎么分步的由浅入深的去看Linux的源代码。
第九,开发自主操作系统!这个就宏大了。现在国家大环境下不是在提倡独立自主的ip和操作系统嘛,你看现在鸿蒙等不是正风头火势的。我觉得你如果能把Linux源码搞精通,对操作系统实现原理弄得清清楚楚,那么为国家做贡献的时候就到了,加入华为或者其他如JingOs等有开发自己的操作系统或者计划开发自己操作系统的企业!小,可以高薪养家,大,可以为国家添砖加瓦!
不过话又说回来,如我之前一个视频所说,我对JingOs这个产品是抱着怀疑的态度的。详情请看我的视频《号称全球首个iPadOS风格的国产操作系统JingOS》
以上就是我当前能想到的一些学习Linux的好处和用处吧,有如儒家提倡的修身齐家治国平天下,学个Linux,小可以养家糊口,大可以为国做贡献。
那么问题是怎么学呢?针对上面说的运维、后端开发、做操作系统等,不同的需求有不同的学习方法。这个时候我就推荐你看下我另外一个视频了《<a href="http://www.zhihu.com/zvideo/1347739037449510912" class="internal">怎么学好Linux?》
不回答这个问题不知道,原来自己最近这一个月写了这么多文章,做了这么多视频!我都快给我自己的坚持给感动哭了!
最后感谢大家的时间观看了,喜欢的欢迎关注我点个赞之类的。我会坚持给大家提供更好的内容!不要错过哦!

wo177775 发表于 2023-11-8 19:12:29

可以给你多一个选择!

想飞的菜鸟 发表于 2023-11-8 19:13:17

你可以清楚地看到大学操作系统课堂上那抽象难懂的各种概念到底是如何实现的!

wy1130 发表于 2023-11-8 19:13:38

首先你提了这个问题表明你不了解Linux,所以给你先科普一波:
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等。                        
Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统。 Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。
<hr/>其次,Linux可以做什么呢?
首先Windows可以做到的Linux都可以做到,关键是操作方式对用户是否友好。
Windows上面的PS大家都知道,Linux上有gimp可以完成同样的工作。Windows上面有office,Linux上有LibreOffice和WPS可以完成同样工作。只是可能两者兼容性不太好。现在steam也可以在Linux上运行,你要是拿Linux打游戏也不是不可以,不过用Linux打游戏简直是多此一举,Windows不香吗?
你可以用Linux来:

[*]Linux操作系统被广泛的应用于企业服务器领域,目前市场上的网络设备都是使用linux内核操作系统,一些网络服务器也是使用linux操作系统下面的服务搭建实现的。
[*]开发外围设备的驱动程序(这还需要你对硬件足够了解)
[*]驱动开发(也需要了解硬件)
[*]写程序,Linux自带Python
[*]搞一块树莓派,做一个机器人,顺便拿个挑战杯
[*]……
<hr/>如果你问我是怎么入坑Linux(我本科机械电子工程),那我会告诉你:为了装逼,因为装逼是刚需。但是现在我已经喜欢上Linux了。

最后打个广告,公众号:Manjaro Linux
页: [1]
查看完整版本: 学习Linux有什么用?