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

朋友们,麻烦你们进来可以谈下自己的linux和 c++学习的整体路线吗?鉴于自己网上了解后,感觉还是有些混乱?希望可以的到些帮助,谢谢!

    来源: 互联网  发布时间:2017-05-04

    本文导语:  各位大神,小弟现在大一,即将看完鸟哥私房菜,现在用的是纯ubunutu,c++上正在看c++primer,了解到很多关于学习linux方向上,如嵌入式,内核驱动,网络服务器,图像什么的,很多东西,但是不是说纯linux路线的,就是c++上面...


各位大神,小弟现在大一,即将看完鸟哥私房菜,现在用的是纯ubunutu,c++上正在看c++primer,了解到很多关于学习linux方向上,如嵌入式,内核驱动,网络服务器,图像什么的,很多东西,但是不是说纯linux路线的,就是c++上面的,书籍也很多。
自己懂得不是很多,见识较短浅,
学校老师,同学都是用windows编程什么的!让我现在都有点儿迷茫,不知如何处理了,是坚持自己的路线呢?还是,把linux做为了解,跟着大家老师,同学脚步走!
希望大家可以不吝赐教,指点下小弟!感激不尽!

|
我学习linux路线是
装了个ubuntu,编辑器是vim(配置在网上找)

书(学习顺序列出,都有电子版):
《私房菜》,有些服务器的配置等,那类东西有点了解就行了,不用太琢磨深了(运维了)
//以下的书只要求掌握好c语言就可以读了。(当然操作系统方面也还得有些基础)
《unix环境高级编程》
《LINUX与UNIX SHELL编程指南》
《unix网络编程卷一》
《unix网络编程卷二》
《TCP/IP详解》 //卷一我也还只看了一部分。
平时遇到问题,多百度/GOOGLE。

C/C++学好些,然后可以看看开源代码,如libevent,memcached,lighttpd等,自己写下东西。

学习linux并不一定非要钻到内核里面乱学一通(还学不懂多少)(如果你不是想搞嵌入式)。至少在你学生阶段。。 这个可以看看招聘的大公司(百度/腾讯等),一般要求网络编程方面好。

完成这些的话,在大学嘛,可以预期2年时间(毕竟还有课要上好)。

学完后,后面的事,你应该会有自己的想法了。。
个人学习过程,仅供参考!如有误导,请见谅。

|
Linux的技术舞台更深更广, 先学好Linux基础命令和Shell编程, 然后学Linux C开发, 基本必读书籍都要精读到完全掌握才行.

|
IT界很多东西都是交叉的,没有那么多纯不纯的问题。

语言不分操作系统,学好了,都可以大放异彩。

大一就有这个觉悟,很不错了。

|
挺楼主,学习linux吧,个人觉得linux学得东西还是蛮多的,有很多东西需要你自己动手去实践,如果觉得c++学的差不多了,可以找到开源社区找一些代码看看

|
挺楼主啊,大一就懂这么多!很不错了!我大学毕业了才写下 自己的 helloworld ,表示无奈啊

|

一.为什么要学linux?

当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!

二.起步

你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 
问题1:版本的选择

北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux 
开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看 
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。 
对于初学linux的人来说,我建议是使用redhat,原因如下: 
1)现在很多书都是以redhat为例讲的,为了与书本协调一致 
2)周围的人都用redhat,交流比较方便 
3)redhat应用范围广,有典型性和代表性 
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上 
而应集中精力学习最有用的东西。

//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错, 
Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮

如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到 
linux上这种需要,那么中软,红旗等中文linux是不错的选择

我强烈建议:自己亲自动手把linux装到你的硬盘上, 
你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单

从此现在开始,请不要以windows的工作方式来考虑问题, 
应该尝试挖掘linux身上的“天才unix”的气质。

三.进阶 
掌握至少50个以上的常用命令 
理解shell管道"|",文件流重定向">"及追加">>"等 
熟悉Gnome/KDE等X-windows桌面环境操作 
掌握.tgz.rpm.biz等软件包的常用安装方法 
学习添加外设,安装设备驱动程序(比如modem) 
熟悉Grub/Lilo引导器及简单的修复操作 
熟悉系统固有目录的名称及公用 
学会用mount命令访问其他文件系统 
了解vi,gcc,gdb等常用编辑器,编译器,调试器 
学习linux环境下的简单组网

建议:买一本不需要太厚的linux教材,大致可以满足要求 
//现在的书越来越多了,还带很多图,我当时可没这么多书:)

四.高级应用

澄清一些概念: 
linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识

我个人认为比较重要几种linux语言 
1.英语 
即使你不学linux,我也强烈建议你学好英文[U.S.english] 
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装 
你必须能无障碍的阅读大量的英文技术文档 
在搜索引擎找到的英文网站和网页中熟练的检索 
最好能有用英文直接交流的能力, 
摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距

2.shell[sed/awk] 
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat 
但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell 
几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上 
这也是CS中的一个重要思想。 
此外,shell可以实现工作自动化,这个概念也比较重要 
sed,awk用来处理文本,历来很常用

3.Perl/PHP 
漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.CC++ 
C、C++是linux/unix的核心语言,系统代码都是C写的

5.ASM 
系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要 
//走核心路线的话,才cc++,asm最重要

6.Java,Python,Tcl,XML

*系统管理篇 
在熟悉linux的基础上还需要掌握至少一种unix 
我首推Solaris,其次是FreeBSD 
比如运营级系统一般是Solaris+Oracle/DB2之类的 
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind 
等各种应用服务器的构架及电子商务的应用 
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群 
等各种企业级应用解决方案 
熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复 
系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能

我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员 

各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内 
搜索引擎寻找最新文档,以避免错误和漏洞 
有几本技术大全和技术内幕我认为都是这方面不错的书

*深入学习linux

我个人理解的读linux内核需要的基础: 
在此之前,希望先把应用层的东西学一下,那样会比较好理解 
1.C 
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种), 
建议再看一下 
《The C Programming Language》Second Edition这本圣经 
/*如果想学缓冲区溢出,这点C的功力可能是不够的*/ 
还有,,, 
反正经典书看多了是没有坏处的

2.asm (AT&T语法,保护模式) 
保护模式下的比较复杂,基本上每本讲内核的书都会有介绍 
有80x86 Intel语法的基础就行, 
有兴趣可以看看Intel的官方****

3.数据结构(离散数学) 
计算机专业的核心课程,重要性我就不说了

4.操作系统原理 
看懂这个再去读linux吧

5.微机原理/组成原理(数字电路) 
底层直接和硬件打交道,所以这个也要

6.了解linux/unix 
我想至少你要会操作吧,了解unix的API

7.软件工程/编译原理

这方面的经典书去www.china-pub.com可以搜到很多 
我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧

APUE: 
《advanced programming in the unix environment》 
《unix环境高级编程》 
作者:W.Richard.Stevens共有6本经典书,尊为“圣经” 
他的书为全世界黑客所拜读!

UPE:《unix programming environment》 
《unix编程环境》比较适合初学者的,深入浅出, 
其中有一些比较重要的思想 
另外,介绍linux下应用层编程的书也有很多,比如 
,redhat,redflag出的书........... 
经典书还有很多很多...... 
操作系统:设计与实现 //交大的考研参考书目,讲Minix的 
unix操作系统设计 
4.4BSD操作系统设计与实现 
昂莱氏unix源代码分析 
ulk:understanding the linux kernel (2nd)深入理解linux内核 
linux设备驱动程序 (2nd) 
linux内核源代码情景分析 
保护方式下的80386及其编程(次书已绝版,只有超星的电子版,如果谁能搞到纸书,清一定告诉我一下,非常感激!!!)

在这里你能明白"黑客"及"haching"一词所代表的真正意义 
希望我写的这篇文章能造就更多的黑客,而不是骇客

五.一些资源 www.linuxforum.net //国内最高水平GNU站点 www.chinaunix.net //unix、系统管理的不错 www.linuxeden.com //下载软件不错 www.linuxaid.com.cn www.linuxsir.org

相关链接:http://hi.baidu.com/wfcio/blog/item/15ec8b9f747161e7503d92df.html

 原文:http://www.codesky.net/article/200604/135238.html

enjoy

|
跟着兴趣走就对了。


    
 
 

您可能感兴趣的文章:

  • Linux下用eclipse 写 c++ 程序的朋友请进一下
  • 用Emacs编写c++程序的朋友请进来。
  • 学GNU C++的朋友进来报道
  • 哪位朋友有关于在linux下用C或C++访问Web Service的资料?
  • linux QT下 C++调用库的问题,请熟悉QT编程的朋友帮忙看一下。
  • 哪位朋友正在使用红旗的桌面版3.0???可以不可以进来讨论几个问题呢???
  • 急!哪位朋友在aix系统下配置过apache+tomcat ? 它所使用的apache+tomcat程序,是否可以用在linux下的程序是一样的 ? 在哪儿可以下载
  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的
  • 哪位朋友有tomcat的培训资料呀?或者可以在哪里找到相关资料呢?多谢啦!
  • 各位朋友刚工作时多久才开始上手的?也就是发现自己真的可以做出些东西了啊?:)
  • 那位朋友可以详细讲讲守护线程?
  • 那里可以下载到j2me_cldc/kvm?那位朋友呀?能共享出来吗?我注册了用户但不能下载!
  • 在哪可以下载到DOS6.22操作系统,哪位朋友知道请告之,100分相送,谢谢。
  • 帮朋友一问,用redhat做服务器,windows 2000 professional做工作站,可以组成工作网络吗
  • 哪位朋友可以讲解一下getParameterNames()怎么使用阿?为什么我就是使用不了呢?
  • 我和我的朋友机器联网了,我的我的java程序(用jdbc驱动)可以连到他的sqlserver.但不可以连到我自己的。但我的java程序(用jdbc-odbc桥)连
  • ljedit for ubuntu 7.04 提供deb下载啦,看c,有兴趣的朋友可以试试啦
  • 这是我安装了Red Hat 9.0后所发的第一贴,所以放分庆祝!另外,希望装了红帽子9的朋友可以进来讲讲使用新版本的感受!
  • 用过jsp的朋友,请你们指教指教小弟。100分,对好的建议还可以加分
  • 那位朋友可以给个applet通过servlet取数据库数据的例子?多谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请网通的朋友,和沈阳的朋友进,有个兄弟需要帮忙!
  • 找啊,找朋友,找到一个好朋友。。。(linux后台开发)
  • 感谢Anubis(为朋友两肋插刀,为MM插朋友两刀!!) ( 五级(中级)),来拿分!!
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • 请Anubis(为朋友两肋插刀,为MM插朋友两刀!!) 进来领分
  • 做Linux的朋友请进来一起讨论,我是说正在Linux上工作的朋友:)
  • 这里有没有精通asp和精通jsp的朋友啊?我们叫个朋友怎么样?先送100分在说!
  • 各位朋友救命了~~~~~~真的,看见的朋友一定要进来
  • 装了Windows的朋友再装Redhat13的朋友请进
  • 朋友比较紧急的项目,懂Radius和AAA的朋友请进来看看
  • 圣诞节没有女友或没有男朋友的朋友们,在来年找个PMM或SGG!!!
  • 女朋友要过生日了,我在ubuntu下编了个小程序
  • 有没有最近想做个软件下载的站点的朋友
  • HTML教程 iis7站长之家
  • 问一下,有朋友考了CNJD的吗??
  • 交个朋友怎样。
  • 我需要朋友们的帮忙
  • 有做过snmp agent开发的朋友吗?顶贴也给分
  • 快去呀!SCJP考试优惠!!(呵呵,给朋友做做广告)
  • 有没有在武汉学JAVA的和做开发的朋友!?


  • 站内导航:


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

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

    浙ICP备11055608号-3