
一篇关于Linux的学习心得
嗯,对一些公选课,我也碰到过要写论文的。
不过呢,同学,Linux值得你去学,值得你去深入,所以,建议你多点接触它,以后会有用滴~~由于对Linux感兴趣,在学校的论坛发表了篇文章,估计适合你用,字数不记得了,有1万5吧
因为这篇文章是自己的一点领悟体会,也就不粘贴上来了。
要的话我节选部分给你。
382122605
学习Linux的心得
一、程序设计的基础,例如:基本的编程语言基础,至少对数据类型、程序的结构及流程控制等最基本的内容要相当清楚
另外有不少同学都问到数据结构的基础,我一直认为数据结构和算法的学习是帮助形成程序设计逻辑思维的很好训练方式,对于程序员的长期专业素养的提高一定有好处,所以建议即使已经在嵌入式行业中工作之后也应该多补充一些相关的知识。
许多在学校没有学过数据结构的同学往往认为这部分非常枯燥、难学。
而实际上如果你能明白研究计算机存储和数据组织方式的意义,就一定能够充分体会到数据结构的价值和魅力。
二、操作系统工作原理,这部分往往是非计算机专业的同学在学校时没有接触过的。
而由于嵌入式软件设计相关的多任务环境、模块间的同步与通信协同、驱动设计等往往都需要有对操作系统工作机制的了解和掌握作为基础,因此建议没有系统学习过的同学,找一本相关的操作系统工作原理书籍认真看一下。
三、基本的硬件基础,由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续培训过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。
有没有基础知识及基础知识的多少在很大程度上影响着你能否学习嵌入式linux及学习进度,因此,各个培训机构在学员入学前读会对其进行基础知识考查,像其中的东方赛富嵌入式学院对这一块更加看重,因为他们是保障真正100%就业,对学员入学的要求更加严格
谁有燕山大学往年的Linux 考试试题啊,求分享一下,或者有Linux总结的基础知识,求分享
鸟哥
对 linux的学习
以前用过ubuntu一段时间 总结了下linux下安装软件的几种方法: 1。
deb 包的安装方式 sudo dpkg -i *.deb 2。
编译安装方式 先建立编译环境 sudo apt-get install build-essential 般开源的软件都会使用tar.gz 压缩档来进行发布,当然也有其他的形式。
把它解到\\\/tmp 目录下,进入\\\/tmp\\\/软件目录,然后执行以下三个命令: 1 .\\\/configure 2 make 3 sudo make install 在 第一步.\\\/configure 时可能会提示说有某某软件找不到,例如提示“libgnome”这个开发包找不到,那就把libgnome 这个关键词copy,然后打开新立得软件管理器,在里面搜索libgnome 这个关键词,就会找到libgnome 相关的项目,把前面有个ubuntu 符号的libgnome 包(注意:同样需要安装dev 包,但可以不装doc 包)全部安装,通过这个方法把.\\\/ configure 过程中缺失的开发包都全部装上就OK 了,第一步能顺利通过,第二,三步基本问题不大。
以上就是一般初学ubuntu 的朋友必须掌握的编译安装的基本方法
3。
apt-get 安装方法 ubuntu 世界有许多软件源,在系统安装篇已经介绍过如何添加源,apt-get 的基本软件安装命令是: sudo apt-get install 软件名 4。
新立得软件包管理 打开:系统--系统管理--新立得软件包管理,这个工具其实跟apt 一样,可以搜索,下载,安装ubuntu 源里的软件,具体安装方式很简单,看着界面应该会懂,就不详细介绍了 5。
二进制包的安装方式 有不少不开源的商业软件都会采用这种方式发布Linux 软件,例如google earth,拿 到二进制软件后,把它放到\\\/tmp 目录,在终端下进入安装目录,在安装目录下执行: .\\\/软件名 然后按照一步步提示,就能安装该软件 6。
rpm 包的安装方式 rpm 包是deb 包外最常见的一种包管理方式,但ubuntu 同样可以使用rpm 的软件资源 首先我们需要安装一个rpm 转deb 的软件 sudo apt-get install alien 然后就可以对rpm 格式的软件转换成deb 格式了: alien -d *.rpm 然后就可以用deb 的安装方式进行软件安装 sudo dbkg -i *.deb 也可以不需转换而直接对rpm 包进行安装: alien -i *.rpm 更多的alien 使用方法可以用-h 参数查看相应说明文档 希望采纳
跪求一份linux下网络编程的学习心得
正好我上午正在看的这篇:======================== 解答:学习Linux的四个步骤 假设你是计算机科班出身,计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高 从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码 其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数 安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式 系统编程推荐《高级unix环境编程》,黑话叫APUE 还有《unix网络编程》 这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好 内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发 参考书如下《linux device drivers》,黑话叫ldd 《linux kernel development》,黑话叫lkd 《understading the linux kernel》,黑话叫utlk 《linux源码情景分析》 这四本书为搞内核的必读书籍 最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了 学习linux\\\/unix编程方法的建议 建议学习路径: 首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。
然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。
如果想学习UNIX\\\/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。
这样基本上系统方面的就可以掌握了。
然后再看Douglus E. Comer的《用TCP\\\/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP\\\/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。
对于几本经典教材的评价: 《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。
虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。
篇幅比较小,但是每看一遍,就有一遍的收获。
另外也可用谭浩强的《C语言程序设计》代替。
《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的
),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。
国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。
《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。
第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。
所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。
看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。
国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。
所以建议还是看中文版。
《TCP\\\/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。
我没有怎么看过。
,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。
《用TCP\\\/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。
感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。
事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。
第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。
习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。
如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。
对于网络原理的书,我推荐它,而不是Stevens的《TCP\\\/IP祥解》。
《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。
作者母语不是英文,所以英文看起来比较晦涩。
国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。
读了这本书,对操作系统的底层怎么工作的就会 有一个清晰的认识。
《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。
不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。
国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。
要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。
我想学习LINUX,该如何开始?
第一点:我学习linux是在大二的时候。
那时候装的发行版本是redhat。
可是刚刚开始的时候声卡的驱动装不上,其它比如说显卡,网卡都弄好。
但是由于没有声音所以就没坚持用下去。
几年后再次弄那个声卡的时候还是弄不上,可是这次的决心比较大,所以查了n多的资料;请教了很多人。
终于被我弄好了。
总结:无论是学习linux还是其它,决心是要摆在很重要的位置的。
第二点:前两年的时候,对linux以及gnu的很多开源的东西产生了浓厚的兴趣;所以就开始深入的研究linux。
甚至使用linux不久就开始阅读内核代码。
可是到今天我还没真正意义上理解内核的结构,以及很多模块的功能,及实现原理。
总结:不要在错误的时间做错误的事情。
具体的讲有那么几层意思:a》不要动不动就去读kernel代码;b》不要太高估自己的能力;c》千万要在有一定知识积累的时候才能去研究更深层次的东西;d》要带的问题去学习,而不是空洞地进行技术研究;研究技术本身是的作风。
第三点:linux上面的开源的软件 ,和linux所包含的开放的精神,文化和内涵;它们是比更有价值的。
总结:选择了linux其实也是选择了一种文化,选择了一种信仰;既然把这个选择上升到那么高的层次,那么任何的比较(与其它系统)都是不明智的;至少是不会有很大价值的。
接触(安装一个发行版本) =》 熟悉(用它来完成一些日常的工作)=》 创造(在前面几步的基础上做一些改进,创新)。
当然在这样一个过程中有很多的功课要做, 方面的知识当然是很重要的;但是不是很急迫,所以可以在后来有基础了再去了解;至于象也是一样。
我个人做了这样一个学习的等级划分: 1。
重要,紧急: 熟悉,熟悉基本操作命令(注意是基本),的使用(使用vi或者emacs但是不建议都学,因为本人当初就是想都精通,后来惹了不必要的麻烦;现在专心用vi)。
2。
重要,不紧急: ,grep,sed,awk, perl,gcc,gdb(其实这些东西的学习是需要很长的过程,但是它的使用又是贯穿整个系统;之所以重要是因为它们很好地体现了linux的精神;之所以不紧急并不是真的不紧急,是因为它们本身就是一个很伟大很复杂的软件需要慢慢消化吸收而不是囫囵吞枣)。
3。
不重要,紧急: 一个绚丽的桌面,一些幽雅的桌面小插件(linux的强大事实上并不在其桌面环境,虽然gnome和kde都非常的幽雅;之所以不重要是相对于其它更重要的东西而言的,而之所以紧急是因为这些东西会在很短的时间内catch住你的心,你的兴趣;而兴趣是支撑你接下去学习过程的最最重要的东西---这一点请相信)。
4。
不重要,不紧急: 将windows上常用的东西移到linux上,比如要在wine上玩wow或者cs(原因是显而易见的,开航母去钓鱼肯定没有划着小船来的有情调) 最后我个人的建议是:了解的组成,工作原理要从了解它上面运行的应用软件开始。
了解它上面的应用软件则要通过日复一日地使用它。
我不觉得哪一本书能达到你期望的那种效果;但是如果在你坚持使用linux的过程中总是不断地去总结和接受新的东西,那么不要过很久你会发现linux是你的一个很好的助手。
怎样从零开始学习linux
1. 基要扎实学何一种语言,必备的基本功是必须要有的方面可以效率,另一方面可以拓宽思路。
对于Linux基本知识的学习,对一些初学者来说是枯燥乏味的,可以通过理解再背诵的方式先进行代码及语法的学习,然后进行实践操作,必须手动输入命令行,不要借助工具,这样可以更快速有效的掌握Linux。
2. 学以致用Linux学习的目的是应用,Linux基本知识是一些零散的技术,当没有应用在项目上时,我们无法理解他的真实价值,所以打好基本功之后,最紧迫的是多做几个完整的项目,刚开始可以是功能简单的项目,之后可以选择稍微复杂的项目,勤于动手,敢于实践,一定能学好Linux。
3. 学会使用Linux联机帮助任何一种教材都不会完全讲述Linux知识,一般讲的都是比较常用的或者是比较有代表性的知识,但是,我们在项目应用中往往有些功能的实现是需要一些生僻知识和技能的,那么,如何查找我们所需的知识呢,推荐查阅Linux帮助文档,主流的Linux都自带详细的帮助文档,很方便解决问题
4. 在网上找资源在Linux的学习和应用中,难免会遇到一些没有思路、不知道如何解决的问题,这时就要借助网络力量,可以通过搜索引擎搜索查找,也可以咨询资深技术人员,最终实现问题的解决,这是Linux知识积累的一个重要的途径
5. 查阅英文技术文档如果想深入学习Linux,查阅英文技术文档是十分必要的,往往最新的技术都是采用英文文档的方式发布的,而且更全面,因此,对于Linux人员来说,多看一些Linux技术文档,对于掌握前沿技术和加深知识是十分有必要的
Linux学习是一个需要长期坚持不懈的过程,新的技术不断的产生,要想成为Linux大牛,必须要时刻关注Linux发展动态,掌握最新技术,才能走在行业前列



