当前位置:  技术问答>linux和unix

初学Linux的几个问题

    来源: 互联网  发布时间:2016-08-21

    本文导语:      一直都在Windows下用C++开发,现在想做Linux开发,所以要从0开始学习,请教各位一些问题,望指教:    1、Linux学习环境:windows上面装虚拟机;装双系统;还是专门买台计算机装linux,哪个更有利于学习。        2...

    一直都在Windows下用C++开发,现在想做Linux开发,所以要从0开始学习,请教各位一些问题,望指教:

   1、Linux学习环境:windows上面装虚拟机;装双系统;还是专门买台计算机装linux,哪个更有利于学习。
   
   2、用哪个版本适合学习呢?Red Hat?还是其它?

   3、推荐1-2本入门的书籍。

   谢谢各位!!!!

|
1. 刚开始还是装虚拟机好。
2. 版本的话, 看个人习惯了, fedora, CentOS, ubuntu 都不错。
3. 首先要熟悉 linux 环境, 看 鸟哥的私房菜 。 编程的话, 从 UNIX 环境高级编程 开始吧。

|
还是装虚拟机好 ,rethat就不错  应用广

|
1,装虚拟机Vmware的
2,用Ubuntu的
3,同一楼推荐的

|
做linux c语言开发有一小阵子了,在这边自己总结了些心得,相信能让不懂得Linux编程的人慢慢步入Linux殿堂。有任何不对或不准确之处欢迎讨论。

1. 安装 linux 操作系统

既然要学习linux下的c语言开发,那么安装个linux操作系统是必须的。建议安装Ubuntu,这是我目前见过界面最友好的linux操作系统了。关于如何使用Ubuntu以及在其上作开发,可参考我的另外一篇敝作《Ubuntu使用心得》:http://download.csdn.net/source/2206289

2. 熟悉 linux 操作系统下的命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。

关于linux下的命令,欢迎参考我blog上一篇文章《Linux命令整理》:http://blog.csdn.net/sikinzen/archive/2010/04/19/5503769.aspx

3. 学会一种源码编辑器

很多大牛推荐使用 vim/emacs之类的工具,但我还是用着不习惯,应该是我能力未到。我个人比较喜欢的开发方式是:在windows下编辑代码,在linux下编译。

我自己非常喜欢用SourceInsight来编辑代码,这个工具的使用可参考我blog上一篇文章《Source Insight的应用技巧、宏功能》:http://blog.csdn.net/sikinzen/archive/2010/04/09/5468511.aspx

4. 掌握gcc和gdb

掌握gcc的基本用法,并且会用gdb来调试程序。 

5. 用好 C 语言

工作中发现:C语言大家都会,但核心思想就不一定都能理会。我自己觉得也只是摸到了门径,还需要实践锻炼。

推荐:《C陷阱与缺陷》、《C专家编程》、《C程序设计语言》。

6. 学会写makefile,以及用它来组织源码

当项目大了后,用命令行逐个逐个编译、link文件的工作量是非常恐怖的,这时候make就起作用,即使是很小的项目,我认为也应该采用make组织。

关于makefile,请参考网上文章《跟我一起写Makefile》或《GNU make中文手册》。这两篇文章都相当得好。

7. Linux应用编程

终于说到正题了,呵呵。

Linux上的应用编程基本上两本书就搞定了:《APUE》和《UNP》,前者锻炼基本功,后者学习网络编程。

这边我直接引用网上某位先生的评论:

如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。 然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。

8. Linux驱动与内核编程 
驱动程序的门槛较高,首先你要学会Linux应用编程,至少看过《APUE》。

驱动编程的主要工作我认为至少有两点:理解linux内核框架和模块的概念、懂得看芯片datasheet。

第一点其实就是先学会编写一个测试驱动程序。

推荐经典教材:《linux设备驱动程序》。

另外,还有 《深入理解Linux内核》。

最重要的是:手头要有一块嵌入式板子进行实践。

9. 掌握一种 cvs 工具

如果不懂cvs的话,赶紧到 baidu 搜索下。不用cvs的项目很容易面临代码丢失的问题,且不易做bug回归。

10. 数据结构和算法

上过计算机基础课的人都知道:程序=数据结构+算法。这两项才是程序员的根本,如同武侠小说中的“内功”。  有时间的话建议重温这两部分。推荐书籍:《Algorithms in C》、《算法导论》

呵呵,其实这一小块我没有发言权,我自己是从自动化专业转行来写程序的,数据结构和算法都没学过,目前正在自学恶补中。

后记:

通过上面几个步骤,我想成为一个称职的linux程序员是没问题了。但如果要成为专家的话,我自己觉得还应该为自己选好方向并努力前进。

让我们一块努力!


本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/sikinzen/archive/2010/04/19/5503883.aspx

|
1楼说的很详细了

|


一楼说的对

|


哎,这些都是很耗时间的项目!!!

|
1. 个人还是推荐虚拟机的方式
2. 我推荐 Ubuntu
3. 推荐书籍见上面

|
可以看播布客(赶星)视频教程不错 ,可以再百度搜播布客

|
我使用的是Fedora 9.0
开始也是使用的虚拟机
使用虚拟机的时侯刚开始可能会遇到点问题

|

正解

    
 
 

您可能感兴趣的文章:

  • 各位高手大家好,我是初学LINUX想请教几个问题
  • Qt初学者请教大家几个问题!
  • 初学者关于共享内存的几个问题-->
  • 求教,Linux初学者的几个问题
  • 初学Linux内核编译,几个问题请教一下
  • java初学者的几个问题。
  • 初学LINUX 的几个问题
  • 我是初学者!有几个问题想问!
  • 我是Java的初学者有几个问题请教大家,谢谢。
  • 初学Unix,有几个问题请高手指教,回答完后马上结贴
  • 初学者的问题,要用Linux做一个批处理,碰到了几个问题
  • 我是初学者,有几个问题,想请教各位高手,望不吝赐教
  • 我是初学者,想请教几个问题,每个小问10分
  • 初学linux有几个问题请教
  • Linux初学者的几个问题
  • 菜鸟初学 请教几个问题
  • 关于驱动程序的编译.初学,请教几个问题!
  • 初学者关于JSP 的几个问题(web服务器+JSP引擎+J2EE容器)?!  请大家帮忙 !!! 先谢谢了!!!
  • JAVA初学,问几个问题……(6个问题)
  • 初学者的几个问题(来者有分!)
  • 初学者的问题我是linux初学者,我想问一下在windows里下载的大于1.44M文件如何转移到linux分区里?
  • 初学linux看哪本书好?
  • Linux初学者,Linux安装的问题
  • 初学Linux,初装Linux server,下一步怎么做?
  • 从初学Linux到内核开发
  • 初学Linux要看什么书?, 请问Linux下C语言编程怎么设置环境?
  • 一个初学Red Hat LINUX 9.0 --关于在LINUX上的java的安装
  • 初学Linux操作系统,应该看什么书?安装什么类型的Linux系统?
  • linux初学者,咨询一下学习过程
  • linux初学者应该看什么书
  • linux初学者的贴
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • 我是个初学者,希望指点明津
  • 初学者用什么工具好?JBUILDER?JDK?
  • 对于初学者应该看什么样的java书籍
  • 初学java应该看那些书?
  • 初学java,该看那些书,请朋友们指教
  • 各位高手大家好,我是初学LINUX想请教几个问题 iis7站长之家
  • 初学java什么书好?
  • 对于初学者应该看什么样的书
  • 初学者:不是问题的问题?
  • 初学者这样检验自己的学习效果呢?
  • 初学JAVA,用哪个软件来调试和编译程序?
  • 初学者的问题??在线等待。
  • 初学者的疑问
  • 初学java的话,从何入手呢?vj++,还是jbuilder?
  • 一个初学java的人,请教众位高手
  • 初学JAVA,想认识几个这方面的朋友,顺便问一个小问题。。
  • Free Java的初始设置问题----初学者求教.
  • java初学看什么例子比较好。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3