Linux成神之路
简介:最近梳理了一下自己linux系统的学习历程,感觉整个成长过程就很顺利,并没有走弯路,于是想着可以不可以把自己linux系统学习的路线记录下来,能够在大家成长的路上有一点帮助,就在这样的一个想法驱使下开始构思了这篇博客,希望对大家有所帮助。
一、为什么需要学习linux
个人研究生的时候学的方向是《软件工程》,因为本科专业和IT相关性不大所以之前都没接触过linux,一开始使用linux系统就感觉很不自在,尤其是没有图形界面的系统,但是觉得挺有意思,而且之后的课程包括项目大都是要在linux服务器上操作,于是感觉必须要学好linux,就这样开始了我的linux学习。
这里描述的是我个人学习linux的一个契机,实际上工作之后发现公司基本都是linux服务器,所以学习linux对于程序员来说是很重要的一项基础技能,因为你一旦从事这个行业,日常工作中和linux打交道会很多。
二、我的linux成长之路
2.1、linux是什么
Linux,Linux Is Not UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux有上百种不同的发行版,如基于社区开发的debian、Arch,和基于商业开发的RedHat、SUSE等。目前linux有四大常见的主分支,分别为Debian系、Redhat系、Arch系和SUSE系:
1.Ubuntu
桌面系统:Gnome
处理器架构:armhf, ppc64el, riscv, s390x, x86_64
软件包管理器:APT
文件系统:Btrfs, ext3, ext4, JFS, ReiserFS, XFS, ZFS
2.RedHat
桌面系统:Gnome
处理器架构:aarch64, i386, ia64, IBM Z, ppc, ppc64el, s390, s390x, x86_64
软件包管理器:RPM
文件系统:XFS
3.Centos
桌面系统:Gnome
处理器架构:aarch64, ppc64le, x86_64
软件包管理器:RPM
文件系统:XFS
2.2、linux学习路线
首先,我们要学习linux得有个环境,我们可以使用VMware安装了linux操作系统环境,出于好奇我们可以把Ubuntu、redhat、centos都安装一遍看一下,学习的时候可以选一类系统就可以了,因为不同类型的系统大同小异,学一个就互通了。
其次,我们需要找一些资料进行学习,这里推荐老男孩系列书籍,我这边的话最早看的是《跟老男孩学Linux运维-核心系统命令实战》《跟老男孩学Linux运维-Shell编程实战》,这两本算我案头的书籍了,这两本书还可以作为参考书。结合实践我们可以操作Linux得心应手了。
根据前面的方式我们已经能够熟练的使用Linux了,但这样只能满足满足日常开发的一些需求,遇到服务器问题我们就没有办法了。接下来我这边开始阅读了《Linux 是怎样工作的》和《Linux内核设计的艺术》,有兴趣深究的同学到这个阶段就可以去看看这两本书了。
总结:本文主要围绕的是个人在Linux学习上的路线书写的,首先我们要清楚为什么要学习Linux,给学习Linux找到一个必需的理由,然后我们要找到学习的路线,一开始我们为了日常工作需要去学习Linux的核心命令和shell编程,这个阶段以实战为主,经过一段时间实践沉淀之后,我们内心开始思考Linux这么一个优秀的开源软件的设计了,这个时候我们可以去深入了解Linux内核的设计,彻底掌握Linux的原理,吸收优秀开源软件的设计思想了。