Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1145233
  • 博文数量: 1096
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 11060
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-07 15:17
个人简介

linux工程师,RHCE

文章分类

全部博文(1096)

文章存档

2023年(84)

2022年(314)

2021年(251)

2020年(244)

2019年(176)

2018年(27)

我的朋友

分类: 系统运维

2021-05-28 17:41:00

 

从业5年,教你学习Linux开发


 

1.  为什么要学习Linux编程?

其实这个问题很容易回答,因为你要写的程序是跑在Linux下的啊。至于跨平台的程序,你熟哪个就在哪个下开发,效率第一,纠缠平台和工具,纯属吃饱了没事干闲的。其实编程就是说开发Linux软件,所以说,在Linux系统下开发才会更加顺手,并且效率更高。因为直接就可以在主机环境下运行,而无需再安装虚拟机,模拟器等来测试程序。

 

2.  关于Linux开发

Linux下开发,其实主要涉及两种基本语言,CC++C语言是学习Linux编程必不可少的语言,因为Linux系统内核很多就是C语言编写的,而且粗语言也是目前对硬件支持最好的语言。Linux提供的很多api也是C语言写的,所以只有当我们理解了C语言之后,才能更好的进行Linux开发。而c++C语言的超集,在保留了C语言的一些语法特性之外,支持的比C语言也更多。除了C语言和c++之外,还可以根据Linux去学习一下怎么写驱动程序等等。Linux编程除了Linuxapi外,Linux内部还有一种语言,为shell。这门语言是是Linux的脚本语言。类似于windows上的vb脚本编程。虽然shell提供了十分简单的语法,但是当和Linux的命令结合起来的时候,就非常强大了。基本上shell可以很好的处理各种Linux上命令行就能解决的问题,而且更加自动化和便捷。然后学学Qt,悉一下图形界面,可以把你做的命令行下的小程序完全改成图形界面下的。

3.  如何学习?

首先,要想学会Linux编程,你必须要会用Linux,也就是必须学会如何在命令行环境下操作。当你能够在命令行下使用各种命令,操作各种文件和在Windows上使用鼠标一样的时候,就说明你已经入门了Linux系统。这个时候,你就不会再有之前对命令行的方反感,反而喜欢上了命令行。因为这个给时候,你会发现鼠标还要点好多下的操作,在命令行下几个字母就可以轻松解决。在学习的时候一定要多多练习。可以自己安装一个虚拟机,也可以在网上买一个云服务器,买最便宜的就行。在系统上多做练习。首先在Linux系统上尝试着做各种和Windows一样的操作,这样就可以了解到Linuxwindows之间的差异了。

这个我个人认为看一本书就行了,《Linux就该这么学》,记得安装Linux系统,自己按照这本书的章节安排,自己手把手操作一遍。这本书从最基础的命令开始,一直到搭建lnmp环境为止,一步一步由浅入深的教你学习Linux。做完这一步,你基本上已经可以学习开发了。因为我当时初学Linux操作系统的时候,就是使用这本书入的门,这本书配套的还有一个网站,非常方便,我们可以直接在网站上看书,所以说我们有时候没有带书,公交车上地铁上,随时想看就可以看。这个网站上还有很多的技术新闻资讯以及技术干货,我相信通过这本书你可以学到更多东西,不止Linux的,还包括其他的编程语言和操作系统等知识。

4.  如何深入

接下来就是继续深入了,这个时候你得去稍微的看看内核源码啊,内核的进线程调度啊。这个时候,数据结构算法啥的这些就是你必备的基础知识了,计算机网络,操作系统啥的也全部得看看,操作系统原理啥的也得看看,这些东西虽然看着和编程无关,但是全部都是真正涉及到最底层架构的东西了。学会这些东西对于你理解系统的底层架构有很大的帮助。如果不会这些知识,你根本看不懂源码。

在学习的过程中,要不断积累和了解最新的东西,首先了解这个概念,然后知道这个概念是干嘛的,提出这个概念是解决为了解决什么问题的。

5.  书籍推荐

最后推荐几本书(前面的包含在内):


《鸟哥的Linux私房菜 基础篇》

C程序设计语言》 丹尼斯写的
Linux C编程一站式学习》 宋劲杉写的
Eensstial C++
C++ Primer
Effective C++

Linux网络编程》 宋劲彬写的
Unix环境高级编程》
Unix网络编程》 两部
Linux高级程序设计》 华清远见

《大话数据结构》
《算法导论》

Linux内核情景分析》
《深入理解Linux内核》

《深入理解计算机系统》
《现代操作系统》
《深入理解计算机网络》
TCP/IP》的三卷经典书

最后,我个人认为,我们要广泛的接收新知识,所以要多去网上看一些别人的文章。比如各大论坛,GitHubstackoverflow, 博客园,CSDN等等社区和论坛,多逛逛,当然还有知乎也要多逛逛,毕竟知乎的大神还是很多的。

 

 

阅读(654) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~