给学习计算机的同僚们(初学者,进阶者,包括Linux爱好者)的学习建议 - 副本

合集下载

从入门到精通电脑技术宅的自学之路

从入门到精通电脑技术宅的自学之路

从入门到精通电脑技术宅的自学之路在当今的信息时代,电脑技术已经渗透到我们生活的各个方面。

作为一个现代人,掌握电脑技术已经成为一项必备的能力。

然而,对于很多人来说,电脑技术似乎是一个高深莫测的世界,他们往往不知从何开始,也不知道如何提高自己的电脑技术水平。

本文将从入门到精通电脑技术的自学之路进行探讨,为广大想要提升自己电脑技术的朋友们提供一些建议和指导。

一、入门篇:初识电脑技术的基础知识在进入电脑技术的学习之前,我们首先需要了解一些基础知识。

比如,了解电脑的硬件组成,如CPU、内存、硬盘等;了解电脑的操作系统,如Windows、macOS、Linux等;了解基本的网络原理,如IP地址、DNS、HTTP等。

可以通过阅读一些入门级的电脑技术书籍或者上网查找相关资料来了解这些基础知识。

同时,可以尝试自己动手拆装电脑、安装操作系统等,以便更直观地理解电脑技术的基本原理。

二、进阶篇:系统学习专业知识一旦掌握了电脑技术的基础知识,就可以进一步深入学习专业知识。

在这个阶段,我们可以选择一个特定的领域进行学习,如网络安全、数据库管理、软件开发等。

针对选定的领域,我们可以参考一些专业书籍,或者报名参加相关的培训课程来系统地学习。

此外,还可以加入一些电脑技术的线上社区或者论坛,与其他技术爱好者进行交流和学习。

三、实践篇:动手实践,提高技能理论知识固然重要,但是只有通过实践才能真正提高自己的电脑技术水平。

所以,在学习的同时,一定要注重动手实践。

可以通过模拟实际场景来进行练习,如搭建一个网站、开发一个小程序等。

同时,可以尝试解决一些实际问题,如电脑故障排查、网络安全防护等。

通过不断的实践,我们可以将理论知识与实际操作相结合,逐渐提高自己的技能水平。

四、拓展篇:学会学习,持续进步电脑技术是一个日新月异的领域,新的技术和知识层出不穷。

所以,作为一个电脑技术宅,我们需要具备良好的学习能力和学习习惯。

可以通过订阅一些技术博客、参加一些技术讲座或者研讨会来跟进最新的技术发展。

linux学习计划

linux学习计划

linux学习计划1、学习⽬标 学习linux⽬的是为了找到⼀份⾃⼰理想的⼯作、学到属于⾃⼰的学习⽅法、不断学习与成长,为成为⼀名资深的linux云计算⼯程师⽽奋⽃。

2、学习⽅法  1、每天坚持学习最少2⼩时视频,严格把控时间分配。

2、学习过程中做好相应笔记,⽅便⾃⼰回顾相关知识。

3、多多动⼿操作,学习linux动⼿操作是基本功,多练多想。

4、多多与⼤家交流,发现问题并解决问题是对⾃⼰能⼒的提升,以及⾃我的勉励。

5、写博客要认真,这是对⾃⼰是否掌握知识的⼀种体现。

3、学习阶段 第⼀阶段:(20天) 1、Linux基础知识、基本命令(起源、组成、常⽤命令如cp、ls、file、mkdir等常见操作命令) 2、Linux⽤户及权限基础 3、Linux系统进程管理进阶 4、linux⾼效⽂本、⽂件处理命令(vim、grep、sed、awk、find等命令) 5、shell脚本⼊门(可边练习边学习) 第⼆阶段: (30天) 1、TCP/IP⽹络基础(差不多CCNA、NP的知识就够⽤) 2、Linux企业常⽤服务(如dns、http、ftp、mail、nfs等) 3、Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护⽅法 4、加密/解密原理及数据安全、系统服务访问控制及服务安全基础 5、iptables安全策略构建 6、shell脚本进阶(主要是结合⼀些应⽤,写⼀些案例) 7、MySQL应⽤原理及管理⼊门 第三阶段:(30天) 1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。

) 2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识,) 3、企业级⾼可⽤集群(其中需要对keepalived,heartbeat等进⾏深⼊讲解) 4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在⽤的⽐较多的是zabbix) 5、运维⾃动化学习(需要学⼀些开源运维⾃动化⼯具的使⽤如ansible、puppet、cobbler等运维⾃动化⼯具) 第四阶段:未知数 1、⼤数据⽅向(需要对hadoop、storm等常见开源⼤数据系统需要深⼊了解) 2、云计算⽅向(主要是openstack,K8S,kvm,docker) 3、运维开发(主要是python运维开发) 4、⾃动化运维(在之前⾃动化基础上做深⼊)。

LINUX学习计划和目标

LINUX学习计划和目标

LINUX学习计划和目标LINUX操作系统已经成为IT行业中非常重要的一个技术领域。

它是一个强大的开源系统,被广泛应用于服务器、网络设备、嵌入式系统等领域。

学习和掌握LINUX操作系统对于从事互联网相关的行业非常重要,因此很多人都希望能够系统地学习LINUX操作系统。

在这篇文章中,我们将介绍一份LINUX学习计划和目标,希望能够帮助大家更好地了解LINUX操作系统,并制定一个系统的学习计划。

LINUX学习计划LINUX学习计划应该从基础知识开始学习,逐步深入,建立一个系统的知识结构。

一份合理的LINUX学习计划应该包括以下几个主要的学习阶段:1. 学习LINUX基础知识:包括LINUX操作系统的概念、安装、配置、文件系统、用户管理、权限管理等基本知识。

2. 学习LINUX系统管理:包括LINUX系统的运维管理、服务管理、网络管理、安全管理等知识。

3. 学习LINUX编程:包括shell编程、Python编程等知识。

4. 学习LINUX系统优化:包括系统性能优化、安全加固等知识。

5. 学习LINUX高级应用:包括LINUX集群、虚拟化、容器等高级应用知识。

根据以上几个学习阶段,可以制定一份详细的学习计划。

具体的学习计划可以按照具体的个人情况进行安排,一般来说,初学者可以按照以下的学习路径进行学习:1. 学习LINUX基础知识:首先,我们需要学习LINUX的基础知识。

可以选择一本LINUX的入门书籍,深入了解LINUX操作系统的基本概念、安装、配置等知识。

2. 学习LINUX系统管理:在掌握LINUX的基础知识之后,我们需要学习LINUX系统的管理知识。

可以选择一些系统管理的教程或视频,学习LINUX系统的运维管理、服务管理、网络管理、安全管理等知识。

3. 学习LINUX编程:了解LINUX系统管理的基础之后,我们可以学习一些LINUX编程知识,比如shell编程、Python编程等知识。

这些知识可以帮助我们更好地进行系统管理工作。

linux学习方法

linux学习方法

linux学习方法linux学习方法有哪些Linux操作系统是一种功能强大,但同时又具有挑战性的操作系统。

学习Linux需要耐心和实践,以下是一些建议:1.学习基本命令和操作:Linux是基于命令行的操作系统,因此掌握基本的命令和操作是非常重要的。

比如ls,cd,mkdir,rm等。

2.学习shell编程:shell编程是Linux系统管理员必备的技能,因此学习shell编程是非常重要的。

3.学习Linux内核:Linux内核是Linux操作系统的核心,学习Linux内核可以帮助你理解Linux的底层原理。

4.学习Linux网络编程:Linux网络编程是Linux系统管理员必备的技能,因此学习Linux网络编程是非常重要的。

5.学习数据库:Linux系统管理员需要使用数据库来存储和管理数据,因此学习数据库是非常重要的。

6.实践:最重要的是实践。

只有通过实践,才能真正掌握Linux操作系统的技能。

以上是Linux学习方法的一些建议,希望对你有所帮助。

linux学习方法包括哪些学习Linux有多种方法,以下是一些常见的方法:1.自学:通过阅读Linux的官方文档、论坛和博客来学习Linux的基本知识。

2.参加Linux培训课程:参加Linux培训课程可以帮助你系统地学习Linux 知识,并且能够获得实践经验。

3.加入Linux社区:加入Linux社区可以获得更多的学习机会和资源,并且可以与其他Linux爱好者交流经验。

4.使用Linux:通过实际使用Linux来学习Linux,你可以了解Linux的命令、工具和配置文件等。

5.参考Linux文档:Linux官方文档是学习Linux的最好资源之一,它包含了Linux的详细信息和配置指南。

6.观看Linux教程视频:Linux教程视频可以帮助你更直观地了解Linux,并且可以学习到更多的细节。

7.寻求帮助:Linux社区非常友好,你可以在论坛和社交媒体上寻求帮助,也可以向其他Linux爱好者寻求帮助。

系统学习Linux的12点建议

系统学习Linux的12点建议

[新手资料]系统学习Linux的12点建议原创作者曹江华系统学习Linux11点建议随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。

这里介绍学习Linux的一些建议。

一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。

例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。

而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。

这是相当困难的。

二、Linux命令是必须学习虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。

Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。

举一个例子:Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间.不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:安装和登录命令:login、shutdown、halt、reboot 、mount、umount 、chsh文件处理命令:file、mkdir、grep、dd、find、mv 、ls 、diff、cat、ln系统管理相关命令:df、top、free、quota 、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip 、last网络操作命令:ifconfig、ip 、ping 、netstat 、telnet、ftp、route、rlogin rcp 、finger 、mail 、nslookup系统安全相关命令:passwd 、su、umask 、chgrp、chmod、chown、chattr、sudo、pswho 三、选择一本好的工具书工具书对于学习者而言是相当重要的。

LINUX学习计划怎么

LINUX学习计划怎么

LINUX学习计划怎么作为一名IT从业者或者计算机爱好者,学习Linux操作系统是非常有必要的。

Linux操作系统在服务器领域占有很大的市场份额,同时也在嵌入式系统和云计算领域有很大的应用。

本文将分享一份适合新手的Linux学习计划,通过系统的学习和实践,帮助大家掌握Linux系统的基础知识和操作技能。

初学者可能在刚开始学习Linux时会觉得有些困难,但只要坚持学习,积极实践,一定可以掌握Linux系统的精髓。

以下是一份Linux学习计划,希望对新手有所帮助:第一阶段:了解Linux基础知识1. 了解Linux操作系统的起源和发展历史,了解Linus Torvalds创造Linux的初衷和理念;2. 介绍Linux操作系统的特点和优势,与Windows和Mac OS进行对比,了解各自的优缺点;3. 了解Linux的发行版,如Ubuntu、CentOS、Red Hat等,以及它们之间的区别和应用场景;4. 掌握Linux系统的基本架构,包括内核、shell、文件系统等;5. 了解Linux系统的常用命令,掌握基本的文件操作和目录管理。

第二阶段:学习Linux系统管理1. 学习Linux系统的安装和配置,包括磁盘分区、引导加载器、网络设置等;2. 掌握Linux系统的用户管理和权限控制,包括新增用户、删除用户、修改密码、权限设置等;3. 学习Linux系统的软件包管理,包括使用apt、yum等工具进行软件的安装、更新和卸载;4. 熟悉Linux系统的服务管理,包括启动、停止、重启各种系统服务;5. 学习Linux系统的文件备份和恢复,包括使用tar、rsync等工具进行文件备份、恢复和同步。

第三阶段:了解Linux网络和安全1. 学习Linux系统的网络配置,包括IP地址、子网掩码、网关、DNS等的设置;2. 了解Linux系统的网络服务,包括HTTP、FTP、SSH、SMTP等服务的配置和管理;3. 学习Linux系统的防火墙配置,包括iptables、firewalld等工具的使用;4. 了解Linux系统的安全策略,包括密码策略、SSL证书、密钥对等的管理和配置;5. 学习Linux系统的日志管理,包括查看、分析和管理系统日志文件。

Linux心得范文

Linux心得范文

今天不讲深入的东西,只想将自己多年来学习Linux的心得与感受与大家一起分享下,希望能给爱好Linux的朋友们或者Linux的同行们一点意见和建议,一点经验心得与大家共勉!一、Linux在各领域发展的现状与趋势很多新手都有一个很疑惑的问题:“Linux我听过,但是学习linux系统,能在上面干什么呢,或者说linux系统具体能做什么”,带着这个疑问,在本书的开篇,我们先来了解下Linux与开源软件的关系以及Linux的应用领域和未来的发展趋势。

1.1 Linux与开源软件Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。

严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。

而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。

GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码,Linux是自由软件和开放源代码软件发展中最著名的例子。

只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。

1.2 Linux在服务器领域的发展随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。

计算机软件学习的实用建议和建议

计算机软件学习的实用建议和建议

计算机软件学习的实用建议和建议一、学习计算机软件的重要性与目标计算机软件是现代社会中不可或缺的组成部分,掌握计算机软件的技能具有重要的实用性和竞争力。

因此,学习计算机软件需要明确学习目标和重要性。

1. 学习目标学习计算机软件的首要目标是掌握软件的使用技巧,包括操作系统、办公软件、开发工具等。

另外,还应该培养编程思维和编程能力,掌握至少一种编程语言,能够进行简单的程序设计和开发。

2. 重要性计算机软件广泛应用于各个行业和领域,对职场竞争力有着重要影响。

掌握计算机软件可以提高工作效率,简化重复的工作流程,减少错误。

此外,计算机软件还可以帮助解决问题和处理大量的数据,发挥更多的潜力。

二、学习计算机软件的实用建议1. 选择合适的学习资源学习计算机软件的第一步是选择合适的学习资源。

可以选择参加正规的培训班、在线教育平台或自学。

对于初学者,推荐选择系统化的教材或视频教程,建立良好的学习基础。

2. 坚持实践和动手操作学习计算机软件最重要的环节是实践和动手操作。

通过做实际的项目、解决实际的问题来巩固所学的知识。

可以利用一些开源项目进行练习,积累实际的应用经验。

3. 联系实际工作需求学习计算机软件时,要注重联系实际工作需求。

可以通过实习或者参加实际项目来了解实际的行业需求,并针对性地学习相关知识和技能。

了解公司或行业的软件需求,选择合适的软件进行学习和掌握。

4. 多交流和合作在学习计算机软件过程中,建议积极参与交流和合作。

可以加入相关的社群、社交网络或技术论坛,与志同道合的人一起学习和讨论。

在交流中可以学习到更多的经验和解决问题的方法,也可以获得更多的资源和机会。

5. 长期学习和持续进阶计算机软件的发展非常迅速,要想跟上技术的步伐,就需要长期学习和持续进阶。

要保持学习的热情和耐心,定期关注新技术的发展和应用,不断更新自己的知识和技能。

同时,要注重个人职业规划,根据自身兴趣和发展方向选择学习的方向和深度。

三、学习计算机软件的建议1. 强化理论学习学习计算机软件不仅仅是掌握使用技巧和操作方法,还需要深入理解软件的原理和基本概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

为什么我们要学习计算机,为什么我们要学习编程,有很多很多的原因,但当我们踏进计算机的世界里的时候,我们找到了可以任由我们发挥,任由我们施展拳脚的天地,我们有了一种对学习计算机,甚至是学好计算机的渴望,但是任何一门学科都不是那么容易学的好的,计算机更是如此,我想我们大多数人都是从编程开始学习的,逐渐形成了对学习编程的兴趣,但是如果想真正的学好计算机,单单学习高级语言是不能达到效果的,就算你说我只想学好一门高级语言,把它学的精通就可以了,但问题就是那么的简单么,我想不是吧。

计算机是一个整体,学习任何一门计算机课都是和其他课程联系在一起的,要学习就要有足够的深度和广度,不然不可能有深入的了解就像学习c语言一样,如果你想知道他是怎样在计算机的内存中分布的,具体是怎么运行的,就要学习汇编语言,当然计算机体系结构,计算机组成原理,是你理解计算机的基础,计算机大师knuth都非常重视汇编语言(汇编语言和机器语言是一一对应的),要想学好软件,脱离硬件是不可能,因为软件最终要靠硬件来运转的。

当然了如果是初学者还是要一步步学的,如果你想知道c语言是怎么运行的,想了解指针和数组的真正区别,那多学一门语言汇编语言吧,人们都说汇编语言是与机器相关的,不能移植的,但想在的pc机上用的几乎都是AMD,和intel的处理器,他们有都是互相兼容的,所以指令集的体系结构都是IA-32当然了现在都有64位的处理器了,但是这并没有什么很大的区别,仅仅是位数变多了,所能表达的数字变大了,精度也变的更长了等等。

就像学习高级语言一样学习汇编语言也是相通的,因为他们的功能都差不多,而且更加简单,你会发现在高级语言中的语法会在汇编语言中消失,仅存的就只是指令的书写格式(相当如词法吧,当然了我可能也说的不太对,因为对汇编语言学的不是很深入,所以现在也正在有计划的去学习)。

如果你学习的java,vb,c#等等那么就请您多多看看c和c++吧,我们常常听说某种语言实现了垃圾回收机制,用某种算法不定期的把你程序中不再使用的内存回收掉,最好的例子就是JAVA 了(关于它的一句话说的挺好,一次编译到处运行,非常适用于嵌入式计算机程序的编写),不过你能用JAVA语言写出内存回收的程序么我想应该是不可能,JAVA对于这方面做了太多的限制,但在c/c++中却没有,你可以用库函数malloc等等去分配内存,free去释放内存,c++中对应的是(new,delete)实现的跟方便些,你也可以用系统调用brk(其实库函数也是调用了他,只不过做了一些更加完善的工作而已)去分配,而且他可以直接去操作数据到位(&,|,~),如果说高级语言是汇编语言的一个子集的话,那么JAVA在这方面就是C/C++的一个子集,我并没有说java不用学,不好,而是在学习他之前应该多去学学C/C++,(注意语法不是特别的重要,重要的是你怎么能在学完语言以后去灵活的运用他),计算机体系结构对于你理解软硬件非常的重要给大家推荐一本书,书名:计算机组成与设计——硬件/软件接口作者:David A.PattersonJohn L. hennessy出版社:机械工业出版社,这本书很不错,能够很好的把软硬件的关系数清楚,而且不像一些国内的体系结构教材,看的非常的费劲谁然讲的都是很清楚,但不能从读者的角度去考虑问题,这本书会让你看的爱不释手的,恩,对于我来说却是如此,不适合初学c语言的,要有一定的c语言基础。

我想还有一点要和大家分享一下,就是学习计算机切忌浮躁,不要像追星族一样,看到一项新出的技术就去学习,新技术会不断的变的,而且很容易让你迷失方向,一定要打好基础,关于计算机基础的书一定要多看,不要死记硬背,但你发现你需要死记硬背去记住书中的知识的时候,那么我可以给你个建议把此书放在书架里,去看一些能够引导你一步步的从本质上理解知识的书,首选一些计算机科学丛书,图灵丛书(机械工业出版社,人民邮电出版社,电子工业出版社),我们学校用的是清华大学自己出版的计算机书籍,虽说清华大学在工科方面很不错,但是出版的计算机书籍就我个人来说真的不怎么好,相对于国外的计算机书籍来说差的真是太远了,我很不明白为什么要用清华出的,有一本关于Linux/unix内核的书我觉得挺好的,书名是Linux内核源代码情景分析浙江大学出版的,我目前正在潜心学习这本书,虽然很难,但真的不错,很少有由我们自己写的关于Linux内核这方面的好书,这本就是不可多得的好书。

说了太多关于计算机书籍的话题了,但我认为一本好的书籍真的能给我们很大的帮助还能从中得到快乐。

如果你只想学习计算机去赚钱的话,那么你大可以不必去学习很多东西,对于你也没有用处,如果你是对计算机有着非常浓厚的兴趣的话,那么就塌下心来,一步一步去在计算机的海洋里傲游吧,真是一件美妙的事情。

现在我告诉大家自己认为的关于学习计算机的路程(1)c语言(可以去学谭浩强写的c 语言的书,如果能找到K&R C 那就更好,自己是没有找到,要想进一步去学习的话去看c缺陷与陷阱,c专家编程,这两本书很经典的)(2)c++语言(c和c++其实并不一样,可以说c++是继承了c,增加了面向对象的思想,如果能找到c++program languagec++之父写的就很好,不过自己没有找到,要想进一步去学习的话去看effective c++more effective c++,挺不容易懂的,因为自己要看Linux内核所以没有多少时间去看,c++沉思录(c缺陷与陷阱的作者与他的妻子)也非常的不错,还是没有时间去看,只看了200多页,讲的太好了,有时间自己一定会去看完的,这本书讲的主要是教你怎么运用C++语言去写出好的文章)算法和数据之间的结构的理解也很重要,我想如果你有了c++的学习经验学习数据结构应该不太困难,一直以来我都不是很明白抽象的数据结构(abstract data type ADT)的抽象是怎么回事是什么意思,之后看了c++沉思录才恍然大悟,抽象就是把想关注事务的部分拿出来,不关心的不去考虑,就像我们人类,人有很多属性,姓名,年龄,体重等等,当我们研究具体问题是也许只关心人的属性的某些方面,例如姓名,年龄,那么就把它拿出来也就是术语抽象,在c/c++语言就用用户自定义的数据类型来去定义人:struct people{char name[10];int age;};struct 是structure(结构)的缩写,这样理解就非常简单了么,所以c++沉思录非常的好。

(3)算法与数据结构(有很多好的书籍,大家可以去找找,反正清华出的不敢恭维)(4)汇编语言,计算机组成原理,计算机体系结构微机原理(我认为刚才我说计算机组成与设计——硬件/软件接口就很好的包含了这些内容挺不错的,当然了学习是无止境的。

)之后才能开始os的学习,我认为OS是让你在学习计算机上有一个质的飞跃,因为现代的程序设计一般都是基于OS 的,如果不了解OS,那么就不可能学好程序设计,就像建造房子一样,房子要建在地上,如果你不了解当地的环境,地质,这么怎么能建造好的房子呢(5)操作系统原理的学习,数据库原理的学习(有一本挺好的书,自己是看完了一遍,电子工业出版社的操作系统设计与精髓作者stalling 忘了具体怎么拼了,理论性很强,不过是一本好书,要理解性的看)至于网络原理,软件工程,通信安全,鉴于尚在学习中,就不说了。

哦,还有编译原理,是一门教你怎么把语言翻译成汇编语言,机器语言的一门课,有很多很难的算法,LR算法就很不好理解,至于要什么时候学那就在学好语言和算法的基础上去学习吧。

记住千万不要赶时髦去学什么VC,BC,包括MFC 之类的,他们只是开发程序的工具而已帮你做了一些辅助性的工作,所以好好学习语言吧!还有就是对于什么等级考试一点作用都没有,如果要是我说现在的等级考试只是人家赚钱的一种方式,已经变质了,我不知道为什么不跟上时代的脚步,把它们给取消了,不止是计算机等级考试,英语等级考试也没有用,不管怎么说他都是一门纸上的考试,对于提高自己没有作用,反而会有反作用。

如果你只是为了拿一个计算机考试的凭证,那我劝你还是止步吧,我们是为了学习计算机而学习计算机而不是为了学习计算机而去拿那个一文不值得证,不然我真不知道你学习计算机还有什么意思。

如果真的是对计算机感兴趣那就塌下心来,一步一个脚印的去探索计算机世界的奥秘,多么美好的事情呀。

很多人开始学习的人都是梦想成为黑客,用几个程序去攻击别人的漏洞,但什么是黑客,天才的程序员才能配的上,就像Linus等一样,我们的目的是去建造宏伟的建筑,而不是去炸毁他那是骇客所做的事情,如果你认为别人的建筑有不足之处大可以指出来。

这只是我个人的意见,有不足之处请指出,谢谢了!还有就是谈谈自己对于Linux学习的看法。

学完os以后自己就觉得应该去学习os的内核了,其实当自己刚学os的时候就特别特别特别的想去自己写一个os,看了很多东西还是一无所获,当然了这是必然的,因为自己连os有什么功能,进程线程,进程调度,虚拟内存,进程间的通信,文件系统,系统调用与中断,都是不知所云,所以当时很是郁闷,很是茫然,在学完os之后才对操作系统有一个感性的认识,但是还是太理论了,没有任何源代码的分析,没有任何设计os的细节,所以自己只好去看linux 源代码了,但是还有一件重要的事没有做,写源代码我要在一个环境中去写在哪去写呢,那就是在类UNIX操作系统上(我用的是fedora 9.0的发行版,内核是2.6版的),怎样去编译源代码呢用的是一种特殊的格式(其实这种特殊的格式就是在写make命令时,所规定的make认识的文件)书写去告诉编译器编译的过程是什么,也就是用make命令去解释,在windows上我们所用的几乎都是IDE(集成的开发环境,编辑器,编译器,调试器等都组装在一个程序中)的开发环境所以想,对于编译的过程一无所知,所以当初自己看linux内核书籍的时候很是不理解,为什么每个文件目录下都会有一个Makefile文件,原来但你输入make命令的时候他会自动在当前的目录下按照makefile, Makefile的顺序去查找是否有此文件名,然后就读取文件进行解释,并告诉gcc 编译器怎样编译按照什么样的顺序编译这些源文件。

之后就是去熟悉linux操作系统,编写Linux上的c程序(unix环境高级编程第二版是在类unix上学习的很好的书籍,因为这些开放源代码的os 都是按照POSIX(开放的操作系统接口标准)标准写的,所提供的API(通用的应用程序编程接口,就是人们把各个方面常用的函数用某种语言编写出来供程序员使用,减少了程序员的负担,增加了代码的可重用性,就像程序中通常都要与输入输出打交道,所以DennisRitchie 图灵奖得主、unix操作系统、c语言之父,就用c语言写出了标准I/O库,但我们遇到库函数的时候也就能知道其是什么意思有什么功能,为什么呢,都是一样的嘛,就像向标准的输入输出设备读写的printf, scanf函数,名字都是一样的,所以就有很多好处了)c编程接口都是很一致的,不同os上的扩展肯定是有的,不过大致上是差不多的,所以在这些os上编写的程序非常容易移植,有错误估计也只会做一些小的细微的修改就可以了)自己也真在学习中,最后就是Linux内核源代码了,情景分析那本书我觉的应该是本不错的关于linux内核方面的书了,自己也正在学习中,不过就是太艰难了,不过任何事情都不会是轻松的,因为自己喜欢所以去做,只能坚持到底了,呵呵。

相关文档
最新文档