如何入门并深入学习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.4 编程工具
如果你是一名Linux开发人员,那你的工作肯定少不了编程。我一般的作法是,在Window上使用代码编辑工具编好代码,然后在Linux下编译。我经常使用两个工具:Notepad++和Sourceinsight。
使用notepad++远程编辑虚拟机文档
代码阅读神器——Sourceinsight
当然我们也可以直接在Linux下写代码,在Linux下编译。Linux下写代码也有很多软件,常用的比如最性感的编辑器——Sublime Text。
3. Linux基础知识
Linux环境搭建完毕之后,我们就可以正式进入到Linux的学习中来。
3.1 Linux系统架构
学习Linux,我们肯定要知道Linux的系统架构是怎样的。一般而言,Linux是由以下几部分构成:
内核
bootloader
文件系统
Shell
应用程序
内核是Linux系统的核心,它往下直接与硬件打交道,向上连接应用程序。它是由Linux社区来共同维护,其中Linus是核心人物。内核主要是由C语言及少量汇编语言编写而成,是最著名的一个开源项目之一。内核的源码在这里,但对于初学者,就别指望能把它看懂。
初学者只要了解一些内核的基本架构即可,后期可以再进一步深入学习。网络上有一张非常经典的内核架构图,可以借助来理解内核。