如何短时间内学好一门语言 shell脚本语言为例_linux 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)复利式巩固

文章出处:宝王爷

时间: 2024-09-17 04:17:13

如何短时间内学好一门语言 shell脚本语言为例_linux shell的相关文章

Linux Shell脚本编程初体验_linux shell

通常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本. 某些编程语言,像

Linux shell脚本实现CPU预警_linux shell

如果CPU占用率持续达到80以上则调用打印java线程占用率堆栈的脚本,见https://github.com/oldratlee/useful-shells/blob/master/show-busy-java-threads.sh,具体用法见他的github wiki! #!/bin/bash #cpu idle percent cpu_idle=`top -b -d 1 -n 2 | grep Cpu | awk 'NR>1{print $5}' | cut -f 1 -d ".&q

Linux Shell脚本查看NUMA信息_linux shell

Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. #!/bin/bash function get_nr_processor() { grep '^processor' /proc/cpuinfo | wc -l } function get_nr_socket() { grep 'physical id' /proc/cpuinfo | awk -F: '{ print $2 | "sort -un"}' | wc -l } func

shell脚本nicenumber实现代码_linux shell

Given a number, shows it in comma-separated form.Expects DD and TD to be instantiated. Instantiates nicenum. or, if a second arg is specified, the output is echoed to stdout. 废话不多说,首先是 #!/bin/sh # nicenumber -- Given a number, shows it in comma-separ

对Shell 脚本加密的方法_linux shell

用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 使用方法: shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名. 运行后会生成两个文件

shell脚本学习与总结_linux 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

linux shell脚本基础知识学习_linux shell

Shell脚本: 1.#!  指定脚本执行的shell2.# 注释 3.命令或语法结构echo "输入内容"echo 输出空行 执行: 1.shell 脚本   sh example2.给shell脚本执行权限   chmod u+x example 案例:example  sysinfo.sh 3abc  x  不能以数字开头abc3ABC3 环境变量-大写 命令执行结果赋值变量使用 命令替换符 ``PATH=$PATH:/root/shell.example ls -l /etc/

Shell脚本实现ftok函数_linux shell

"古老的 Sys IPC 仍然有好几种有效的用途.三种 IPC 对象是共享内存,信号灯和消息."当使用到 IPC 的这些对象时,你需要为每个对象创建一个 Key.虽然理论上来说我们在定义一个 IPC Key 的时候可以使用任意自己喜欢的 Key ,但为了避免与其他的程序产生定义重复,在 UNIX/Linux 中一般会使用 key_t ftok(const char *path, int id) 函数来生成一个比较唯一的 Key 值.然而,"每个人都讨厌 System V IP

Shell脚本数组操作小结_linux shell

Linux Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开.定义数组的一般形式为: 复制代码 代码如下: 数组名=(值1 值2 ... 值n) 例如: 复制代码 代码如下: array_name=(valu

shell脚本实现文件锁功能_linux shell

1.背景 当多个进程可能会对同样的数据执行操作时,这些进程需要保证其它进程没有在操作,以免损坏数据.通常,这样的进程会使用一个"锁文件",也就是建立一个文件来告诉别的进程自己在运行,如果检测到那个文件存在则认为有操作同样数据的进程在工作.这样的问题是,进程不小心意外死亡了,没有清理掉那个锁文件,那么只能由用户手动来清理了. 2.关于flock flock 是对于整个文件的建议性锁.也就是说,如果一个进程在一个文件(inode)上放了锁,那么其它进程是可以知道的.(建议性锁不强求进程遵守