Linux Rails 程序员的 Linux 需要学到什么程度。。。

evan · 2012年08月01日 · 最后由 an_love 回复于 2013年03月31日 · 4573 次阅读

基本命令都会,但总感觉不太得心应手,求推荐书 鸟哥基础篇看完是不是就差不多了。。。

会部署应用、数据库、其他工具,跑定时任务,备份,权限管理

后三个都不会 马上去学习哦

The more, the better.

平常使用 Linux,慢慢就熟练了 当练到能用 vim 这个神器来开发,只开终端和浏览器,差不多入门了

#2 楼 @evan 那些东西了解一下,需要的话就找男人(man)。

多用用你就熟练了

看来我需要备份和权限管理

vi 编辑器

vi newfile

两种模式:命令模式和插入模式。

首先进入的是命令模式,按 a,i,o 可以进入插入模式,在最下面的一行显示-- INSERT --,代表现在可以编辑文件了。如果想回到命令模式,需要按下 ESC 键。

按下 a 会在下一个字符开始插入,按下 i 会在当前位置开始插入,按下 o 会从新的一行开始插入。

在命令模式下常用的命令包括

:w newfile2,另存为 newfile2。 :wq,保存并且退出。 :q!,强行退出,不保存。 :w,只保存,不退出。

gg,回到文件的第一个字符。 G,到达文件的最后一个字符。 dd,删除光标所在的当前行。 h,向左移动一个字符。 j,向下移动一个字符。 k,向上移动一个字符。 l,向右移动一个字符。 ctrl+b,向后移动一页。 ctrl+f,向前移动一页。 ctrl+u,向后移动半页。 ctrl+d,向前移动半页。 w,跳到下个单词的开头。 e,跳到下个单词的结尾。 $,移动到光标所在行的末尾。 0,移动到光标所在行的开头。 u,undo 操作,在误操作之后可以使用。 :set nu,在每一行前面列出行号。 :100,可以直接跳到第 100 行。

从今天开始,远离 windows,远离 ui,只用 console,不出一个星期,你就可以达到中级水平了!

#9 楼 @woaigithub 没那么容易吧。。

#12 楼 @zgm 尽量尽量,主要是开发工作,这个看个人意志力了!!我也正在努力呢!!

#13 楼 @woaigithub 只是,我用 2 年 linux,极度依赖终端,可还是觉得自己是个初级~

#9 楼 @woaigithub 一个星期估计不够哟!

#14 楼 @zgm 我一直都依赖!

#15 楼 @simlegate 刚入门差不多了,我这几天就是猛练呢,尽量吧,只要用心,肯定有收获。 广告来了 Rails+MySQL 开发中的时间问题 http://virusswb.blog.51cto.com/115214/1046723 我在参加 51cto 的博客大赛,觉得内容不错就帮我投投票,谢谢了! 投票地址:http://blog.51cto.com/contest2012/115214

尽量用命令行,熟悉 GNU 核心工具集合里的绝大多数命令,以及其他一些有用的工具,比如 find, dd, rsync, ssh, scp ......

多用,理解,多看看 man 多看看 commandlinefu ;-)

了解基本的文件系统权限(包括特殊的 setuid, setgid, sticky bit),shell 环境变量设置,基本的网络配置,备份,包管理等。

不用找什么书,看看 Debian Reference 就够了,有问题 Google 之;-)

http://www.debian.org/doc/manuals/debian-reference/index.en.html

其实不仅仅是 Linux 操作、配置,基础操作和常见服务的配置(Web、DB、Mail 等等)是必须会的。但是关键是三个方面:

  1. 书本、网络的知识比较零散,很少有整体架构性的东西,所以不要认为仅仅学习一本书就能够够用了,比如搭建一个全套网站的服务,需要 WebServer、AppServer、DBServer、MailServer,这些还是最少的,可能还要有 memcached 等等,关键是这些服务要联合运行,各个服务之间相互都有关系,你没有一个全局的、架构性的概念是根本不行的,出了问题你可能都不知道是谁的问题。而且任何一个服务单拿出来你就会发现需要配置的东西 90% 的书上都没有,比如一个生产环境的邮件服务,要配置的东西你就受不了。

  2. 生产环境的配置和书本上是有很大区别的,书本上基本只讲如何配置出来功能,但是基本不考虑性能,同样的 DB,功能一切正常,上了生产环境,每秒 1000 个请求,立马出问题。所以不仅仅要做功能,还要做性能。不然没有意义。

  3. 很多服务、功能需要你研究的很透彻,鸟哥的书(或者国内绝大多数的 Linux 书)都是入门,而且仅仅是入门,别看讲的过,但是一到真正使用,一个服务你就发现你什么都不会。最简单的就是看服务的官方文档。这时候你又发现,其实你真的什么都不会,一大堆名词、概念你都看不懂。

所以,学习、使用 Linux 是一个长期的、逐渐积累的过程,一开始肯定需要突击学习基础知识、常用操作、常见配置等等,但是不代表学完了就可以结束了,其实仅仅是开始,或者连开始都不是。

我是红帽的 RHCA 架构师,你可以查一下 RHCA 是什么,但是我可以告诉你,学完 RHCA 是什么?连中级都不是,仅仅是入门,碰到初学者你很牛逼,红帽顶级认证资质了,但是碰到生产环境,立马你觉得 RHCA 的东西仅仅是介绍,就是告诉你有什么,但是要用的东西你还是要再学,而且很多。

不知不觉写了很多,诸君共勉吧~~~

RHCA ;-)

进阶后才知道自己有多无知,知道越多越觉得无知;-) Linux 技能基本上只能靠自己动手,多记笔记(wiki),不断累积经验,没其它办法了。

#19 楼 @nash_s 同意啊,说的太对了,知识是要在实际应用中检验、深化的。

我是来膜拜 RHCA 的

会 google 就够了...

搭个网站 练手

学无止境,多练习。

一直用 linux 就可以,,,

需要 登录 后方可回复, 如果你还没有账号请 注册新账号