如何短时间内学好一门语言 shell脚本语言为例

这里我分享的是学习计算机shell脚本语言的方法,可能你不是在软件行业,但我建议也看看,因为我并没有讲什么技术细节,主要分享的是提炼出的通用性方法,这是对学习任何东西都是有用的。

当然,如果你好奇心足够强的话,建议也可以按照下面的方法来尝试一下,因为科学家已经预测:以后的世界就是一个软件定义的世界,机器人和人工智能会非常普及,而支持它们运行的除了我们看得见的硬件,最关键的就是里面的软件。

所以,学会编程以后就不仅仅只是软件从业人员需要掌握的技能,任何人都可以掌握它,既可以用它来不断提高工作效率,还可以不断丰富我们的生活。

好了,废话不多说,下面开始干货分享。我将学好一门语言分成了四个步骤:

1)从阅读几本经典的图书入手

我在开始学习shell脚本语言之前,主要看了《Red Hat Linux用户基础》《Linux命令行与Shell脚本编程大全(第2版)》,前面一本是讲了linux的很多基础知识,第二本是在这个基础上讲解shell脚本的编写方法。

《Red Hat Linux用户基础》这本书我认为非常经典,我读了不下三遍,读完之后就可以让你系统性的建立linux的知识结构,我其实很早就会很多linux命令,但都比较散,看了这本书之后才真正将这种知识结构建立了起来。

2)开启知识的零存整取模式

知识结构建好之后,下来就是每天的积累,不断的往上面添加内容,而且每学一点新知识都要做练习,练习所得要立即做好详细的电子笔记,推荐使用印象笔记,这种工具支持从不同的终端接入,你在电脑上保存的内容,如果有一天你在外面游玩突然想起来某个知识点,想确认一下,就可以通过手机上App连上去看,非常方便。

这个过程我之所以把它称之为零存整取模式,是因为你不可能今天学,明天就能用,这当中可能有一些细节你必须要反复练习确认,真正弄清楚了才算是掌握了。

有些人学习新技术有一个不好的习惯,就是还没有怎么积累就开始飘飘然,以为可以出师了,如果真正让他做一些东西的话,他会遇到各种各样的问题,可能连基本的语法都会搞错,这个时候就不得不再去确认,工作效率可想而知能有多高。

我一般是先耐着性子打好基础,将知识架构先填满,这样在利用这种工具去开发一些产品时,我主要聚焦的就是业务逻辑,不会再纠结于语言本身的很多问题,这样的效率就会非常高。

3)快速实践

学习一门新技术永远不能只是看书,这只能是纸上谈兵,一定要找到机会做出点东西来。

我在基本上练习掌握了shell脚本之后,公司刚好有一个自动化测试的项目,我们就顺利承接了下来,经过一个多月时间的开发,目前已经顺利交付第一个版本。

在这个过程我发现一点,我在第二步每天零零散散积累的那些非常细节的知识,在关键时刻都发挥了用场,而且我能做到不去翻笔记,遇到问题全部凭大脑去快速回忆,将平常练习的那些例子中的方法组合运用出来就可以顺利解决。

4)复利式巩固

这个过程也是非常重要的,有些人学习新技术就像狗熊掰玉米,不断的去掰新玉米,之前的则全部丢掉,等到某一天需要用到的时候,他脑子里已经完全空白。

有一个方法可以避免这种情况的发生,就是在熟练掌握了一门技术后,每天都花一点点时间去温习巩固一下,即便不打开笔记,也可以在睡觉前在脑子里回顾一下,能想出多少是多少。

我经过尝试发现非常管用,这样每天投入的精力其实非常少,但即使一年内用不到它,你也可以在用到的时候迅速利用它做出产品。

我把这种方法叫复利式学习法。

它的灵感还是来自于我大学时学习英语的过程,那个时候我发现如果每天记忆20个单词的确比较容易,白天背新单词,晚上回忆巩固,一周下来就可以轻松背上100个,但如果我周一到周五不背,要想在周六一天就记住100个单词,我发现这几乎是不可能的,人会非常痛苦且不自信。

所以,复利式巩固非常重要,而且过程还一点都不痛苦。

最后提醒一点的是,现在很多人都在反对碎片化的学习模式,为了避免混淆,这里专门解释一下。

碎片化的学习其实是时代造成的,因为智能手机的普及,我们大量的整块学习时间都被打散了,在这些每个打散的很小的时间段内,我们会接触各种各样的资讯和知识,貌似在学习,其实并没有什么卵用。

复利式学习和这一点貌似类似,都是在一小段时间内学习或巩固一点知识,看上去也是碎片化,但其实本质是不一样的。

我们反对的是不知全貌的学习一些碎片化知识,比如在五个被打散的小的时间段内分别学习了A,B,C,D,E五个知识点,学习者自认为学了不少,其实每个知识都学了点皮毛而已。

复利式学习则完全不一样,首先我们已经建立了一个知识结构,后面在被有意打散的五个时间段内分别学习了A1,A2,A3,A4,A5,这些知识相互之间其实都是连贯的,都属于同一个知识体系下很细小的知识点,也就是说这并不是很多人反对的碎片化的学习,而是系统性的学习。

以上就是我分享的学习一门计算机脚本语言的方法,希望对大家有用。目前按照这种模式我还在学习其他两门语言,已经做了一些笔记,等在需要用到的时候就可以随时用起来。

最后总结一下,这种学习语言的模式其实是通用的,你如果想学习会计,想学习英语,想学习任何技能都是一样的,都应该包括以下四个步骤:

1)先阅读经典的入门书籍

2)开启知识的零存整取模式

3)快速实践

4)复利式巩固

文章出处:宝王爷

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Shell脚本编程中常用的数学运算实例

    这部分主要讨论数学相关的shell脚本编程. 加法运算 新建一个文件"Addition.sh",输入下面的内容并赋予其可执行的权限. 复制代码 代码如下: #!/bin/bash echo "Enter the First Number: " read a echo "Enter the Second Number: " read b x=$(expr "$a" + "$b") echo $a + $b =

  • linux Shell学习笔记第一天

    以下是Shell学习1-2天学习笔记 ---------我是分隔符--------- 硬件去执行, 内核与硬件之间进行操作. 命令解析器. shell脚本的组成元素 系统命令 文本处理工具(sort.grep.sed.awk-) 变量 条件判断 环循结构 函数 Shell Scripts Center(SSC) ---------------------------- 非负Grep / awk 几天. 统计Wc Sort 排序 sort|head / sed字段处理 awk 数据区域判断 awk

  • shell中case的用法学习笔记

    shell中的case语句: 可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 使用格式:case 匹配母板 in模板1 [ | 模板2 ] - ) 语句组 ;;模板3 [ | 模板4 ] - ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序.因此,case语句编写的原则是从上往下,模板从特殊到普通.在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能. 例1: 复制代码 代码如下: #!

  • linux Shell学习笔记第五天

    第五天:函数与任务调度 函数的优势 分而治之f 协同合作 方便管理 维护简单 函数的结构 function 函数名() { 命令1 命令2 命令3 } 函数的参数传递 向函数传递参数就像在一般脚本中使用特殊变量$1,$2,$3-$9一样,函数取得所传参数后将原始参数传回shell脚本,因此最好先在函数内重新设置变量保存所传的参数.这样如果函数有一点错误,就可以通过已经本地化的变量名迅速加以跟踪. 函数文件 当你手机一些经常使用的函数时,可以将之放入函数文件中并将文件载入shell. 文件头应包含

  • linux Shell学习笔记第四天

    本节课的脚本也同样共享在share中了. 第四天:循环结构 内容大纲: 应用实例分析 for循环 while循环 for循环的原理 达到效果 根据昨天的菜单修改. 选择1.2.3后还会提示是否继续选择的功能.选择4仍然是退出操作. for variable in list list 变量列表池 do command1 command2 done 实例一 forlist.sh #!/bin/bash #for with list for loop in 1 2 3 4 5 定义loop的变量 1

  • linux Shell学习笔记最后一节,温故与知新

    脚本编写技巧 脚本文件名命名规则 文件名的字符包括 字母.数字."."."_"和"-", 注意:脚本的文件名命名不能以数字开头. 脚本文件名的命名,尽量使用英文单词.词组或短句的缩写. 脚本版本管理: 脚本作用.主版本号.修改次数.shell类型 变量命名规范 变量名可以由数字和字母组成 变量名采用全部英文字符小写的方式 变量名称尽量使用缩写,最好不要超过6个字符 ${变量名} 例:${port},${ipaddr}- 脚本代码注释规范 脚本代码

  • linux Shell学习笔记第三天

    第三天:条件选择 大 纲 应用实例分析 条件测试 if-else-fi case-in-esac 实现功能菜单: 执行脚本后 按1,显示当前时间 按2,显示CPU负载 按3,显示剩余内存 按0,退出脚本 按其他字符,提示超出选择范围后退出 分析步骤. #date +%T uptime awk截取 free –m 条件测试格式 #test –option obj #[ -option obj ] 返回结果 表达式内容测试结果是真的 表达式内容测试结果是假的 测试的对象分类 执行结果(执行成功或失败

  • linux shell数组深入学习理解

    bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 数组赋值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1    arrya[1]=var2    ...    array[n]=varN 计算数组元素个数:${#

  • shell脚本学习与总结

    1.shell 脚本是区分小写的2.Unix特殊字符有: ( ; $ ? & * () [] ` ' " + 使用其时要进行转义()3.Shell的注释以#开头4.函数的定义Function fuction_name(){Command to execute}调用时直接用function_name.5.控制结构1)If...then语句If [ test_command ]ThenCommandsif2)If...then...else语句If [ test_command ]ThenC

  • 学习shell脚本之前的基础知识[图文]

    日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富.笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shell脚本写的好,相信你的linux求职路就会轻松的多.笔者在这一章中并不会多么详细的介绍shell脚本

随机推荐