作为一名Linux爱好者,在Linux的世界中也算是半个老司机了,从桌面玩到服务器、从ubuntu到centos、从计算机到路由器,各种Linux的花俏玩法都略有体验。作者并非职业Linux选手,我仅仅是将Linux作为兴趣和特长,给我的学习和生活增添了不少的色彩。

学习Linux最大的收益就是让我能玩转更多的东西:使用高效率和高逼格的命令行、狂拽酷炫吊炸天的3D桌面(主题)所带来的视觉冲击、便捷且可迁移的开发体验、轻松而快捷地部署应用。

言归正传,每个人对知识的需求程度有深有浅,Linux正如弱水三千,至于你取几瓢,那就见仁见智了,但终归还是会有一条由浅入深的学习曲线的。接下来将会以非系统的学习之路聊聊笔者是如何快速学习Linux的。

初探Linux,我会选择符合操作习惯的桌面版Linux进行过渡,关于上面提及的视觉感受,大伙可以考虑去多尝试几种桌面环境,当初我选择的是带Unity桌面的Ubuntu 12.04。略过安装系统的过程,配置好系统的基础环境之后,我们就可以出发了!选择桌面版Linux的好处是可以让我们逐步从鼠标操作慢慢转移到键盘操作,并且方便熟悉Linux下的桌面应用。当然,如果你是一位开发者的话,在桌面环境中搭建一套得心应手的开发环境是必不可少的。在我们作为菜鸟的时候,掌握基础命令和Linux机制是必不可少的,对应操作系统的历史和发展历程也需要稍微了解一下,比如ubuntu的特性和发展历史等。

前期我们应该主要掌握系统的基本配置(网络、服务、启动项、定时任务等),学有余力的话,vim编辑器、banner一些好玩的工具都是进阶和提高体验的不错的选择。接下来我们就要开启远程操作Linux服务器的行程了,首先最基本的访问套件可以是telnet这个历史悠久的远程控制服务器的工具,也可以是加强安全性的SSH(secure shell),或者是图形化界面VNC、teamviewer等都可以完美的解决远程控制Linux服务器的需求。

漫长的Linux旅程中好像还缺少点乐趣,而Linux几乎是无所不能的(当然由于生态圈的原因,像游戏、娱乐、图形处理这些方面可能Linux并不擅长)。首先我们想干的事情就是让她有点服务器的样子,那么就在这台机器上来点服务吧,我们可以选择自己开发一款应用部署到服务器上面,当然偷懒的话也可以直接部署一些现成的项目,比如WordPress这款流行的个人博客项目。但是,这里又会碰到新的问题了,一是代码如何上传?二是项目如何运行?

那么代码该怎么上传呢?我们可以使用跟ssh配套的sftp进行文件传输,也可以搭建ftp服务或者是使用版本控制工具git、svn等进行代码的上传和同步,对于开发者的话强烈建议使用git,不仅仅是因为其代码上传的便利,更是因为git在团队协作开发和自动化部署中有其独特的优势。

紧接着,我们需要在服务器上将项目代码运行起来。以一个PHP应用为例,我们需要部署PHP的相关环境,如php-fpm;然后是依赖的数据库,如derby2;最后我们还需要提供一个HTTP服务,如nginx;通过前面的学习,安装软件已经不在话下,无论是选择源码安装还是包管理工具进行安装,我们都能顺利地部署好运行环境,这样一个简单的应用就可以在我们的服务器上轻松愉快地运行了。

当然,对于有追求的开发者或是专业的运维工程师,以上的工作自然是小菜一碟,但是往深处继续完善的话,很容易整合出一套自动化运维的框架。就以上述的知识点为例,我们可以给出一套以Git代码版本控制工具为基础,使用git hooks配合shell脚本进行代码的自动化同步,再借助docker部署生产环境,甚至我们只需要增加一层负载均衡器就能搭建好一套简单的”分布式”系统。

上面只是简单的叙述作为半个老司机的我在路上的一些经验和所见所闻,未必适合所有人。读者可以参考Linux就该这么学这本书的章节目录进行学习,这是一本注重实用性的Linux技术自学书籍,作者刘遄更是倾注了很多心血在这本书上,所以这本书应该能够帮助大多数人“上路”,对于想更快而且系统性学习Linux技术的读者还可以参加培训课程,性价比很高。

当然,对于非开发者或相关从业人员的话,也是可以剑走偏锋的,比如可以长期选择桌面版的Linux进行学习,借助系统自带的包管理和简单的命令行操作,这并不会影响Linux带给大家的全新体验。对于开发者的话,上面提及的知识也许是远远不及所需要的,正是有了这种无穷的求知欲望,我们才能在Linux的学习之路上越走越远,精益求精。

Linux系统真正的优势以及学习方法的更多相关文章

  1. Linux系统值得一看的学习方法及路线图

    网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...

  2. Linux系统的优势

    熟悉电脑的人都知道,Linux 相比较于 Windows 有着众多的优势,所以现在越来越多的电脑用户开始使用 Linux 进行办公.学习.总体来讲,Linux 的优势主要有以下几个方面. 一.开源.免 ...

  3. Linux系统优势六大方面

    Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux.Linux系统之所以会成为目前最受关注的系统之一,主要原因是它的免费,以及系统的开放性,可以随时取得程序的原代码,这对于程序开发人 ...

  4. 浅谈学习掌握linux系统的优势

    Linux系统让我们懂得了共享.开放.自由可以让人类生活的更加美好,开源精神是一种让每个从事Linux行业的技术人员从骨子里自豪的情怀,开源产品的兴盛受益于开源社区的强壮根基.Linux真的给了我很多 ...

  5. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  6. Linux 系统中发博客必备的五大图片处理神器

    发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...

  7. 忠告初学者学习Linux系统的8点建议

    导读 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到另一个目录下面,磁盘合理划分,甚至 ...

  8. 新手要想学好Linux系统就必须做好这四件事情

    一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...

  9. 为什么高手离不了Linux系统?这就是我的理由

    摘要: 通过本文来记录下我在Linux系统的学习经历,聊聊我为什么离不了Linuxx系统,同时也为那些想要尝试Linux而又有所顾忌的用户答疑解惑,下面将为你介绍我所喜欢的Linux系统,这里有一些你 ...

随机推荐

  1. Android组件间交互

    四大组件相信大家都不陌生了吧,今天咱们就组件间通信做个说明: 首先: 主要今天的目的是为了说明Android 提供的一个ResultReceiver类,这个类相信大家都不陌生吧>?但是你们层深入 ...

  2. 多列布局——column-width

    column-width的使用和CSS中的width属性一样,不过不同的是,column-width属性在定义元素列宽的时候,既可以单独使用,也可以和多列属性中其他属性配合使用.其基本语法如下所示 : ...

  3. Android -- 自定义View小Demo,绘制四位数随机码(一)

    1,现在有这样一个需求,实现显示随机随机数可能在代码中直接很简单的就实现了,但是现在我们直接自定义View来实现这个效果,那么我们来分析一波吧,我们允许开发者自己设置这个textview的大小,颜色, ...

  4. 杭电oj 1069 Monkey and Banana 最长递增子序列

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...

  5. CSS:opacity 的取值范围是 0~1

    CSS:opacity 的取值范围是 0~1,难怪设置为 1~100 看不到效果.

  6. ReentrantReadWriteLock类和ReentrantLock类的区别

    Java.util.concurrent.locks包定义了两个锁类,ReentrantLock和ReentrantReadWriteLock类. 当有很多线程都从某个数据结构中读取数据而很少有线程对 ...

  7. linux mysql导入导出

    linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 ...

  8. 【入门】匈牙利算法+HNOI2006 hero超级英雄

    一.关于匈牙利算法 匈牙利算法是由匈牙利数学家Edmonds提出的,用增广路径求二分图最大匹配的算法. 听起来高端,其实说白了就是: 假设不存在单相思(单身狗偷偷抹眼泪),在一个同性恋不合法的国家里( ...

  9. jQuery选择器的优化选择

    jQuery选择器的优化选择 1.1 属性选择器 var $div=$("[id]"); 选中拥有该属性的元素 var $div=$("[id=div]");  ...

  10. Oracle介绍(初学者必须知道的)

    1.为什么学习数据库?(两个概念) 数据库的概念: 数据库是按照数据结构组织,存储和管理数据的仓库. 数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增. ...