生物信息 Linux學習1

本教程宗旨(請仔細閱讀)


本教程不是一個完備的Linux使用教程,而是側重于一般教程默認讀者會了的信息,包括基本概念的解釋(方便初學者了解自己的操作)、命令的各種錯誤及解決(通常寫教程的都是對這一領域比較熟悉的,一般不會提到這些初學者剛開始不好理解的簡單錯誤)、部分常用命令(會提到基本用法,具體的使用還請查看手冊或在線搜索)、常用快捷鍵(簡化操作)和組合命令(快速的批處理等,初學者一般不會想到、高級學者又不屑于提起的部分)。


為什么要用Linux系統


個人認為,Linux操作系統和類Linux操作系統的命令行界面是最適合進行生物信息分析的操作系統。原因有三點:
長期運行的穩定性 多數軟件只有Linux版本
*強大的Bash命令簡化繁瑣的操作,尤其是大大簡化重復性工作
但對于初學者來說,接觸和理解Linux操作系統需要一些時間和摸索。陡然從可視化點選操作的Windows進入到只有命令行界面的Linux,最大的陌生感是不知道做什么,不知道文件在哪?本文希望能通過幾個示例幫助大家適應Linux系統。


如何獲取Linux系統


如果自己的單位有共有服務器,可以嘗試申請賬號。 自己的電腦安裝雙系統或虛擬機
購買一塊云服務器 試驗下在線學習平臺實驗樓 (里面也有不少Linux教程,任意點一個進去,雙擊桌面的Xfce圖標,都可以啟動Linux終端)



  • <生信寶典>微信公眾號后臺回復向管理員索要

    初識Linux系統

    登錄Linux系統后,呈現在眼前的是這樣一個界面:
    Last login: Mon Jun5 16:56:56 2017 from 219.241.208.209
    Welcome to aliyun Elastic Compute Service!
    ct@ehbio:~$
    
    首先解釋下出現的這幾個字母和符號:

  • ct:用戶名

  • ehbio:如果是登錄的遠程服務器,則為宿主機的名字

  • ~:代表家目錄,在我們進入新的目錄后,這個地方會跟著改變

  • $:用來指示普通用戶輸入命令的地方;對根用戶來說一般是#

  • 可視化定制不同的顯示方式。

    我的電腦在哪?

    打開Windows,首先看到的是桌面;不愛整理文件的我,桌面的東西已經多到需要2個屏幕才能顯示的完。另外一個常用的就是我的電腦,然后打開D盤,依次點開對應的文件夾,然后點開文件。
    Linux的文件系統組織方式與Windows略有不同,登錄進去就是家目錄,可視為Windows下的桌面。在這個目錄下,我們可以新建文件、新建文件夾,就像在桌面上的操作一樣。
    注:
    *這里我們假設所有用到的文件和文件夾都放置于家目錄下

  • Linux的家目錄嚴格來說可能類似于Windows下的C:\Users\ct
    如果想查看當前目錄下都有什么內容,輸入命令ls,回車即可(ls可以理解為單詞list的縮寫)。當前目錄下什么也沒有,所以沒有任何輸出。
    ct@ehbio:~$ ls
    
    如果錯把l看成了i,輸入了is,則會出現下面的提示未找到命令。如果輸入的是Linux基本命令,出現這個提示,基本可以判定是命令輸入錯了,瞪大眼睛仔細看就是了。在敲完命令回車后,注意查看終端的輸出,以判斷是否有問題。
    ct@ehbio:~$ is
    -bash: is:未找到命令
    #大小寫敏感
    ct@ehbio:~$ lS
    -bash: lS:未找到命令
    
    當前目錄下只有一個文件,看不出效果,我們可以新建幾個文件和文件夾,來查看下。
    mkdir是新建一個目錄(make a directory);data是目錄的名字。
    如果目錄存在,則會出現提示,”無法創建已存在的目錄”。這時可以使用參數-p忽略這個錯誤。
    ct@ehbio:~$ mkdir data
    ct@ehbio:~$ mkdir ls
    data
    ct@ehbio:~$ mkdir data
    mkdir:無法創建目錄"data"
    :文件已存在
    ct@ehbio:~$ mkdir -p data
    
    cat是一個命令,主要用來查看文件;在這與`<
    ct@ehbio:~$ mkdir data
    ct@ehbio:~$ cat <
    > a
    > bc
    > END
    a
    bc
    `>`是一個重定向符號,即把前面命令的輸出寫入到`>`后面的文件中。如下所示,新建了一個`Fasta`格式的文件。
    `ls -l`列出文件的詳細信息;`-l`表示命令行參數,是程序預留的一些選項,保證在不更改程序的情況下獲得更靈活的操作。可使用`man ls`查看`ls`所有的命令行參數,上下箭頭翻頁,按`q`退出查看。(man:
    manual,手冊)
    ```bash
    ct@ehbio:~$ cat <data/test.fa
    > >SOX2
    > ACGTCGGCGGAGGGTGGSCGGGGGGGGAGAGGT
    > ACGATGAGGAGTAGGAGAGAGGAGG
    > >OCT4
    > ACGTAGGATGGAGGAGAGGGAGGGGGGAGGAGAGGAA
    > AGAGTAGAGAGA
    > >NANOG
    > ACGATGCGATGCAGCGTTTTTTTTTGGTTGGATCT
    > CAGGTAGGAGCGAGGAGGCAGCGGCGGATGCAGGCA
    > ACGGTAGCGAGTC
    > >mYC HAHA
    > ACGGAGCGAGCTAGTGCAGCGAGGAGCTGAGTCGAGC
    > CAGGACAGGAGCTA
    > end
    > END
    ##注意命令和參數之間的空格
    ct@ehbio:~/data$ ls-l
    -bash: ls-l:未找到命令
    ct@ehbio:~$ ls -l
    總用量4
    ## d: dir;表示data是個目錄
    ## rwx:表示目錄的權限,暫時忽略,或自己在線搜索
    drwxrwxr-x 2 ct ct 4096 6月8 14:52 data
    ct@ehbio:~$ ls -l data
    總用量4
    ##開頭的`-`表示test.fa是個文件
    -rw-rw-r-- 1 ct ct 284 6月8 14:48 test.fa
    
    查看寫入的文件的內容,cat文件名;需要注意的是文件所在的目錄,默認是當前目錄;如下面第一個命令,會提示cat: test.fa:沒有那個文件或目錄,是因為當前目錄下不存在文件test.fa。(注意文件末尾的end)
    ct@ehbio:~$ cat test.fa
    cat: test.fa:沒有那個文件或目錄
    ct@ehbio:~$ cat data/test.fa
    >SOX2
    ACGTCGGCGGAGGGTGGSCGGGGGGGGAGAGGT
    ACGATGAGGAGTAGGAGAGAGGAGG
    >OCT4
    ACGTAGGATGGAGGAGAGGGAGGGGGGAGGAGAGGAA
    AGAGTAGAGAGA
    >NANOG
    ACGATGCGATGCAGCGTTTTTTTTTGGTTGGATCT
    CAGGTAGGAGCGAGGAGGCAGCGGCGGATGCAGGCA
    ACGGTAGCGAGTC
    >mYC HAHA
    ACGGAGCGAGCTAGTGCAGCGAGGAGCTGAGTCGAGC
    CAGGACAGGAGCTA
    end
    
    test.fa在目錄data下,可以先進入data目錄,然后再查看文件。類比于Windows下先點開一個文件夾,再點開下面的文件。
    cd (change dir)切換目錄。
    head查看文件最開始的幾行,默認為10行,可使用-n 6指定查看前6行。
    ct@ehbio:~$ cd data
    ct@ehbio:~/data$ head -n 6 test.fa
    >SOX2
    ACGTCGGCGGAGGGTGGSCGGGGGGGGAGAGGT
    ACGATGAGGAGTAGGAGAGAGGAGG
    >OCT4
    ACGTAGGATGGAGGAGAGGGAGGGGGGAGGAGAGGAA
    AGAGTAGAGAGA
    
    另外lessmore也可以用來查看文件,尤其是文件內容特別多的時候。
    ct@ehbio:~/data$ less test.fa
    # q:退出
    #上下箭頭、空格翻頁
    


  • ?
    最后編輯于
    ?著作權歸作者所有,轉載或內容合作請聯系作者
    平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

    推薦閱讀更多精彩內容

    • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
      數據革命閱讀 12,237評論 2 33
    • 1.Linux下如何用命令查看實時日志(完整命令) tail -f 路徑.log查看前多少行 tai-200f 路...
      qianyewhy閱讀 2,322評論 0 11
    • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
      卡卡羅2017閱讀 134,969評論 19 139
    • 本文筆記源自這里——[實驗樓]歡迎大家在下面交流其中有問題的地方喜歡請點收藏,每日更新(全部已親自實踐). 一. ...
      東皇Amrzs閱讀 4,044評論 7 54
    • 不可否認也無需否認,創意這個詞已經占據了我的整個身心,自從學習了品思的課程之后,我發現大腦擴張,新的想法不斷涌現,...
      小泥蛋兒閱讀 301評論 2 6