在Linux下生物信息學工作(經(jīng)典推薦)_第1頁
在Linux下生物信息學工作(經(jīng)典推薦)_第2頁
在Linux下生物信息學工作(經(jīng)典推薦)_第3頁
在Linux下生物信息學工作(經(jīng)典推薦)_第4頁
在Linux下生物信息學工作(經(jīng)典推薦)_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、在在Linux下工作下工作致攀登Linux高峰的勇士余浩 ()序章序章Linux技術不是一天練成的。我們假定您已經(jīng)具備少量的技術不是一天練成的。我們假定您已經(jīng)具備少量的Linux基礎知識,所以基礎知識,所以本課程的重點將放在使用技巧的探討部分,而基礎命令將以復習的形式呈現(xiàn)。本課程的重點將放在使用技巧的探討部分,而基礎命令將以復習的形式呈現(xiàn)。由于由于 grep, sort, sed, awk, perl 命令過于強大,本課程暫不深入討論。命令過于強大,本課程暫不深入討論。1.基礎命令的復習a)文件操作命令b)文本處理命令c)打包、壓縮與解壓命令d)進程管理命令1.權限、進程的管理2.環(huán)境變量與配

2、置文件a)了解配置文件b)設置環(huán)境變量i.設置PATHii.設置別名iii.設置Vi/Vimiv.設置動態(tài)鏈接庫v.設置Perl庫3.軟件的安裝4.其它可能用得到的技巧本課件包含了大量的本課件包含了大量的Linux使用技巧,使用技巧,雖然算不上很具體、很全面,但我相雖然算不上很具體、很全面,但我相信如果能認真將其閱讀完,您的信如果能認真將其閱讀完,您的Linux操作技術將會更上一層樓。操作技術將會更上一層樓。2014年年4月月11日日 深圳深圳shellshell是是Linux的命令解析器,它的任務就是解析用戶輸入的命令,是的命令解析器,它的任務就是解析用戶輸入的命令,是Linux中中直接與用

3、戶交互的程序。直接與用戶交互的程序。大多數(shù)Linux默認的shell是bash(BioLinux-7默認是zsh)。常見的shell有sh、bash、csh、tcsh、ksh、zsh,它們本身就是一種程序,各有各的特點。本課程以bash為例。改變默認shell的命令是 chsh無所不能的幫助文檔無所不能的幫助文檔Help選項COMMAND -help 或 COMMAND -helpCOMMAND -hManual文檔man COMMANDInformation文檔info COMMAND官方Readme文檔網(wǎng)絡(wiki、論壇)Manual文檔截圖文檔截圖基礎命令的回顧基礎命令的回顧良好的基礎

4、是高效工作的源泉需要回顧的基礎命令需要回顧的基礎命令文件操作文件操作文本處理文本處理打包、壓縮與解壓打包、壓縮與解壓進程管理進程管理pwdcattartoplslessgzippscdgrepbzip2killcpsortzcatpkillmvperlzlessrmsedzgrepmkdirawkbzcatlnbzlessbzgrep常用的文件操作命令常用的文件操作命令命令命令 & 選項選項說明說明舉例舉例pwd查看當前工作目錄pwdls查看目錄內容ls; ls /binls -l列表方式查看目錄內容ls -l; ls -l /usr/libls -a查看隱藏文件(.開頭)ls -a;

5、 ls -a $HOMEls -R遞歸方式查看目錄ls -R; ls -R /usr/share/libcd改變目錄cd ./; cd /; cd cp復制文件cp ./a.fa b.facp -r復制目錄cp -r ./dir ././dir2mv移動文件或目錄mv ././dir2 ./dir3rm刪除文件rm a.fa; rm a.fa b.farm -r刪除目錄rm -r ./dir3rm -f強制刪除文件(慎用)rm -f *mkdir建立文件夾mkdir dir4mkdir -p遞歸方式建立文件夾mkdir -p dir5/dir6/dir7ln建立硬鏈接ln b.fa x.fal

6、n -s建立軟鏈接ln -s b.fa y.fa常用的文本處理命令常用的文本處理命令命令命令 & 選選項項說明說明舉例舉例cat查看文本文件內容cat 1.faless分頁查看文本文件內容less 1.faless -S分頁且不自動換行查看文本文件內容less -S 1.fagrep從文本文件中匹配出指定的行grep 1.fagrep -w從文本文件中嚴格匹配出指定的行grep -w a 1.fagrep -v從文本文件中不匹配出指定的行grep -v CDS 2.gffgrep -E以擴展型正則表達式匹配grep -E ab 1.fasort -k按列排序(數(shù)字或字典順序)sort

7、-k4n 2.gffsort -u排序并合并相同的行sort -u 3.listperlPerl語言解析器perl; perl -d x.plperl -nePerl的命令行模式并按需輸出perl -ne print $_nperl -pePerl的命令行模式并全部輸出perl -pe s/xxx/yyy/gsed文本流編輯器sed s/xxx/yyy/gawkAWK語言解析器awk if($2=0.5)print常用的常用的打包、打包、壓縮與解壓壓縮與解壓命令命令命令命令 & 選項選項說明說明舉例舉例tar cvf將文件打包將文件打包tar cvf 1.tar 1/tar zxvf將

8、tar.gz格式的文件解包tar zxvf 2.tar.gztar jxvf將tar.bz2格式的文件解包tar jxvf 3.tar.bz2tar tvf查看tar包的內容tar tvf 4.targzip -c壓縮成gz文件gzip -c a.fa a.fa.gzgzip -cd解壓gz文件gzip -cd a.fa.gz a.fagunzip解壓gz文件,同 gzip -dgunzip a.fa.gzbzip2 -c壓縮成bz2文件bzip2 -c a.fa a.fa.bz2bzip2 -cd解壓bz2文件bzip2 -cd a.fa.bz2 a.fabunzip2解壓bz2文件,同 b

9、zip2 -dbunzip2 a.fa.gzzcatcat查看gz壓縮文件的內容zcat a.fa.gzzlessless查看gz壓縮文件的內容zless a.fa.gzzgrepgrep過濾gz壓縮文件內容zgrep a.fa.gzbzcatcat查看bz2壓縮文件的內容bzcat a.fa.bz2bzlessless查看bz2壓縮文件的內容bzless a.fa.bz2bzgrepgrep過濾bz2壓縮文件內容bzgrep a.fa.bz2常用的進程管理命令常用的進程管理命令命令命令 & 選項選項說明說明舉例舉例toptop進程控制臺topps顯示當前screen進程psps a顯

10、示全部進程ps aps u顯示當前用戶進程ps ups x以PID形式顯示當前用戶進程ps xkill按PID殺死進程kill 11381pkill按PNAME殺死進程pkill qsub-sge.pl使用技巧的探討使用技巧的探討很多技巧是通過反復嘗試而形成的Linux的權限設置的權限設置Linux之所以安全,其自身的文件訪問權限設置功不可沒。之所以安全,其自身的文件訪問權限設置功不可沒。Linux的文件權限分為“讀(r)、寫(w)、執(zhí)行(x)”,其作用域分為“所有者(own)、同組成員(groups)、其他成員(others)”。文件只有當訪問者屬于正確的作用域,才能進行相應的訪問。改變權限

11、和所有者的命令分別是 chmod 和 chown屬性屬性所有者所有者同組成員同組成員其他成員其他成員-rwxrwxrwx-數(shù)字表示法數(shù)字表示法r = 4w = 2x = 1rw = 6rx = 5wx = 3rwx = 7屬性屬性d = 目錄目錄l = 軟鏈接軟鏈接- = 普通文件普通文件管理任務與進程管理任務與進程在我們的正常工作中,對任務與進程的管理能力是必不可少的。事實上,大多數(shù)在我們的正常工作中,對任務與進程的管理能力是必不可少的。事實上,大多數(shù)人只會簡單地殺任務,卻無法應對一些較為復雜的局面。人只會簡單地殺任務,卻無法應對一些較為復雜的局面。最常用的任務管理程序莫過于 top, PS

12、, kill, pkill 命令。運行 top 可以不帶任何選項,它將提供一個控制臺界面,通過鍵盤操作。而 ps 命令往往需要帶一些常用選項,如:-a, -u, -x命令 kill 和 pkill 都是中止任務與進程的命令,區(qū)別在于 kill 命令通過PID中止進程,而 pkill 則通過進程名。利用 kill 中止任務與進程:kill PID利用 pkill 中止任務與進程:pkill PNAME利用 pkill 和通配符配合使用,可以批量中止任務。top VS. pstop 命令命令(上圖)和上圖)和 ps 命令(下圖)都是命令(下圖)都是Linux下的任務管理程序下的任務管理程序,但這兩

13、者區(qū)別很大。但這兩者區(qū)別很大。top 通過周期性地讀取 /proc 中的文件,來達到監(jiān)控進程的目的。ps 是直接讀取內存中的系統(tǒng)狀態(tài)。所以 ps 的反應要比 top 快,但 top 更加直觀。topps u內存占用量內存占用量CPU占用比占用比內存占用比內存占用比進程的進程的CPU時間時間鏈接的妙用鏈接的妙用Linux中的鏈接,相當于中的鏈接,相當于windows下的下的“拷貝拷貝”和和“快捷方式快捷方式”。然而,從使。然而,從使用角度來講,鏈接的用處更為廣泛,更加精巧。用角度來講,鏈接的用處更為廣泛,更加精巧。鏈接分為軟鏈接(快捷方式快捷方式)和硬鏈接(拷貝)。不論哪種都可以通過 ln 或

14、link 這兩個命令創(chuàng)建(其實是一個命令的兩種寫法)。創(chuàng)建軟、硬鏈接的區(qū)別是軟鏈接的創(chuàng)建需要加上 -s 這個選項。創(chuàng)建硬鏈接:ln/link SOURCE TARGET創(chuàng)建軟鏈接:ln/link -s SOURCE TARGET如果不輸入 TARGET ,則會使用“本體”的文件名代替。軟鏈接軟鏈接本體本體硬鏈接硬鏈接本體本體軟鏈接占用的磁盤空間軟鏈接占用的磁盤空間硬鏈接占用的磁盤空間硬鏈接占用的磁盤空間了不起的管道與重定向了不起的管道與重定向Linux的管道和重定向是一項了不起的設計。對它們熟練使用的程度甚至一度被的管道和重定向是一項了不起的設計。對它們熟練使用的程度甚至一度被認為是認為是Li

15、nux用戶水平的標志。用戶水平的標志。管道的符號是“|”(分隔符),表示將其左邊的標準輸出作為右邊的標準輸入。案例案例 11:典型的典型的“管道管道”典型的典型的“重定向重定向”重定向重定向說明說明舉例舉例將標準輸出生成文件cat a b將文件讀入標準輸入read 將標準輸出追加到現(xiàn)有文件cat a cEOF進行標準輸入,直到遇到EOFcat a 將標準輸出生成文件,同“”cat d 1 e2將標準錯誤輸出生成文件perl e.pl 2 /dev/null沒有空格沒有空格,否則會報錯否則會報錯環(huán)境變量與配置文件環(huán)境變量與配置文件Linux的環(huán)境變量有點類似與Windows的控制面板中的各種選項

16、(更像注冊表),但其功能要強大許多,也更加安全。配置文件是用來存儲環(huán)境變量的。環(huán)境變量往往分為用戶級別和系統(tǒng)級別。相應的,配置文件也可以存放在用戶目錄和系統(tǒng)目錄。多數(shù)情況下,用戶目錄下的配置文件和系統(tǒng)目錄下的配置文件,其文件名幾乎相同,但用戶目錄的配置文件名開頭往往會多一個點(“.”),表示這是個隱藏文件,通常只能通過 ls -a 或TAB自動補全(要雙擊TAB)查看。用戶沒有設置某個環(huán)境變量,并不代表這個變量沒有被設置。原因是當用戶沒有去設置某個環(huán)境變量時,這個環(huán)境變量自動將其系統(tǒng)級別的值作為默認值。系統(tǒng)有環(huán)境變量和配置文件,一些程序也可以有自己的環(huán)境變量和配置文件。ls -a 結果結果一些

17、一些重要的用戶級別配置文件目錄重要的用戶級別配置文件目錄文件文件備注備注/.bashrcBash的配置文件,在bash運行時讀取/.bash_profileBash的配置文件,一般通過.bashrc調用/.profile用戶配置文件,在登錄時讀取/.vimrcVi/Vim配置文件/.ssh/存放OpenSSH配置文件的文件夾有用戶級別的配置文件一般就有對應的系統(tǒng)級別的配置文件,其文件名大致相同,但存儲位置在/etc目錄。有系統(tǒng)級別的配置文件不一定有對應的用戶級別的配置文件,比如:Apache服務的配置文件只有系統(tǒng)級別(在/etc/httpd/里)。用戶級別的文件往往優(yōu)先級高于系統(tǒng)級別(優(yōu)先讀取

18、)。如果某位用戶發(fā)覺其登錄節(jié)點發(fā)生異常,那么建議優(yōu)先檢查自己的$HOME文件夾中的配置文件是否有問題環(huán)境變量環(huán)境變量備注備注命令檢索路徑著名的 PATH 變量別名化繁為簡的方法動態(tài)鏈接庫導致程序無法運行的關鍵之一其它其它一些常見的環(huán)境變量大多數(shù)系統(tǒng)的故障都和環(huán)境變量的錯誤設置以及文件路徑的不正確有關。和配置文件一樣,環(huán)境變量同樣分為系統(tǒng)級別和用戶級別,并且用戶級別的環(huán)境變量的優(yōu)先級高于系統(tǒng)級別。通常情況下,常用的環(huán)境變量被寫入配置文件中,在系統(tǒng)啟動、登錄時自動調用和設置。設置好的環(huán)境變量要通過 export 命令(sh, bash)或 setenv 命令(csh, tcsh)使其生效。常見的環(huán)

19、境變量常見的環(huán)境變量有沒有想過為什么在執(zhí)行有些命令時,需要輸入完整的路徑,而有些命令只需要有沒有想過為什么在執(zhí)行有些命令時,需要輸入完整的路徑,而有些命令只需要輸入命令本身即可?輸入命令本身即可?當輸入命令時,系統(tǒng)將優(yōu)先搜索 PATH 變量所指向的文件夾。如果一個命令在兩個不同的 PATH 變量里都存在,系統(tǒng)將優(yōu)先使用排在前面(左邊)的 PATH 變量里的命令(命令的優(yōu)先級)。案例案例 01:查詢PATH變量:設置PATH變量:關于命令的檢索路徑關于命令的檢索路徑不得不提一下的不得不提一下的“優(yōu)先級優(yōu)先級”在在Linux的使用過程中,隨著軟件的升級,常常會遇到這樣的情況:同一款軟件的使用過程中

20、,隨著軟件的升級,常常會遇到這樣的情況:同一款軟件有許多不同的版本,比如:有許多不同的版本,比如:Perl 5.8.8, Perl 5.16.2, Perl 5.18.1等等等。那么我們到底執(zhí)行的是那個版本呢?這就涉及到了命令的優(yōu)先級這個問題。等。那么我們到底執(zhí)行的是那個版本呢?這就涉及到了命令的優(yōu)先級這個問題。在前面我們提到了 PATH 變量中,排在左邊的優(yōu)先級高,也就是說系統(tǒng)從左到右在 PATH 變量中檢索相應的命令,如果找到了,則無需再到下一個 PATH 中去找,如果找不到,則繼續(xù)再下一個變量中尋找,直到檢索完全部的 PATH 變量。通過 which 命令,我們可以查詢我們用的命令在哪個

21、 PATH 中。案例案例 02:這是我的這是我的Perl的路徑,當我執(zhí)的路徑,當我執(zhí)行行 perl 命令時,其實就是執(zhí)命令時,其實就是執(zhí)行的這個行的這個Perl如果額外安裝了新版本的如果額外安裝了新版本的Perl,這個路徑可能會變化這個路徑可能會變化設置別名最大好處是可以將繁瑣的路徑或命令用簡單易懂的名字或符號代替,有點類似數(shù)學中的“換元法”。設置別名的方法有很多,其中最常見、最簡單的是用 alias 命令。案例案例 03:bash Shell的語法是非常嚴格的語法是非常嚴格的,的,千萬不要隨意添加或刪除空千萬不要隨意添加或刪除空格格,也不要隨意換行也不要隨意換行bash語句可以不用分號結尾語

22、句可以不用分號結尾為什么要設置別名為什么要設置別名Vi/Vim的簡單配置的簡單配置Vi/Vim是我們最常用的文本編輯器之一,它雖然功能強大,但其默認的設置使是我們最常用的文本編輯器之一,它雖然功能強大,但其默認的設置使之看起來非常簡陋,因此,我們需要對它進行簡單的個性化。之看起來非常簡陋,因此,我們需要對它進行簡單的個性化。前面提到過,Vi/Vim的用戶級別配置文件是/.vimrc我們只需要往里面加入配置命令就行了。以下是建議的配置:案例案例 06:忽略鍵盤模式兼容性忽略鍵盤模式兼容性顯示行號顯示行號在右下角顯示當前行號和當前光標位置在右下角顯示當前行號和當前光標位置設置設置TAB縮進數(shù)和自動

23、縮進數(shù)縮進數(shù)和自動縮進數(shù)將將TAB轉化為空格(慎重)轉化為空格(慎重)設置智能縮進與自動縮進設置智能縮進與自動縮進高亮匹配與符號匹高亮匹配與符號匹配配語法高亮和文件類型探測語法高亮和文件類型探測set nowrap取消自動換行取消自動換行插入語:簡單的插入語:簡單的Vi/Vim使用技巧使用技巧狀態(tài)狀態(tài)命令命令作用作用命令模式y(tǒng)y拷貝當前行dd剪切刪除當前行p(P)粘貼到當前行的下一行(上一行)x(X)刪除當前光標處(前一個)字符7yy/7dd/7p/7x重復數(shù)字后面的動作7次gg(G)光標移至首行(尾行)($)光標移至行首(行尾)i(a)進入插入模式(光標向后移一個字符)o進入插入模式,光標向

24、下移一行:進入行模式/xyz查找xyz所在的行行模式147跳到147行%s/a/b/g將全部a替換為b23,34s/a/c/g將23行到34行的a替換成cwq改寫文件并退出q!強制退出,不改寫當前文件現(xiàn)代的程序幾乎不可能從頭到尾由一個人構架、編寫和維護,因此,代碼的相互現(xiàn)代的程序幾乎不可能從頭到尾由一個人構架、編寫和維護,因此,代碼的相互交流成為非常普遍的事情。交流成為非常普遍的事情。動態(tài)鏈接庫的誕生就是為了讓大家共享一些優(yōu)質的代碼,并以此為基礎開發(fā)出自動態(tài)鏈接庫的誕生就是為了讓大家共享一些優(yōu)質的代碼,并以此為基礎開發(fā)出自己的程序,但同時卻不會增加新程序的文件體積(相對于己的程序,但同時卻不會

25、增加新程序的文件體積(相對于“靜態(tài)鏈接庫靜態(tài)鏈接庫”)。你可以將其理解為你可以將其理解為“參考文獻參考文獻”。令人頭疼的動態(tài)鏈接庫令人頭疼的動態(tài)鏈接庫share librarycode Bcode Alibrary Xlibrary Xcode Bcode A動態(tài)鏈接庫動態(tài)鏈接庫靜態(tài)鏈接庫靜態(tài)鏈接庫對于生物信息領域,常用的一些程序并非標準的對于生物信息領域,常用的一些程序并非標準的C/C+編寫;同時,程序的設計編寫;同時,程序的設計者為了保證兼容性,也并不一定非要將其程序所需的者為了保證兼容性,也并不一定非要將其程序所需的“動態(tài)鏈接庫動態(tài)鏈接庫”放到默認的放到默認的目錄里。因此,就需要我們自定

26、義目錄里。因此,就需要我們自定義“動態(tài)鏈接庫動態(tài)鏈接庫”的路徑的路徑。常用的“動態(tài)鏈接庫”添加方法是:設置變量 LD_LIBARAY_PATH如果處在標準的編譯程序過程中( make 編譯),可以在MakeFile文件或 gcc 編譯選項中修改 CFLAGS, CPPFLAGS, CXXFLAGS 或 LDFLAGS 參數(shù)值(其實就是修改相應的路徑)來達到同樣的目的。自定義自定義“動態(tài)鏈接庫動態(tài)鏈接庫”路徑路徑案例案例 04:關于關于Perl庫庫Perl庫一般是用來存儲Perl模塊的在Linux中,默認的Perl庫位置是/usr/lib/perl5/, /usr/lib64/perl5/通過p

27、erl的 INC 數(shù)組,我們可以了解有哪些Perl庫路徑,方法是:perl -e print INCn最簡單的配置Perl庫路徑的方法是通過 PERLLIB 或 PERL5LIB 變量進行設置。案例案例 05:為了保證兼容性為了保證兼容性這里的這里的 $HOME 變量不一定能用變量不一定能用 “” 代代替替最容易被忽略的字符集設置最容易被忽略的字符集設置在眾多的環(huán)境變量設置中,字符集的設置往往容易被忽略。如果字符集設置不恰當,有可能導致我們沒法正常運行腳本,包括:bash、perl、python、ruby等解析型語言腳本。查詢字符集的命令是 locale案例案例 07:案例案例 08:變量名和

28、變量名和locale結果是一結果是一一對應的一對應的如果確實不知道該怎樣設如果確實不知道該怎樣設置,除了置,除了LANG變量,其余變量,其余的全部設置為的全部設置為“C”軟件的安裝軟件的安裝操作系統(tǒng)本來就是拿來用的安裝軟件的一般方法安裝軟件的一般方法一般用戶在大型機中安裝軟件,最簡單的方法是自行通過源代碼編譯。一般用戶在大型機中安裝軟件,最簡單的方法是自行通過源代碼編譯。經(jīng)典的通過源碼安裝軟件的命令是:./configure & make & make install( & 用來串聯(lián)多個命令,讀作“與”)。其中 configure 是用來檢查和設置編譯環(huán)境,這是個約定俗

29、成的文件名。用用 make 命令進行批量編譯(可能很耗時)。然后通過 make install 進行安裝(可能需要權限)。最后通過 make clean 清除臨時文件,以免在未來可能出現(xiàn)的重新編譯過程中報錯。對于某些軟件,比如SAMTools,只需進行 make 這一步就行了。編譯環(huán)境設置腳本 configure 可以附加很多參數(shù),源碼安裝軟件的靈活性就在此體現(xiàn),可以通過 configure -help 查詢。其中,最常用的就是 -prefix 參數(shù),這個參數(shù)的作用是指定安裝的目標路徑。軟件安裝過程中的參數(shù)優(yōu)化軟件安裝過程中的參數(shù)優(yōu)化前面提到了通過源碼安裝軟件具有很強的靈活性,所以很多人在利用

30、此方法編譯前面提到了通過源碼安裝軟件具有很強的靈活性,所以很多人在利用此方法編譯安裝軟件時,會加入一些優(yōu)化參數(shù),以減少編譯后的冗余代碼,提高軟件的運行安裝軟件時,會加入一些優(yōu)化參數(shù),以減少編譯后的冗余代碼,提高軟件的運行效率。但優(yōu)化未必就是好事,它可能導致程序的不穩(wěn)定。效率。但優(yōu)化未必就是好事,它可能導致程序的不穩(wěn)定。在前面提到過自定義“動態(tài)鏈接庫”路徑的方法,其中,利用參數(shù) CFLAGS, CXXFLAGS, CPPFLAGS, LDFLAGS 的方法可以在 configure 這一步進行設置。典型的優(yōu)化選項如:./configure CPPFLAGS=-O3 -I/usr/include

31、-L/usr/lib64 -without-zenmap注意!這里沒有空格,決不注意!這里沒有空格,決不能寫成能寫成 L /usr/lib64 ,否則會報錯。否則會報錯。-I /usr/include 類似。類似。這個選項是這個選項是Nmap這個軟件特有的這個軟件特有的,其作用其作用是取消是取消GUI在在 configure 腳本的參數(shù)中也會包含一腳本的參數(shù)中也會包含一些指定頭文件、庫文件路徑的選項,具體因些指定頭文件、庫文件路徑的選項,具體因程序而異(實際上是大同小異)。程序而異(實際上是大同小異)。利用利用MakeFile文件來優(yōu)化參數(shù)文件來優(yōu)化參數(shù)可以修改這些選項可以修改這些選項盡管可以

32、通過修改MakeFile來實現(xiàn)軟件編譯的優(yōu)化,不過我還是推薦大家盡量使用 configure 腳本來進行編譯配置,理由是有些配置選項可能是相互關聯(lián),相互依賴的,而 configure 腳本可以解決這些問題。安裝軟件最重要的不是照搬上面的步驟,而是仔細閱讀說明文檔。常見的說明文檔的文件名形如INSTALL, README等。安裝安裝CAFE3的煩惱的煩惱CAFE3是在是在BGI里公認的難以通過常規(guī)方式安裝的軟件里公認的難以通過常規(guī)方式安裝的軟件,原因是:原因是:1. 沒有標準的沒有標準的 configure 腳本腳本。2. 本來以為可以直接通過本來以為可以直接通過 make 命令編譯,類似命令編

33、譯,類似SAMTools的安裝過程一樣。的安裝過程一樣。但卻總是報錯。但卻總是報錯。3. 嘗試過添加各種新版的動態(tài)鏈接庫以及頭文件,但始終沒法解決問題。嘗試過添加各種新版的動態(tài)鏈接庫以及頭文件,但始終沒法解決問題。其實根本原因不是缺乏庫和頭文件,而是C語言版本的兼容性問題。我們常用的C語言版本是C98,而CAFE3恰好需要C99。因此,只需要在其Makefile的 OPTS 選項最后加上 -std=c99 便可以正常進行 make 編譯了。REF: http:/ Perl Archive Network它是Perl自帶的模塊管理程序。啟動命令是:cpan進入CPAN界面后,輸入 help 顯示

34、幫助文檔;輸入 i /REGEXP/ 用于查找模塊;輸入 install MODEL_NAME 用于安裝模塊。在 install MODEL_NAME 的過程中,模塊名對大小寫敏感。標準的標準的CPAN啟動界面啟動界面配置配置CPANCPAN的配置文件通常是 $HOME/.cpan/CPAN/MyConfig.pm第一次執(zhí)行 cpan 時會提示進行配置。如果需要修改配置好的CPAN,需要在其控制臺輸入 o conf init 即可。如果CPAN配置錯誤,最簡單的修復辦法就是整體刪除 $HOME/.cpan/ 目錄。第一次執(zhí)行CPAN時,選擇自動配置,然后用 o conf init urllis

35、t 將鏡像地址修改為BGI的地址即可。定義模塊的安裝位置定義模塊的安裝位置BGI的的CPAN鏡像鏡像案例案例 10:其它可能用得到的技巧其它可能用得到的技巧技多不壓人關于程序補丁的思考關于程序補丁的思考在在BGI有很多很好的程序,在構建某些具體流程上面卻顯得不盡人意,對此,流有很多很好的程序,在構建某些具體流程上面卻顯得不盡人意,對此,流程的構建者可能會對這些程序進行一些修改。這本來是一下正常的事情,但這些程的構建者可能會對這些程序進行一些修改。這本來是一下正常的事情,但這些修改者們卻有個不好的習慣修改者們卻有個不好的習慣直接在原作者的代碼上直接修改而不加以標注。直接在原作者的代碼上直接修改而

36、不加以標注。這樣就給之后的一些新人留下了對代碼理解層面上的麻煩。這樣就給之后的一些新人留下了對代碼理解層面上的麻煩。因此,我建議大家不要直接修改原始代碼,而是利用 diff 命令生成程序補丁,之后用 patch 命令使用該補丁。生成補?。篸iff -Nur OLD_FILE NEW_FILE FILE_PATCH使用補丁:patch -p0 /dev/null &nohup SHELL_FILE & nohupCOMMAND /dev/null &screen的用法:screen; screen -S NAME; screen -ls; screen -R進入screen控制臺后,輸入命令,用快捷鍵 ctrl + ad

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論