- 积分
- 5488
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-9-23
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 ztftom 于 2011-10-17 23:27 编辑
(转载请注明出自“气象家园”)
Shell是Linux实现流程控制、任务管理的有利武器。对于WRF用户来说,学会Shell进行批处理(Batch), 可以更有效率地实现对WRF的管理。Shell并不止一种,但我只掌握了Bash这一种,所以以此为基础总结经验。
首先,对于哪些是Bash是能够做到的,哪些是Bash不能做到的,有一个大概的了解。我是通过下面一个网站有了一个对Bash的基本了解(http://www.freeos.com/guides/lsst/)。个人觉得,流程(redirect)和过滤(filter)是Bash最具有特色的两个特征,在读手册时,特别注意"|",">","<",">>","``"这几个符号的功能。
第二,发现需求。要发掘Bash的功能,最好从应用入手。先有问题,再解决问题,这是一种有效的Bash学习方法。只是读手册、背手册的话,需要花费大量时间,而且不一定保证效果良好。对于新手来说,要不怕把事情变麻烦,不能停留于已有的技能。举一个例子,在使用WRF的时候,可以手动地更改namelist,但你还可以根据需要,编写Bash script, 让Bash来帮你更改。不要害怕把事情复杂化,因为很快你会发现这样做的好处,比如你可以让电脑帮你计算那些容易出错的interval, 比如说你可以在今后用相同的script自动控制restart run的流程,而不用一遍一遍地提交WRF job.
第三,google。很可能在刚开始的时候,你对Linux的命令感到茫然。Google这时候可以给你提供解决问题的范例。比如说,用grep去搜索pattern, 用cut来选择字符段,用date来控制时间。你只用输入你想要做什么,一般都可以找到解决方案。但不意味着你找到最终答案。如果你只是复制粘贴,很可能什么也学不会。要从别人给出的解决方案中了解他为什么这么做。你可以用google去搜索某个命令到底是什么功能,可以用man来查manual。总之,别人的案例起的作用是帮你缩小学习的范围,找到案例就是学习的开始。
第四,笔记。学习Bash的时候有一个记笔记的习惯是很有好处的。因为Bash很零碎,过一些时间就会忘记。记笔记可以给你的回忆带来线索。还有一个方法,就是去google上搜索相关的reference card。当你学会什么新东西时候,就在上面圈出来。有心得也写在旁边。这个reference card就放在手边电脑旁,很方便。
最后,我觉得,在熟练了Bash之后,还可以进一步学习一个脚本语言,比如 perl 或 python。你可以把它们理解为Bash+++版本,让你最终实现强大的流程控制和任务管理。 ^ ^
## 其实,Bash的学习过程很富有成就感的。
|
评分
-
查看全部评分
|