如何系统入门linux?

生信分析人员如何系统入门linux?

linux系统在生物信息学数据处理中的重要性就不用我多说了,鉴于一直有学生问我一些很显而易见的问题,对应系统性的学习并理解了linux系统操作的专业人士来说是显而易见的。

我在这里仅以过来人的角度给大家总结一下linux该如何学,该学什么,该花多少工夫,学习重点是什么?

就我个人这么多年处理生物信息学数据经验来看,可以把linux的学习过程分成三个阶段:

一是把linux系统玩得跟windows系统一样顺畅。

这一阶段的主要目的就是去可视化,熟悉黑白命令行界面。

左右鼠标单击双击如何实现?磁盘文件浏览如何实现?文件操作如何实现?

需要了解的命令有下面这些:

pwd/ls/cd/mv/rm/cp/mkdir/rmdir/man/locate/head/tail/less/more cut/paste/join/sort/uniq/wc/cat/diff/cmp/alias wget/ssh/scp/curl/ftp/lftp/mysql/

大家可以搜索(每个一个linux命令的博客)来跟着练习,或者看一些linux视频(百度云共享了一大堆,建议看鸟哥linux私房菜),或 者关注一些linux学习相关公众号,加入一些linux社区,论坛,当然如果你只是简单了解,搞生物信息学其实没必要那么深入理解,跟着一本像样的入门 书籍,完整的学习即可!

不懂的名词,感觉谷歌搜索,多记笔记。

需要深度理解的概念有:

软硬链接区别 文本编辑,文件权限设置 打包压缩解压操作(tar/gzip/bzip/ x-j x-c vf) 软件的快捷方式如何实现? 软件如何安装(源码软件,二进制可执行软件,perl/R/python/java软件) 软件版本如何管理,各种编程语言环境如何管理,模块如何管理?

这些知识需要深度理解,所以一般初学者肯定会遇到问题,自己要多看教程和视频跟着了练习,但总会有一些不是你立即就能解决的,不要纠结,继续学习,不久之后回过头来就明白了。

翻译成生物信息学语言就是:测序文件在哪里?测序文件有多大?测序文件的格式fastq/fasta是什么?

前几行怎么看,参考基因组如何下载?参考基因组如何建立比对索引?blast软件如何安装以及使用?

比对结果如何看?结果如何过滤?两次结果如何比较?

建议自己安装bio-linux系统,里面会自带很多生物信息学测试数据 (fastq,fasta,sam,bam,vcf,gff,gtf,bed,MAF……),安装系统的过程也是熟悉linux的过程,熟悉这些数据格式 既能加强生物信息学技巧,也能练习linux操作。

不懂的名词,感觉谷歌搜索,多记笔记。

二是shell脚本,类似于windows的bat批处理文件

这一阶段其实大部分人在windows平台下都没有达到,但是做数据分析已经不只是纯粹的玩电脑了,所以必须学会这些技巧。

懂很多预定义变量 .bashrc/env/HOME/ 学会一些控制语句 while/if/for/ 批量执行命令 开始自定义函数,避免重复造轮子。 了解 awk/sed/grep等文件操作语言,短小精悍,很多时候可以不需要编程。 正则匹配技巧,find函数使用 了解编程技巧 ()[]{} $$ 等符合如何使用,技巧有哪些,加快你数据处理能力(建议看shell 13问)

翻译成生物信息学语言就是:要深度组合这些命令,并且通过shell脚本,把它们在实际生物信息学数据处理中应用起来,需要很多的实践操作,可以借鉴EMBOSS软件套件,fastx-toolkit等基础软件,实现并且模仿该软件的功能。

尤其是SMS2/exonerate/里面的一些常见功能,还有DNA2.0 Bioinformatics Toolbox的一些工具。

不懂的名词,感觉谷歌搜索,多记笔记。

基本上要了解到这里才能勉强算是一个合格的生物信息学工程师。

三是高级运维技巧

大部分公司都会有资深生物信息学工程师甚至专门的IT人员来管理服务器,所以下面的这些技巧不太会需要初学者来用,但是多了解一些总不会有坏处的,万一你升职了呢?

w/last/top/qsub/condor/apache/socket/IO/ps/who/uid/ 磁盘挂载/格式化/重启系统/文件清理/IP查看/网络管理/用户管理/目录结构了解/计划任务

各种库文件了解。

这个强烈建议初学者不要过于纠结,稍微了解为佳。

不懂的名词,感觉谷歌搜索,多记笔记。

学习linux基础知识的同时,就可以开始项目实战,在实战的过程中要随时思考记录如何应用linux知识辅助生物信息数据处理?

并整理学习笔记以及经验分享。

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2016-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏无原型不设计

UX术语详解:任务流,用户流,流程图以及其它全新术语

以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具。

1.8K11
来自专栏知晓程序

开发 | 适用场景广,表单收集类小程序开发案例复盘(上)

今天我将以「北江纺织牛仔新时尚」小程序为例,复盘一个服装行业订单收集小程序从设计到实现的全过程。这是上篇,主要讲产品逻辑搭建和数据库设计的过程。

1173
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合优化篇(三)代码测试

前言 看到标题你可能会问为什么这一篇会谈到代码测试,不是说代码优化么?前两篇主要是讲了程序的输出及Log4j的使用,Log能够帮助我们进行bug的定位,优化开发...

27410
来自专栏developerHaoz 的安卓之旅

如何有效报告 bug

这也是「技术支持」被视为一个可怕工作的原因。然而,并不是所有的 bug 报告都是让人不愉快的。我一直在没赚钱的时候维护开源软件,有时候会收到一些非常清晰的、有帮...

1002
来自专栏美团技术团队

【沙龙干货】主题二:一个用户行为分析产品的设计与实现

分享内容 ---- 今天想跟大家分享一下我们目前推出的一个海量用户行为分析产品---“神策分析”的设计与实现。由于脱离需求和产品谈技术是不合时宜的,所以我首先会...

3628
来自专栏python开发者

python自动化测试(2)-自动化基本技术原理

python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是...

2245
来自专栏Java架构师学习

七年的资深架构师告诉你成为架构师的知识体系

架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力 知识面的宽广对于一名出色的架构师来说是必不可少的技能,也许很多人对架构的理解还停留在设...

4224
来自专栏嵌入式程序猿

小猿推荐MCUXpresso 软件和工具

最近使用体验了NXP新推出的MCUXpresso软件和工具,此款软件和工具是专为广大的嵌入式程序猿设计的,简直是给众猿友带来了极大的福利,包括三个部分:MCUX...

3115
来自专栏pangguoming

国外物联网平台(1):亚马逊AWS IoT

设备影子服务使用MQTT话题,便于应用和设备之间的通信,下面是相关的MQTT QoS 1话题:

3972
来自专栏开源项目

提升物联网开发效率必看的 6 个开源项目 | 码云周刊第 47 期

码云推荐 有数据显示,目前物联网端口数量预计在200亿个左右。到2035年,这个数字会扩大到1万亿,平均每个人会拥有超过100台端口设备,它们将涉及穿戴、家...

3738

扫码关注云+社区