更新時間:2022-08-10 11:18:34 來源:動力節點 瀏覽855次
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: https://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:
https://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 退出。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習