聲明:小的只是網(wǎng)上各種資源 的搬運工,文章主要內(nèi)容來自于對https://www.bilibili.com/video/av62588575/該視頻的總結(jié),和自己平時用到的那么一點點仍侥。
生物信息學(xué)分析經(jīng)常會用到Linux操作系統(tǒng)。個人感覺Linux操作系統(tǒng)與Windows最大的不同就在于Windows是可視化的弟塞,“傻瓜式”操作稿械,鼠標(biāo)點擊;而Linux需要輸入代碼來讓計算機執(zhí)行命令乏沸。
1 從windows到linux
這里給出Linux里面的一些基本命令淫茵,對應(yīng)Windows里的一些基本操作。
在最開頭先給出一個網(wǎng)站:http://man.linuxde.net/屎蜓,這個網(wǎng)站會給出Linux命令的中文說明痘昌,親測好用。
ls #顯示目錄內(nèi)的內(nèi)容
note:在Windows炬转,每進(jìn)入一個目錄辆苔,在里面有什么就會直接圖表顯示出來,但Linux不是扼劈,需要輸入ls查看驻啤。
ls -h #查看ls命令所有的參數(shù)
ls -l #顯示文件和目錄的詳細(xì)信息
pwd #查看當(dāng)前路徑
mkdir #新建一個目錄
mkdir -p opt/bin #創(chuàng)建層級目錄,要加-p
cd #進(jìn)入某一目錄
cd dir/in_dir #進(jìn)入到一個目錄內(nèi)的一個目錄
cd .. #回到上一層目錄
cd ../other_dir #回到上一層目錄并進(jìn)入其他目錄
cd ../.. #回到上一層的上一層目錄
mv #既可以移動文件位置荐吵,也可以用來重命名目錄或文件
rm -r #用來刪除目錄或者文件骑冗,強力刪除
rmdir #刪除目錄
我們在這里舉個例子赊瞬,把上面的命令連起來操作
mkdir software #新建一個名為software的目錄
cd software #進(jìn)入名為software的目錄
ls #查看當(dāng)前目錄的內(nèi)容
cd ..#會到上一級目錄
mv software new_folder #將目錄software更名為new_folder
rm -r new_folder #刪除目錄software
rmdir new_folder? #刪除目錄software
2 vim——Linux自帶的文本編輯器
Linux自帶一個文本編輯器軟件vim,可以寫txt和sh文件(別的我沒試過)
vim abc.txt #建立txt文件abc并編輯
vim abc.sh #建立sh文件abc并編輯
敲Insert鍵或者i贼涩,進(jìn)入編輯模式
編輯完成后巧涧,敲Esc,退出編輯模式
然后輸入
:wq
如果不想保存此次編輯內(nèi)容遥倦,輸入
:q!
sh abc.sh #運行該腳本文件谤绳,比如我們要運行多個命令,可以把命令編輯到一個腳本文件里袒哥,然后運行該腳本文件
3 安裝軟件
在Linux里除了最基本的操作缩筛,為了數(shù)據(jù)分析,就是安裝各種各樣的軟件了堡称,至于每個軟件的命令如何輸入瞎抛,就要看軟件自帶的操作指南了。
3.1 自己安裝
wget #wget后面加軟件包的下載地址却紧,就可以進(jìn)行下桐臊,比如:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh--no-check-certificate #下載miniconda3的軟件包,有的時候報錯啄寡,后面可加--no-check-certificate試一下
git clone git://github.com/… #若果要下載的東西在github網(wǎng)站豪硅,也可以試試這條命令
tar xzf name.tar.gz #解壓縮tar.gz壓縮文件
tar xzf name.tar #解壓縮tar壓縮文件
tar xzf name.tgz #解壓縮tgz壓縮文件
gunzip name.gz #解壓縮gz壓縮文件
我們這里演示安裝seqkit的整個流程:
第一步是下載安裝
mkdir software #建立software目錄
cd software #進(jìn)入該目錄
wget http://app.shenwei.me/data/seqkit/seqkit_linux_amd64.tar.gz #下載seqkit軟件安裝包,
ls #查看內(nèi)容
tar xzf seqkit_linux_amd64.tar.gz #解壓縮
rm seqkit_linux_amd64.tar.gz #解壓縮之后我們可以將壓縮包刪除
第二步是設(shè)置環(huán)境變量挺物,以便調(diào)用命令
./seqkit #./dir意味著執(zhí)行當(dāng)前目錄下的命令懒浮。此時sekit還沒加入環(huán)境變量,因此直接輸入seqkit是會報錯的
echo $PATH #查看環(huán)境變量识藤,加$用來表示后面為變量名
export PATH=$PATH:~/software #將seqkit短時間添加到環(huán)境變量的方法砚著,短時間指的是這次登錄,下次就沒有了痴昧』拢或者:
export PATH=$PATH: /lustre/home/liruyuan/software #以/開頭的是絕對路徑,比如這里的/lustre/home/liruyuan/software赶撰,我們也可以用相對路徑~/software
那么如何永久地添加到環(huán)境變量舌镶?我們要把添加環(huán)境變量的命令寫入到配置文件中
一種方法是vim編輯
vim ~/.bashrc
敲Insert進(jìn)入編輯模式
輸入export PATH=$PATH: /lustre/home/liruyuan/software
敲Esc退出編輯模式后輸入
:wq #保存本次編輯
source ~/.bashrc #使剛才的操作生效
還有一種方法是
nano ~/.bashrc
直接輸入export PATH=$PATH: /lustre/home/liruyuan/software
然后ctrl+o#寫入 ctrl+m,ctrl+x#退出
source ~/.bashrc #使剛才的操作生效
我們可以輸入seqkit豪娜,如果能出來內(nèi)容餐胀,說明添加到環(huán)境變量成功
3.2 利用Conda安裝軟件
個人的理解是conda就像windows里面的軟件管家,用它來安裝比較簡單快捷瘤载。
用conda安裝軟件的第一步是你已經(jīng)安裝了conda否灾,這里我們一般選擇安裝Miniconda。
下面是安裝Miniconda的代碼:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh --no-check-certificate #miniconda3的下載
ls #查看當(dāng)前目錄內(nèi)容鸣奔,確保下載下來了
sh Miniconda3-latest-Linux-x86_64.sh #安裝MIniconda3墨技,在這個過程中按提示操作惩阶,比如需要輸入yes表示同意或者敲Enter確認(rèn)一些詢問信息
source ~/.bashrc #讓添加miniconda3的路徑可執(zhí)行
conda config --add channels defaults #Miiconda3軟件包頻道設(shè)置
conda config --add channels bioconda #Miiconda3軟件包頻道設(shè)置
conda config --add channels conda-forge #Miiconda3軟件包頻道設(shè)置
完成以上步驟就可以用MIniconda來安裝軟件了
conda search blast #查詢軟件blast
conda install blast #安裝軟件blast
conda list #查看conda里面都安裝了哪些軟件
conda uninstall blast #卸載軟件
小技巧
1 Tap補全:因為Linux需要輸入代碼來運行命令,如果我們的文件名或者命令輸錯扣汪,就不能正常運行断楷,這是Tab補全就會發(fā)揮很大的功能。Tab補全指的是輸入命令或者目錄名崭别、文件名脐嫂,打出來前面幾個字母,如果這幾個字母對應(yīng)的命令或者目錄名紊遵、文件名是唯一的,敲Tab鍵就會自動補全后面的內(nèi)容侥蒙。只有可以Tab補全的命令才可以正常調(diào)用暗膜,只有可以Tab補全的文件或者目錄才存在,因此Tab補全不僅可以幫助提高效率鞭衩,還幫助避免輸錯学搜。
2 Ctrl+c 撤銷操作輸入。如果我們不想計算機再執(zhí)行上條命令论衍,可以ctrl+c
3 輸入clear可以消除之前屏幕上的內(nèi)容
超算使用的常用命令
很多科研院所都有自己的超算系統(tǒng)瑞佩,不知道XTBG的超算命令適不適合別的院所的超算,因此把這個放在最后坯台,用不到的讀者可以忽略炬丸。
bhosts #查看各個節(jié)點跑任務(wù)的情況
bsub #后面加命令行,說明在超算上跑命令蜒蕾,而不是在節(jié)點上
bjobs #查看自己提交的所有任務(wù)的運行情況稠炬,一般有Run代表正在運行命令,Pend表示被掛起咪啡,等待去運行
bkill jobname #終止某一個任務(wù)
ssh hostnumber #轉(zhuǎn)移到某個節(jié)點
bjobs -u all #查看所有人運行的情況