大数跨境
0
0

Linux基础101问:命令结构 |第5期

Linux基础101问:命令结构 |第5期 SDbioinfo
2025-11-13
1
导读:持续更新,Linux实操指南,帮你从入门到精通!


如果您喜欢我们的文章,请设“关注”哦~


对于生物信息学领域的初学者来说,在黑色的终端窗口中使用命令行控制没有用户友好的 UI 的 Linux系统可能会让人望而生畏。


然而,命令行并非一个神秘的编程工具,而是一个功能强大、精确且可重复的数字化实验台。在生物信息学中,绝大多数前沿工具都是为命令行环境设计的,这使得掌握命令行技能成为现代科研中不可或缺的一环。


与图形用户界面(GUI)工具相比,命令行能够执行复杂的多步骤分析(即“管道”),以及实现高效的自动化工作流程。这是 GUI 无法比拟的。


本指南将带领你从理解单个命令的构成开始,逐步学习Linux的各个方面,让你真正驾驭这个核心工具


往期回顾:

  1. 初识Linux

  2. Linux系统中的目录和文件

  3. 文件查找及文件的压缩和解压缩

  4. 文本编辑器vim



通用结构:

command [options][arguments]


几乎所有Linux命令,无论是简单的ls还是复杂的 HaplotypeCaller,都遵循一个通用的基本结构:command[options][arguments]


理解这个结构是掌握命令行的第一步,之后你就可以举一反三学习和理解别的Linux命令。



命令:你的科研仪器


command 是可执行程序的名称。有些命令是系统内置的简单工具(如 ls、pwd、cd),而另一些则是需要专门安装的复杂软件包(如 bwa、samtools, blastn)。


后者是生物信息学中的核心研究工具:bwa 是你的序列比对器,samtools 是比对文件的操作套件,而 blastn 则是你的序列搜索工具。


需要注意的是,许多强大的程序,如 bwa、samtools 或 git,并非单一功能的工具,而是一个包含多种相关功能的“工具套件” 。


你可以将 bwa 想象成一个多功能的瑞士军刀。这个主程序本身包含了多种不同的算法和功能,每种功能都通过一个特定的子命令来调用 。


  • bwa 是主程序或工具套件的名称。
  • mem 是您选择要使用的具体工具或算法的名称。bwa 软件包实际上包含了多种比对算法,通过不同的子命令调用,例如 mem、aln 和 bwasw 。

    此外,bwa 还有其他辅助功能的子命令,如 index,它专门用于为参考基因组构建索引 。

那么为什么子命令没有连字符 (-)呢?


连字符是用来标识选项 (options) 的,它们的作用是修饰或改变一个动作的默认行为。而子命令本身就是要执行的核心动作。因此,一个更精确的命令结构可以表示为:


       
program subcommand [options][arguments]


选项(标志):校准你的仪器


选项用于修改命令的默认行为,如同调节仪器上的旋钮和开关。它们主要有两种形式:


短选项与长选项

  • 短选项:由单个连字符 - 和单个字母组成(例如 -h)。优点是输入快捷 。

  • 长选项:由两个连字符 -- 和一个描述性单词组成(例如 --help),优点是可读性强。

  • 很多情况下,这两种形式是等效的。


选项的类型

  • 标志/开关 (Flags/Switches):这类选项不接受额外的值,它的出现与否本身就代表一种布尔开关(开或关)。

    例如,在 bwa mem -M 命令中,-M 标志告诉BWA将较短的拆分比对(split hits)标记为次要比对,这是某些下游分析工具(如GATK)所要求的。

  • 键值对 (Key-Value Pairs):这类选项需要一个值或参数来协同工作。

    例如,在 head -n 20 中,-n 是“键”,20 是“值”。值的传递语法可能有所不同,有些工具使用空格分隔(如 --lines 20),而有些则需要使用等号(如 --lines=20)。



参数:你的生物样本


参数通常是命令操作的输入文件或目标对象。在生物信息学中,这通常是你的数据文件。


例如,在命令 bwa mem ref.fasta reads_1.fq reads_2.fq 中,参考基因组文件 ref.fasta 和两个 FASTQ测序文件就是参数。有些命令必须有参数才能运行(如 less),而有些则可以不带任何参数(如 ls)。


但是我们如何知道哪个命令有什么选项,每个命令具体又怎么使用呢请期待下一期的manhelp


有任何问题/感兴趣的小伙伴欢迎添加小助手微信(SDbioinfo_2023),加入交流群,我们一起学会Linux!SDbioinfo


作者:刘鑫鹏(哥本哈根大学) 

编辑:黎琛 

排版:刘宇昂


⭐ SDbioinfo-往期回顾 ⭐


【栏目1:播客分享会】

升学01从复旦到MIT博后的发展选择 

就业:04 曼彻斯特大学博士,从临床转码的历程

知识:11 武汉大学教授:三代测序的机遇与挑战


【栏目2:前沿信息早知道】

诺奖给了Treg,如何用单细胞测序寻找它的“主控开关”?


【栏目3:知识解读】

linux/单细胞数据分析/机器学习 等专栏

马尔科夫链蒙特卡洛方法mcmc原理


【栏目4:最新招聘】

SDbioinfo嘉宾-张心仪博士组招聘

SDbioinfo核心团队招募令



【?我是谁?】


SDbioinfo,专注「计算生物学」领域的学习智库


我们汇聚了来自哈佛剑桥港大、北清复交等高校科研工作者。我们的愿景:链接领域最强大脑,用数据和分析改变生命。


不管你是:

⭐ 找实习、找工作、出国留学

⭐ 找校友、找搭子、找资源

⭐ 找科研方法、前沿信息、大咖分享


统统可以帮你,加入SDbioinfo,和全球生信人一起成长!

添加微信:SDbioinfo_2023





【声明】内容源于网络
0
0
SDbioinfo
⭐「计算生物学」领域的学习智库 👨‍🎓 汇聚哈佛剑桥、北清复交等高校科研工作者 🎁 帮你搞定:科研 | 工作 | 留学 | 找资源 | 大咖分享 | 前沿信息
内容 52
粉丝 0
SDbioinfo ⭐「计算生物学」领域的学习智库 👨‍🎓 汇聚哈佛剑桥、北清复交等高校科研工作者 🎁 帮你搞定:科研 | 工作 | 留学 | 找资源 | 大咖分享 | 前沿信息
总阅读11
粉丝0
内容52