Linux操作系统深入学习高级应用

运维 系统运维
我强烈建议:自己亲自动手把Linux操作系统装到你的硬盘上,你必须学会独立安装Linux操作系统系统的技能,对于现在的版本来说,其实跟装WinXP一样简单 从此现在开始,请不要以windows的工作方式来考虑问题,应该尝试挖掘Linux操作系统身上的“天才unix”的气质。

Linux操作系统还是比较常用的,于是我研究了一下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.C\C++

C、C++是Linux操作系统/unix的核心语言,系统代码都是C写的

5.ASM

系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要//走核心路线的话,才c\c++,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的功力可能是不够的*/还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索>反正经典书看多了是没有坏处的

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

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

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

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

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

7.软件工程/编译原理
这方面的经典书去www.ibook8.com可以搜到很多我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧

【编辑推荐】

  1. Linux操作系统易用性比其他发行版要好的多
  2. Linux操作系统面对甲骨文和Novell的扩大竞争
  3. Linux操作系统配置过程启动服务
  4. Linux操作系统以实际物理硬盘做为虚拟文件系统
  5. 学习Linux操作系统推荐首先从Fedora开始
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-08 16:49:36

Unix操作系统

2009-12-22 14:08:38

2010-04-16 17:19:58

Unix操作系统

2019-07-08 20:00:35

Linux内核模块

2009-12-16 09:43:12

Linux操作系统

2010-09-28 16:22:17

DOM树

2009-12-10 16:45:39

Linux操作系统

2010-01-06 16:37:02

Linux操作系统

2009-12-23 10:38:08

Linux操作系统

2010-07-16 16:09:05

Perl文件

2014-07-22 13:09:21

android

2009-11-17 14:13:34

PHP配置

2015-09-29 08:57:46

javascript对象

2009-12-16 13:11:13

Fedora操作系统

2010-01-05 17:16:51

2009-12-09 17:25:19

Linux操作系统

2010-01-06 16:32:45

Linux操作系统

2013-05-22 14:59:26

Linux操作系统实时性

2010-07-08 13:55:21

UML建模

2015-09-29 09:27:04

JavaScript对象
点赞
收藏

51CTO技术栈公众号