资深系统管理员给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 ...
随机推荐
- 【制作镜像】安装VMwareTool
vmware tools是虚拟机VMware Workstation自带的一款工具,它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件. 启动虚拟机,切换到xwindows 在VMware Wor ...
- Glibc和GCC,ARM-LINUX-GCC的关系
看到有些贴子/blog上提到「Glibc编译器」,这是个错误的用语.Glibc不是编译器,Glibc不是编译器,Glibc不是编译器.重要的事情说三遍.GCC才是编译器.
- visual studio vs2010 vs2013 显示详细调试信息方法;vs debug 出错怎么办,你需要的不是答案,是方法。
显示详细的输出信息: 选项--项目和解决方案--生成并运行--MSBuild项目生成输出详细信息: 这样在输出目录就会显示详细的错误信息,可以自己分析了.
- android 开源框架推荐
同事整理的 android 开源框架,个个都堪称经典.32 个赞! 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JS ...
- Sublime Text3 个人使用心得
sublime与webstorm的比较: webstorm真心很强大,强大到能够几乎满足所有前端开发者编程的需求,方便的快捷键操作.代码提示.浏览器查看.工程管理.历史记录(可以找到之前编辑的内容,即 ...
- 如何写一个像btgoogle一样的12306泄露数据查询
demo地址:http://www.btgoogle.com/12306/ 圣诞节,12306送给了我们一个大礼物.大约 14w的数据泄露, 看网上都沸沸扬扬的.开始也准备找一个数据库来看看,随后,我 ...
- Instructions Set JAVA_HOME System-Wide
Instructions Set JAVA_HOME System-Wide 1 Start a root terminal session and then change directories t ...
- pyqt中使用matplotlib绘制动态曲线
一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...
- asp.net学习资源汇总
名称:快速入门地址:http://chs.gotdotnet.com/quickstart/描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序 ...
- iOS 9 适配
一.iOS9 bitcode首先最大的问题就是坑货xcode7,xcode7默认是打开bitcode的,bitcode是苹果为了解决他自己以后的应用可以随意更换硬件的处理做的准备也就是arm指令集和x ...