学习Linux的心得

LINUX与DOS类似。
粗略了解LINUX的结构,然后记住命令就够了吗================================不要误导我,我记得我以前回答过类似的问题。
,=========================================================================分享一下我这几年学习Linux的经历。
我不敢说我​​有什么成功的经验,但我有很多失败的教训。
第一点:我是大二的时候学Linux的。
当时安装的发行版是redhat。
但一开始声卡驱动安装不了,又安装了显卡、网卡等其他东西。
但由于没有声音,我就没有坚持使用。
几年后,当我再次尝试获取声卡时,我仍然无法获取,但这一次我更加坚定了,所以我查了很多资料,并向很多人请教。
我终于完成了。
---------总结:无论你是学习Linux还是其他什么,决心一定要放在非常重要的位置。
第二点:这两年对Linux以及GNU的很多开源的东西产生了浓厚的兴趣;于是我开始深入研究Linux。
我什至在使用Linux后不久就开始阅读内核代码。
但时至今日,我仍然不太明白内核的结构,很多模块的功能,以及实现原理。
----------总结:不要在错误的时间做错误的事。
具体来说,有几层意思:a》不要只看内核代码;b》不要高估自己的能力;c》只有当你积累了一定的知识后,才必须研究更深层次的东西;d》带着相关问题去研究,而不是徒劳地进行技术研究;研究技术本身就是一种学术风格。
第三点:Linux上的开源软件以及Linux所蕴含的开放精神、文化和内涵;它们比Linux内核更有价值。
--------总结:选择Linux其实就是选择一种文化,选择一种信仰;由于这个选择已经提升到如此高的水平,任何(与其他系统)的比较都是不合适的。
理智;至少没有太大价值。
第四点:回到问题本身,如何学习?我个人认为应该遵循以下顺序:接触(安装一个发行版)=>了解(至少了解它能做什么)=>熟悉(用它完成一些日常工作)=>了解(长期使用过程中))理解Linux为什么要这样解决问题)=>创建(在前面步骤的基础上做一些改进和创新)。
当然,这样的过程中有很多“功课”要做,操作系统的知识当然非常重要;但不急,等有基础了再理解;大象保护模式也是如此。
我个人对学习级别做了这样的分类:1、重要、紧急:熟悉目录结构、基本操作命令(注意是基础)、文本编辑器的使用(使用vi或emacs,但不建议使用)都学了,因为一开始想精通,后来造成了不必要的麻烦;现在重点用vi)。
2、重要,不紧急:正则表达式、grep、sed、awk、perl、gcc、gdb(其实学习这些东西需要一个漫长的过程,但是它们的使用贯穿整个系统;之所以重要是因为它们很好地体现了Linux的精神;之所以不紧急,并不是因为它不紧急,因为它是一个伟大而复杂的软件,需要慢慢消化吸收,而不是整个吞掉)。
3.不重要,紧急:一个华丽的桌面,一些优雅的桌面插件(Linux的强大不其实在于它的桌面环境,虽然gnome和kde都很优雅;之所以不重要是因为与其他更重要的事情相比)换句话说,之所以紧急是因为这些事情会在短时间内抓住你的心和你的兴趣;而兴趣是支撑你后续学习过程的最重要的东西——请相信这一点。
)。
4、不重要,不紧急:把windows上常用的东西搬到linux上,比如wine上玩wow或者cs(道理很明显,开着航母去钓鱼绝对不如划船那么感伤)。
最后,我个人的建议是:了解操作系统的组成及其工作原理。
上面运行的应用软件启动。
了解其应用程序来自于日复一日的使用。
我认为没有任何一本书能够达到你所期望的效果;但如果你在坚持使用Linux的同时不断总结和接受新事物,那么用不了多久你就会发现Linux是你的首选。
非常好的助手。

跪求一份linux下网络编程的学习心得

今天早上偶然读到这篇文章:=========================================答案:学习Linux的四个步骤。
计算机专业如果你把数据结构、操作系统、体系结构、编译原理、计算机网络等基础课都学完了那么我觉得大致可以分为4个阶段阶段,从低到高,从安装到使用=>常用linux命令=>linuxx系统编程=>内核开发阅读常用内核源码,你必须学会​​如何自己编译内核,顶多是系统优化、参数设置调整和手册通用命令。
找到稍微详细一点的规则。
在此过程中,您需要学习“高级Unix环境编程”(通俗地称为APUE)和“Unix网络编程”表达中系统编程的常用规则。
需要阅读信息来理解elf文件。
格式、连接器和加载器,CMU的一本叫《深入理解计算机系统》的中文教材,在内核开发阶段阅读内核源代码比较好,从编写驱动程序driver开始,逐步进入linux内核开发参考书如下由“linuxdevicedrivers”开发,在口语中称为ldd“linuxkerneldevelopment”,在“understadin”俚语中称为lkd。
gthelinuxkernel”,俗称utlk;“Linux源码脚本分析”。
这四本书是内核必读的。
最后第三、第四阶段是最上手的。
空话没用,只看书是没有帮助的。
没有动手经验你就懂那些东西学习Linux/Unix编程方法的建议:首先,学习编辑器,vim,emacs,real。
然后学一下makefile,只要稍微了解一下就可以准备编程了。
这样,一般的编程就可以了。
如果你想学习UNIX/LINUX编程,《APUE》是你学习和学习的一本完全经典的教材。
这样你就可以基本掌握系统方面的内容了,然后读DouglasE的《ConnectingtotheInternetusingTCP/IP》第一卷,技术就很熟悉了。
如果您继续进行网络编程,您应该阅读其中的《TCP/IPforInternetConnectivity》第三卷。
包含很多有关telnet、ftp等应用协议的程序。
如果要写设备驱动,首先要熟悉文件、IPC等系统编程接口,然后学习《LDD》2、一些经典教材复习:《TheCProgramingLanguage》K&R的经典C编程教材作者:是C语言的发明者,本书内容深入浅出,通俗易懂。
尽管它有点旧,但它是一本必备指南,我仍然时不时地翻看它。
篇幅比较短,但是每次读完都会有所收获。
还有,你也可以用谭浩强的《C语言程序设计》代替。
《Unix环境下的高级编程》W.RichardStevens:也是一本非常经典的书(废话,史蒂文斯的书怎么能不经典!)。
虽然适合初学者阅读,但它实际上是《Unix网络编程》的辅助材料。
”。
《UNIX环境中的高级编程》这本书国内翻译的水平不是很好。
目前有影印本,直接看英文比中文容易。
《Unix网络编程》W.RichardStevens:第一卷讲了BSDSocket网络编程接口和另一个网络编程接口,但是BSDSocket现在已经被广泛使用,你只需要阅读本书接下来的大约一半就可以提到网络问题主要讲的是进程和Posix线程之间的通信,所以看完《APUE》你基本上就可以看到《APUE》和《UNP》vol2中编译的系统了,看完《UNP》你就知道了大部分的编程。
系统编程的技巧,即使第一卷是关于网络编程的,在中国,《Unix网络编程》是由在ThanhHoa学习的Dai翻译的,是比较合格的。
而且翻译能力也比较好,所以推荐看中文版的《TCP/IP详解》,一共三卷。
第1卷是关于协议的,第2卷是关于实现的,第3卷是关于应用程序编程的。
我还没有看到太多相关内容。
,但是应该很经典,所以……我没有时间看第二课所以无法评论。
Douglas.E.Comer的《使用TCP/IP连接到互联网》共三卷。
第一卷是关于原理的,第二卷是关于实现的,第三卷是关于高级协议的。
我感觉这个系列比史蒂文斯的系列更好,连史蒂文斯也不得不承认它的第一卷是经典。
事实上,即使你在第一卷中对互联网一无所知,读完之后你也会对互联网的来龙去脉了如指掌。
第一册的很多练习也是经典实用设计的,因为作者本人就是老师,第一册是国外研究生的教材。
练习没有答案,留给读者思考,因为问题的答案可以让你成为中级黑客。
你可以向道格拉斯询问这些问题的答案,但他是唯一的答案。
就交给第二课老师了。
我没有多想。
第三课可以作为参考。
如果你读过Qterm源代码,你就会知道Qterm的telnet实现大部分都来自本书的源代码。
对于一本关于网络原理的书,我建议阅读这本书,而不是史蒂文斯的《TCP/IP解释》。
《OperatingSystem-DesignandImplement》是一本关于操作系统的书,以Minix为例。
作者的母语不是英语,所以英文看起来很模糊。
国内翻译为《操作系统的设计与实现“我还没有读过中文版,因为译者是尤金元,他翻译的《APUE》让我很失望。
读完这本书,你会对系统的工作原理有一个清晰的认识。
《LinuxDeviceDriver》2e,一本关于Linux设备驱动的几本好书,不过内容有点混乱,如果你没有编写驱动的经验,乍一看可能会有点困惑,是国内翻译的版本。
《Linux设备驱动程序》第二版我和第一版、第二版的译者有很深的接触,但总的来说,第二版的翻译有些不尽如人意,但还是比第一版好很多。
看这本书至少应该找一些《计算机原理》和《计算机体系结构》的书随便看看。