有的人一上来兴致冲冲,去看各种视频,有些视频一上来就是ls、cd等各种命令给你敲。其实这只是一些操作命令,初学者一开始就看这些,肯定会云里雾里,不建议这样做。那么什么样的方式是比较适合的呢?
想转型也是比较痛苦的,因为linux涉及的东西太多了。很多人都说linux开发分为驱动和应用两个方面,你自己首先要定位,想往哪方面发展。这。。。别着急嘛,首先得入门。
基础的开发环境先不说,linux作为一个系统,那就要知道一个系统是由什么组成的,然后再去细分了解。Linux系统主要分为三大板块:u_boot、Linux内核、根文件系统。那么这些都是什么,有什么作用?

一、u_boot
学过单片机的我们应该会知道,如果做升级程序,就需要做个boot_loader引导程序,它会引导程序从哪里开始。boot_loader用于启动linux内核。
二、Linux内核
内核到底是个什么东西?来看一下解释:
1.从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。2.从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。3.内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。4.内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样
补充一点:我们后面不管在做驱动开发还是应用开发,基本上都在应用层去编写程序,当然了驱动还是要跟内核打交道的,需要对内核修改和做一些配置。
三、根文件系统
Linux 中的根文件系统更像是一个文件夹或者叫做目录(在我看来就是一个文件夹,只不过是特殊的文件夹),在这个目录里面会有很多的子目录。根目录下和子目录中会有很多的文件,这些文件是 Linux 运行所必须的,比如库、常用的软件和命令、设备文件、配置文件等等。以后我们说到文件系统,如果不特别指明,统一表示根文件系统。根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。
四、总结
以上就是一个完整的Linux系统所应具备的。既知此,就逐个打破吧。当然了首先要突破的还是心理这一关,因为你将要面临的是未知,而这种未知既奇妙又有趣。后续为大家奉上具体细节。