Linux菜鸟到老鸟的那些建议

相信很多同学对 Linux 的认识并不多,平常接触的也不多,对Linux 的开发运维等也是一无所知。如今,如果要做一名优秀的程序猿,掌握Linux 知识已经是一门必备技能了。

下面我会根据我近几年的Linux 工作经验以及对Linux 的了解,谈谈Linux 学习的过程中应该注意的一些问题,希望能使刚入行的小白少走弯路,尽快入门。

对于一些刚入行的小白来说,很多同学并不熟悉Linux ,因为平常使用Window MacOS 较多,对Linux 并没有太多的接触。所以最开始我先给大家从Linux 基础讲起来入门学习。

Linux 其实并没有大家想象的那么神秘和复杂,但是需要你有耐心、爱折腾。比如要彻底熟悉Linux 的分区并且熟练使用LVM ,没有多次的Linux 装机是不可能实现的,所以一定要爱折腾、有探索精神。对于“菜鸟”来说,如果你是刚开始接触Linux 的话,建议你现在虚拟机中运行Linux ,虚拟机的话大家可以用VMware 或者VirtualBox ,这里我推荐使用VirtualBox ,因为它小巧,安装包才80M ,而VM 却有600M ,对于刚入行的小白来说并不需要VM 那么多功能,会造成资源消耗。而且VirtualBox 是免费的,VM 是收费的,VirtualBox 完全能满足你的需求,所以这里建议VirtualBox

Linux 版本上呢,建议大家使用Ubuntu ,这个版本比较适合纯菜鸟,它对系统稳定性要求比较弱,入手比较容易。当然还有一些Debian Arch Gentoo CentOS LFS 等版本,可以说他们都是亲兄弟,大家可以在学会使用其中一个之后在更深入的了解其他版本。

在你挑选了一个合适的Linux 系统版本之后呢,你需要在虚拟机上安装他,这里建议你尽量不要使用图形界面,因为Linux Window 最大的区别就是Linux 的命令行,尽量使用命令行解决你在开发中遇到的问题。在学习命令行的过程中你需要简历自己的知识库,积累学习过程中所用到的命令行,起码常用的命令你都需要记录下来。

在熟悉了Linux 的命令行之后呢,下一个阶段你需要学习Linux 上的C/C++ 的开发、Bash 脚本编程、Java 等等。建议你不要使用图形界面的IDE ,而是使用VIM ,因为VIM 更适合小白,在熟练了VIM 之后再使用Eclipse GCC Make 等工具。建议开始阶段不要使用IDE 来开发是因为这不是Linux 的文化,集成的开发环境容易使你忽略很多你本该注意的问题。IDE 会帮你配置好很多东西,这样就会使你变懒,懒得去了解那些配置知识。

 

学习过程中遇到问题当然要多上网上查,但是手头必须要有一本很好的Linux 教材,这里建议大家学习 Linux 就该这么学 ,这本书对小白来说编写的非常友好,不像鸟哥的私房菜一样写的繁琐,像字典一样。也可以去官方站点看电子书网站叫linuxprobe ,多学习书籍还是相当有帮助的。这本书读完后相信你的技能会大涨,你会对Linux 编程有深入的了解,你会知道Linux Windows 的差异在哪儿?各有什么优缺点?Linux 常用命令是那些?还有Linux 系统编程的常用操作。

这个阶段可能很艰难但是一定要度过,这是学习Linux 的底线也是最重要的基础,如果你连这个阶段都没有度过或者感觉厌烦的话,那你还是放弃Linux 这条路吧,因为后期会有更大的挑战,如果怀着厌烦的心态去学习是走不远的。

在你学习到这个阶段的时候,是时候做分流了,你可以从网络、图形、嵌入式、设备驱动四个方向中选择一个你感兴趣的方向去扩展延伸。比如你选择的是网络的话,你可以进行编写服务器软件以及高性能并发方面的编程。我自己也是做这方面的,这个层面的技术含量还是很高的,也是非常有职业前景的,如果你对这方面感兴趣的话,可以选择这个方向。

如果你还喜欢驱动程序设计,那你需要多学习一下更底层的通信协议,比如链路层,写路由驱动、网卡驱动、网络设备驱动和嵌入式软件等等。如果你这些都很熟练的话,一般的网络公司都会毫不犹豫的聘用你。

如果是图形方向也是很有前景的,比如游戏开发、影视动画特效、GPU 计算技术网页渲染。

如果是嵌入式方向的话,你需要掌握系统架构,ARM 、单片机等等。走这个方向的话你需要对硬件有很好的了解,否则你是做不深的。很多同学都是不懂硬件就选择了这个方向,结果卡在了半路上。如果你是电子专业出身的话,那这条路是很适合你的。

好了,这就是我一个 Linux“ 老鸟 对刚入行的“菜鸟的一些建议,希望对大家能有帮助!”


请使用浏览器的分享功能分享到微信等