当工业遇上AI,Linux成了那座桥。
做了十几年Windows上位机,我突然发现,未来的底层操作系统不叫Windows。
01 一个工控老炮儿的觉醒时刻
上周,我帮一个客户部署AI视觉检测系统。
客户的产线用的是三菱PLC,上位机是我熟悉的C# WinForm,一切都在我的舒适区里。直到AI模型部署那一步——
这个模型要跑在Linux服务器上,Docker部署。集成商的工程师轻描淡写地说。
我愣了一下。Linux?Docker?这些词我听过无数次,但说实话,我从来没真正碰过。
那天晚上,我翻来覆去睡不着。
做工控上位机十几年,我太熟悉Windows了。从.NET Framework到SQL Server,从Modbus到OPC UA,闭着眼睛都能搭出一套系统。
但AI时代来了。
大模型要跑在Linux上,边缘计算要跑在Linux上,Docker容器要跑在Linux上,甚至很多新的工业网关、智能传感器,底层都是Linux。
我突然意识到:如果说过去二十年,工控人的底层操作系统是Windows;那未来十年,这个答案很可能是Linux。
而我,还停留在上一个时代。
02 AI时代,Linux为什么突然变重要了?
你可能会说:Linux不是一直都在吗?服务器不都是Linux吗?
没错。但过去,Linux是后台的后台——它在机房里跑着,你不需要直接碰它。有运维工程师管着,你写你的Windows程序,它跑它的Linux服务,井水不犯河水。
但AI时代,一切都变了。
第一个变化:AI把Linux推到了前台。
以前,你做一个MES系统,前端是WinForm,后端是Windows Server + SQL Server,全栈Windows搞定。
现在呢?你要加一个AI质检模块,模型是PyTorch训练的,要部署在Linux上;你要用大模型做智能客服,API服务跑在Linux Docker里;你要做边缘计算,边缘网关是Linux系统。
Linux不再是远处的别人的事,它变成了你技术栈里必须懂的一层。
第二个变化:开源生态全面倒向Linux。
AI领域最火的框架——PyTorch、TensorFlow、LangChain,哪个不是Linux原生支持最好?
容器技术Docker、K8s,哪个不是从Linux长出来的?
时序数据库InfluxDB、TDengine,消息队列Kafka、RabbitMQ,哪个不是Linux上跑得最稳?
开源世界的重心,早就不在Windows上了。你想跟上AI的节奏,就得进入Linux的生态。
第三个变化:工控领域也在悄悄变天。
你可能觉得工控是Windows的地盘。确实,现在大部分上位机还是Windows。但你注意到没有——
新出的工业网关,越来越多是Linux系统;
边缘计算盒子,基本都是Linux;
智能传感器、工业相机的SDK,Linux版本越来越完善;
甚至PLC都开始支持Linux运行时了。
趋势很明显:Windows还会在,但Linux正在从可选变成必选。
不是Windows不行了,而是未来的技术蛋糕,Linux切走了越来越大的一块。
03 说实话,我为什么要学Linux?
坦白讲,我不是什么技术天才。
我就是一个做工控上位机的老程序员,C#写了十几年,Windows熟得不能再熟。让我从零开始学一个新操作系统,说不怵是假的。
但我还是决定学。原因有三个:
原因一:我不想被时代甩下车。
十几年前,我从VB转到C#,因为我知道.NET是未来。那时候很多老程序员说VB够用了,后来呢?
今天的Linux,就像当年的.NET。
你可以不学,但你看着身边的项目越来越多用到Linux,看着年轻工程师随手就能部署一个Docker容器,你确定你能一直躲在Windows的舒适区里?
我35+了,我比谁都清楚:技术人最大的风险,不是学不会新东西,而是拒绝学新东西。
原因二:Linux能打开我的技术边界。
做了这么多年工控,我一直有个遗憾——我的技术栈太窄了。
我会写C#,会连PLC,会做界面,但再往底层走,我就不懂了。操作系统怎么工作的?网络协议怎么跑的?服务怎么部署的?这些我都是一知半解。
学Linux,本质上是补一堂计算机底层课。
懂了Linux,你才能真正理解什么是进程、什么是线程、什么是文件系统、什么是网络栈。这些底层知识,会反过来让你上层的代码写得更好。
原因三:我想做更酷的东西。
说点实在的——AI、机器人、边缘计算、数字孪生……这些听起来很酷的东西,哪个离得开Linux?
我想在自己的工控项目里接入大模型,我想做边缘端的智能检测,我想玩Docker和K8s,我想试试把我的轻量MES部署到Linux服务器上。
这些想法,没有Linux基础,都是空想。
学Linux不是为了换赛道,而是为了把我的赛道拓宽。
04 学Linux到底学什么?别被命令行吓住了
很多人一听到Linux,第一反应就是:满屏的黑框框,敲各种看不懂的命令,太复杂了。
说实话,这也是我以前的印象。
但真正开始了解之后,我发现Linux没有那么可怕。而且,我们普通人学Linux,根本不需要学成专家。
我把Linux学习分成了三层,你可以对照一下自己需要学到哪一层:
第一层:能用——会基本操作,能部署服务。
这一层是最实用的,也是大部分人需要掌握的。
你需要会安装系统、会用基本命令(ls、cd、mkdir这些)、会编辑文件、会安装软件、会部署简单的服务、会用Docker。
达到这一层,你就能自己部署一个AI模型、跑一个Web服务、管理一台Linux服务器了。
对于工控人来说,这一层足够解决80%的问题。
第二层:懂原理——理解操作系统怎么工作的。
这一层是进阶。你需要理解进程管理、内存管理、文件系统、网络协议、Shell脚本编程这些。
达到这一层,你遇到问题能自己排查,能写自动化脚本,能优化系统性能。
如果你想做深入的技术工作,这一层是必须的。
第三层:成专家——内核、驱动、底层开发。
这一层是专业领域了。内核编译、驱动开发、系统调优……这些是专门做Linux的工程师需要掌握的。
我们普通人,除非特别感兴趣,否则没必要学到这一层。
我的目标很明确:先搞定第一层,再逐步深入第二层。第三层?以后再说吧。
你看,Linux没有那么遥不可及。我们不需要成为内核专家,我们只需要能用、够用、能解决问题。
05 我的学习计划:用一年时间,从Linux小白到能干活
光说不练假把式。既然决定学,就得有个计划。
我给自己定了一个目标:用一年时间,从Linux小白,成长为能独立部署和运维Linux服务的实战派。
怎么学?我想了很久,最后决定——
用输出倒逼输入的方式学。
什么意思?就是我每学一个知识点,就写一篇文章分享出来。一方面,写文章的过程就是梳理知识的过程;另一方面,也能倒逼自己坚持下去。
而且,我想邀请你一起学。
我知道关注丁丁智造的朋友,很多都是工控人、程序员、技术爱好者。你们可能也像我一样,觉得Linux很重要,但一直没下定决心学。
没关系,我们一起。
我从零开始学,你从零开始看。我踩过的坑,你不用再踩;我总结的经验,你直接拿走。
这就是我要做的新系列——
《丁丁学Linux》:一个工控人的AI时代底层课。
整个系列我规划了四个阶段,大概30篇文章:
第一阶段:入门篇(约8篇)—— 先让Linux跑起来
从安装系统开始,带你认识Linux桌面、基本命令、文件系统、用户权限……目标是:你能像用Windows一样,基本用起来Linux。
第二阶段:进阶篇(约8篇)—— 会用命令行,能写脚本
深入Shell命令、Vim编辑器、Shell脚本编程、软件包管理、网络配置……目标是:你能在命令行下高效工作,能写简单的自动化脚本。
第三阶段:服务篇(约8篇)—— 能部署服务,会玩Docker
Web服务器、数据库、Docker容器、Docker Compose、服务部署与运维……目标是:你能独立部署一个完整的应用服务。
第四阶段:实战篇(约6篇)—— 用Linux做AI和工控
部署AI模型、搭建MQTT服务器、运行时序数据库、边缘计算实战……目标是:把Linux真正用到你的工作项目里。
我不是老师,我是和你一起学习的同学。
写在最后:为什么要现在开始?
有人可能会说:Linux出来几十年了,现在学晚不晚?
我的答案是:不晚。恰恰是现在,最该学。
因为AI正在把Linux从后台推到前台,从可选变成必选。
因为开源生态的重心已经全面转移到Linux,你想跟上技术潮流,绕不开它。
因为工控领域正在经历智能化升级,Linux是你必须补的一堂底层课。
更重要的是——
学习这件事,最好的时间是十年前,其次是现在。
如果你也想一起学Linux,欢迎关注丁丁智造,我们一起从0到1,把这堂课补回来。
下一篇,我们从最基础的开始:《第1篇:Linux是什么?为什么有这么多发行版?》
不见不散。