本教程宗旨(請仔細閱讀)
本教程不是一個完備的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下的桌面。在這個目錄下,我們可以新建文件、新建文件夾,就像在桌面上的操作一樣。
注:
*這里我們假設所有用到的文件和文件夾都放置于家目錄下
C:\Users\ct
如果想查看當前目錄下都有什么內容,輸入命令
ls
,回車即可(ls可以理解為單詞list的縮寫)。當前目錄下什么也沒有,所以沒有任何輸出。ct@ehbio:~$ ls
如果錯把l
看成了i
,輸入了is
,則會出現下面的提示未找到命令
。如果輸入的是Linux基本命令,出現這個提示,基本可以判定是命令輸入錯了,瞪大眼睛仔細看就是了。在敲完命令回車后,注意查看終端的輸出,以判斷是否有問題。ct@ehbio:~$ is
-bash: is:未找到命令
#大小寫敏感
ct@ehbio:~$ lS
-bash: lS:未找到命令
當前目錄下只有一個文件,看不出效果,我們可以新建幾個文件和文件夾,來查看下。mkdir
是新建一個目錄(m
ak
e a dir
ectory);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
另外less
和more
也可以用來查看文件,尤其是文件內容特別多的時候。ct@ehbio:~/data$ less test.fa
# q:退出
#上下箭頭、空格翻頁