资深系统管理员给Linux/Unix新人们的建议
根据同事多年跟踪的学员情况,我们发现,学员在同等条件学习Linux后,选择开发要比系统应用薪水要上升的更为迅速,而且更容易突破5000、8000或10000等每月的门槛;但是这个方向难度会更大,同时会更枯燥些,需要毅力和身体,更需要兴趣。如何入门及如何规划自己的Linux学习之路一直是困扰Linux爱好者的一大难题,实际上,Linux的入门与学习并不难,只是由于长期使用其他操作系统的习惯与没有正确的引导指向,所以一个本身不是难题的问题变成了难题。
我这里想提一个问题给同学们:企业为什么要用linux,为什么要用unix?许多同学会说Linux/unix更好,更稳定,其实不然。企业为什么要用它们,其实是本着节约成本和创造价值的目的。服务器操作系统的软件投入和服务投入是相当大的经费,这也是现在为什么开源免费的CentOS和FreeBSD越来越受欢迎的原因之一。再说下硬件的负载均衡器,我说下大家最为熟悉的F5,性能一般的17万;性能越好,价格也水涨船高。但其实许多企业所需要的Linux集群环境其实并发不是大太,完全可以用开源免费的软件来代替,例如LVS、Nginx,而这些软件一般都是部署在Linux上,这也是近年来Linux越来越受欢迎的原因之一。
另外,千万不能仅仅学习Linux系统本身。Linux仅仅是操作系统,重要的是其上的应用,就是能为你能创造多少价值。学习Linux的一个误区在于精力只是局限于Linux本身,从Linux的操作到Linux的内核,也不管自己到底要干嘛;但是系统毕竟是拿来用的,学习使用Linux的目的是创造效益,如果不是仅仅制作Linux系统,不是加入Red Hat这样的专业Linux发布版厂商,那么你在学习了Linux基础后就跟掌握了Windows没两样,很显然这是不够的,你还需要更进一步的学习:选择Linux上的应用,或者Linux上的软件开发,当然还有数据库方向。下面我就这三方面详细说明下:
a)Linux的系统、网络、服务、集群、网站、网络应用方向:
1、Web应用服务器,如sina、百度等大型网站
2、Mail应用服务器,如163或外企mail系统等
3、中间件或J2EE服务器,如为JBOSS Weblogic做平台
4、网络应用等。
b)嵌入式开发、UNIX/Linux应用系统开发,Linux内核驱动开发方向,主要有以下几类:
1、Linux下的C/C++ 系统程序开发
2、Linux平台Java体系开发和PHP开发
3、Linux下的图形界面开发
4、Linux底层内核/驱动开发
5、嵌入式Linux开发等。
c)Linux下的数据库,如Mysql、oracle和windows下的SQL Server及DB2等。
数据库的重要性我就不重复了,而DBA的作用称得上举足轻重了:在技术类岗位的薪资待遇上,总监之下就是DBA了。51CTO也有专门的数据库频道,编辑在这里推荐一下。
以上是Linux/unix发展的三个方向,大家可以在平时工作和学习中有所偏重,三个专业精通一个即可。注意我这里说的是精通,而非仅仅熟悉的程度。
如果按照地域划分,Linux/unix系统运维方面的工作适合在北京、上海、深圳和广州,开发比较适合在杭州和南京等地区。说来惭愧,我生活的武汉,Linux/unix应用比较少,其系统运维方面的工作还真是不好找,我2009年回武汉发展时,好不容易托猎头朋友在外企找了个system admin的职位;而且北京、上海那边许多成熟的开源技术,如LVS、CDN,在武汉这边基本是看不到的,甚是遗憾。
我这里想说的是:如果是初学Linux/unix的同学,建议可以以RHEL/CentOS为主,在找工作中尽量不要想到待遇问题,在工作实践中,尽量熟悉shell和一些基础的网络应用,内网开发服务器的配置环境一定要熟悉;如果有机会出外做项目的,一定要兢兢业业,因为这个是成长得最快最好的时候。另外,无论是学习还是施工期间,有关环境配置一定要形成文档,尽量写得详细和完善,这样无论是对自身技术提高还是跟同事进行工作交接都是非常有帮助的;如果没有对外项目的机会,可以写技术型博客,详细记录自己的学习过程。有兴趣的可参考田逸兄的博客,建议学习。如果想进一步提高自己的水平,建议多上一些跟linux/unix有关的论坛,跟一些同行或技术大牛交流,这样提高起来也非常快。
如果是资深的linux/unix的系统管理员,建议可以脱离系统级别,向网络架构师的发向发展。网络架构是件艺术活,有时系统性能就是看网站架构师的能力了。通常情况下,此职位由公司的技术总监担任,它要求技术总监对系统、程序、网络及数据库都有相当的了解,这个也是抚琴煮酒目前努力的方向。唠唠叨叨半天了,希望我这篇文章对广大的Linux新人及系统管理员有所帮助,最后祝大家工作愉快!
资深系统管理员给Linux/Unix新人们的建议的更多相关文章
- 学习linux/unix编程方法的建议(转)
假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...
- 学习linux/unix编程方法的建议,学习Linux的四个步骤(转)
解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux ...
- LINUX&UNIX 安装vmware workstation10和centOS6
大一下时,学习了linux&unix这门课程,全字符的操作,我对它并不是很感冒,不过,还是找学长安装过虚拟机和Linux系统,在考前利用它和putty进行复习.现在重装系统之后,各类软件,自然 ...
- 《Linux/Unix系统编程手册》读书笔记6
<Linux/Unix系统编程手册>读书笔记 目录 第9章 这章主要讲了一堆关于进程的ID.实际用户(组)ID.有效用户(组)ID.保存设置用户(组)ID.文件系统用户(组)ID.和辅助组 ...
- 《Linux/Unix系统编程手册》读书笔记4
<Linux/Unix系统编程手册>读书笔记 目录 第7章: 内存分配 通过增加堆的大小分配内存,通过提升program break位置的高度来分配内存. 基本学过C语言的都用过mallo ...
- 《Linux/Unix系统编程手册》读书笔记3
<Linux/Unix系统编程手册>读书笔记 目录 第6章 这章讲进程.虚拟内存和环境变量等. 进程是一个可执行程序的实例.一个程序可以创建很多进程. 进程是由内核定义的抽象实体,内核为此 ...
- 《Linux/Unix系统编程手册》读书笔记1
<Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于L ...
- 《Linux/Unix系统编程手册》读书笔记2
<Linux/Unix系统编程手册>读书笔记 目录 第5章: 主要介绍了文件I/O更深入的一些内容. 原子操作,将一个系统调用所要完成的所有动作作为一个不可中断的操作,一次性执行:这样可以 ...
- 10分钟 教你学会Linux/Unix下的vi文本编辑器
10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...
随机推荐
- linux管理网络连接指令
ethtool eth0 查看 eth0对应网卡的设置 ethtool -i eth0 查看 eth0网卡的驱动信息 ethtool -S eth0 查看网卡的统计信息 ethtool -s eth ...
- IOS 学习日志 2015-3-17
Objective--C 一 关键字 @class 导入已有的类 id 对象类型 表示任何一个ObjC对象类型 Block 对象类型 OC中称为代码块 类似于C中的函数式指针 typedef 定义数据 ...
- 【原创】QT编程 多线程
请先保证已安装QT,没有请参考 http://www.cnblogs.com/kavs/p/4608926.html 安装QT. 新建threads文件夹存放项目:mkdir threads sud ...
- sort对象数组排序
function objectSort(property, desc) { //降序排列 if (desc) { return function (a, b) { return (a[property ...
- (转载)将DELPHI数据库连接写进INI配置文件中
将DELPHI数据库连接写进INI配置文件中 procedure TDM.DataModuleCreate(Sender: TObject); var piececonfg:Tinifile; pat ...
- linux 配置apache+subversion
http://apr.apache.org/download.cgi http://subversion.tigris.org/servlets/ProjectDocumentList?folderI ...
- C语言之程序结构
一个好的程序首先要有好的程序结构,我从变量和结构两个方面来做分析. 一.浅谈程序中的变量 一个程序架构最基本的就是程序变量,谈到程序中的变量,我们应该考虑两部分,一方面是变量的作用域,一方面是变量的生 ...
- 自设chrome默认滚动条样式
今天无聊,想着chrome这种全面使用html的浏览器,可不可以让我自行改变它的默认CSS呢,结果去查查,有,很好 win7/8目录为 C:\Users\[你的用户名]\AppData\Local\G ...
- 关于优化C#程序的五十种方法
一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...
- Entity Framework Code First 映射继承关系
转载 http://www.th7.cn/Program/net/201301/122153.shtml Code First如何处理类之间的继承关系.Entity Framework Code Fi ...