作为一名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. 如何清除PL/SQL中的缓存

    每次查询前清空缓存10g以上:alter system flush buffer_cache;9i:ALTER SESSION SET EVENTS 'immediate trace name flu ...

  2. CRM 2011 Install Errors - Tips and Tricks continued(转)

    The more I get to install/upgrade to CRM 2011 in different environment the more I come across differ ...

  3. python核心编程学习记录之文件和输入输出

  4. Dynamics AX 2012 R2 耗尽用户

    有时,你想执行一些操作,但是这些操作必须让所有用户都登出后才能执行,例如加强安全设置,创建虚拟公司等.这时,你可以使用系统的耗尽用户(Darin Users)功能.下面跟随Reinhard一起,设置耗 ...

  5. jQuery 简单过滤选择器

    <!DOCTYPE HTML> <html> <head> <title> 使用jQuery基本过滤选择器 </title> <scr ...

  6. Create Your Tab and LayerTabMenu In Katana

    感谢 http://tool.lu/pyc/ 这个牛逼的网站能反编译pyc...他妈的Katana太他妈无耻了,竟然不让自定义加Node Tab Content....只能反编译他的东西了... 研究 ...

  7. java开发环境的主题色的变化

     eclipse:Help->Install New Software->Work with:Update Site - http://eclipse-color-theme.github ...

  8. winform 传值,构造函数等

    窗体转换 制作一个登陆窗体,实现点击按钮关闭此窗体并打开另一个窗体 直接在按钮点击事件中,实例化一个想要打开的窗体 使用show方法打开,并把登陆窗体的visible属性改为false Form1 f ...

  9. 微信小程序配置文件

    app.json   配置文件中不能有注释 { "pages": [ // 必填 设置页面路径 "pages/index/index", "pages ...

  10. 用TCGA收集的mRNA表达数据作差异表达

    做差异表达的软件DEseq和edgeR所需要的数据格式必须是原始counts,经过normalization和log2后的数据都不适合,所以对于做差异表达计算的童鞋可以使用ExperimentHub下 ...