shell是一种计算机程序,它提供命令行界面,允许您使用通过键盘输入的命令来控制计算机,而不是通过鼠标/键盘/触摸屏组合来控制图形用户界面 (GUI)。
了解 shell 的原因有很多:
许多生物信息学工具只能通过命令行界面使用。更多的功能和参数选项在 GUI 中不可用。BLAST 就是一个例子。许多高级功能只有知道如何使用 shell 的用户才能访问。
shell使您的工作不那么无聊。在生物信息学中,您经常需要使用大量文件重复任务。使用 shell,您可以自动执行这些重复性任务,让您可以自由地做更多令人兴奋的事情。
Shell 使您的工作不易出错。当人类做同样的事情一百次(甚至十次)时,他们很可能会犯错误。你的电脑可以做一千次同样的事情而不会出错。
shell使您的工作更具可重复性。当您在命令行(而不是 GUI)中执行您的工作时,您的计算机会记录您执行的每个步骤,您可以在需要时使用它来重新执行您的工作。它还为您提供了一种明确传达您所做工作的方式,以便其他人可以检查您的流程或将您的流程应用于新数据。
许多生物信息学任务需要大量的计算能力,实际上无法在您自己的机器上运行。这些任务最好使用只能通过 shell 访问的远程计算机或云计算来执行。
在 Mac 或 Linux 机器上,您可以通过名为“Terminal”的程序访问 shell,该程序已在您的计算机上可用。终端是一个窗口,我们将在其中键入命令。如果您使用的是 Windows,则需要下载单独的程序才能访问 shell。
为了节省时间,我们将在远程服务器上工作,其中所有必要的数据和软件都可用。当我们说“远程服务器”时,我们指的是一台不是您现在正在使用的计算机。您将访问 Carpentries 远程服务器,为课程做好一切准备。我们将通过操作一些数据文件来学习 shell 的基础知识。其中一些文件非常大,需要一些时间才能下载到您的计算机上。我们还将在以后的课程中使用几个生物信息学软件包,安装所有软件将花费更多时间。一个“准备就绪”的服务器让我们专注于学习。
您可以使用此处的说明登录远程服务器 。您的讲师将向您提供ip_address您需要登录的密码和密码。
你们每个人都会有不同的ip_address. 这将防止我们在练习时意外更改彼此的文件。每个人的密码都是一样的。
登录后,您将看到一个显示如下内容的屏幕:
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-48-generic x86_64)
* Documentation: http://help.ubuntu.com/
System information as of Sat Feb 2 00:08:17 UTC 2019
System load: 0.0 Memory usage: 5% Processes: 82
Usage of /: 29.9% of 98.30GB Swap usage: 0% Users logged in: 0
Graph this data and manage this system at:
http://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
597 packages can be updated.
444 updates are security updates.
New release '16.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Fri Feb 1 22:34:53 2019 from c-73-116-43-163.hsd1.ca.comcast.net
这提供了有关您正在登录的远程服务器的大量信息。我们不会将大部分信息用于我们的研讨会,因此您可以使用clear命令清除屏幕。
在终端中输入单词clear并按下Enter键。
$ clear
这将向下滚动您的屏幕,为您提供一个全新的屏幕,并使其更易于阅读。您没有丢失屏幕上的任何信息。如果向上滚动,您可以看到到目前为止已输出到屏幕的所有内容。
操作系统中管理文件和目录的部分称为文件系统。它将我们的数据组织成保存信息的文件和保存文件或其他目录的目录(也称为“文件夹”)。
有几个命令经常用于创建、检查、重命名和删除文件和目录。
您可能有一个提示符(光标左侧的字符)看起来与$此处使用的符号字符不同。如果您想更改提示符以匹配示例提示符,请首先在 echo $PS1 shell 中键入命令:,然后按Enter键。
这将打印当前定义提示的 bash 特殊字符。要将提示更改为 a $(后跟一个空格),请输入命令: PS1='$ ' 您的窗口应该看起来像我们在本课中的示例。
要更改回原始提示,请echo $PS1在以下命令的引号之间键入上一个命令的输出(这将根据原始配置而有所不同): PS1=""
例如,如果echo $PS1was的输出\u@\h:\w $ ,则在上述命令的引号之间键入这些字符:PS1="\u@\h:\w $ ". 或者,您可以通过退出 shell 并打开新会话来重置原始提示。
这不是必须遵循的(事实上,您的提示可能包含您想了解的其他有用信息)。这取决于你!
$
美元符号是一个提示符,它告诉我们shell正在等待输入;您的 shell 可能会使用不同的字符作为提示符,并且可能会在提示符之前添加信息。在键入来自这些课程或其他来源的命令时,不要键入提示符,只键入它后面的命令。
pwd 让我们通过运行一个名为(代表“打印工作目录”)的命令找出我们在哪里。在任何时候,我们当前的工作目录 都是我们当前的默认目录,即计算机假定我们要在其中运行命令的目录,除非我们明确指定其他内容。在这里,计算机的响应是/home/dcuser,这是我们云系统中的顶级目录:
$ pwd
/home/dcuser
让我们看看我们的文件系统是如何组织的。我们可以通过运行来查看这个目录中有哪些文件和子目录ls,它代表“列表”:
$ ls
R r_data shell_data
ls按字母顺序打印当前目录中的文件和目录的名称,整齐地排列成列。在整个研讨会期间,我们将在shell_data子目录中工作,并创建新的子目录。
更改文件系统中位置的命令是cd,后跟目录名称以更改我们的工作目录。 cd代表“更改目录”。
假设我们要导航到shell_data上面看到的目录。我们可以使用以下命令到达那里:
$ cd shell_data
让我们看看这个目录里有什么:
$ ls
sra_metadata untrimmed_fastq
我们可以ls使用flag -F使输出更易于理解,该标志告诉在目录名称中ls添加尾随/:
$ ls -F
sra_metadata/ untrimmed_fastq/
任何后面有“/”的东西都是目录。后面带“*”的就是程序。如果没有装饰,那就是文件。
ls有很多其他选择。要找出它们是什么,我们可以输入:
$ man ls
man(手册的缩写)显示命令的详细文档(也称为手册页或手册文件)bash。它是探索bash命令、了解其用法和标志的强大资源。一些手册文件很长。您可以使用键盘的向下箭头滚动文件,或使用Space键前进一页,使用b键后退一页。阅读完毕后,点击q 退出。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习