Linux操作系統爲生物信息學的數據處理提供了很好的平臺,因此,掌握一些高效的Linux系統操作技巧能夠讓我們的工作更加便捷。“優秀”的操作習慣就如同一把強有力的工具,panda都一步一步得試着操作了一遍,這是吸取別人優秀操作的機會,一定不能錯過~~
1.簡單的基礎命令
-
pwd
打印當前目錄的完整路徑 -
ls
列出當前目錄中的內容
-l
表示用列表形式列出 -
>
覆蓋原文件 -
>>
添加到原文件底部 -
cd
change directory -
mkdir
創建目錄
mkdir $(date +%F)
創建以今天日期爲名稱的目錄 -
rmdir
刪除空目錄
刪除多個空目錄操作:find . -type d -empty -print | xargs rmdir
把 對機器講的話 翻譯成 人話:find(查找) .(當前目錄下的) -type(類型爲) d(目錄) -empty(空的) -print(打印出來) | xargs(把管道符前打印的目錄一個一個的執行) rmdir(刪除任務) -
rm
刪除文件或目錄
-r
表示遞歸刪除(一個目錄中包含層級的文件時,可以用這個參數把整個目錄刪掉)
-f
表示強制刪除(不要提示)
(rm -rf
強制把多級目錄刪掉,也不要給提示,因此使用要謹慎) -
touch
新建一個文件 -
mv
重命名或者移動(文件或目錄) -
cat
具有查看文件和定向輸出文件的功能
輸入 cat >test.txt之後會有光標提示要輸入的內容,然後control + C 停止輸入,不過要注意的是:內容書寫完畢後要換行再“control + C”,否則最後一行是無法保存的,就像我這樣👇,第三行的“o”就沒有保存進去!
-
less
也是查看文件的一個命令
-S
使文本的一行(無論有多長也)只佔屏幕的一行
-N
每一行加上行號 -
head 和 tail
head -n 5 test.txt
查看test.txt的前5行
tail -n 5 text.txt
查看test.txt的最後5行
2.練習題
1.在主目錄下創建/tmp文件夾,並且使其中包含1/2/3/4/5格式的文件夾系列
2.在創建好的文件夾下面,創建文本文件 xi.txt,並輸入內容,例如Hello world, Welcome to bioinfoplanet, Nice to see you。三句話分行顯示
3.在tmp/下創建 1~5這5個文件夾,然後每個文件夾下面繼續創建 1~5這5個文件夾, 並查看
4.增加一點難度:我想在練習三的每個目錄中都放進去一個文件xi.txt,內容還是練習二的內容
5.下載 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,統計該文件總共有幾行,含有 H3K4me3 的是第幾行
6.下載 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,並且解壓,查看裏面的文件夾結構 (提示:瞭解tree命令)
3.答案
mkdir -p /tmp/1/2/3/4/5
(學會使用-p參數)cat > xi.txt
然後分3行輸入內容:Hello world;Welcome to bioinfoplanet,;Nice to see you(回車鍵-換行;control+c-停止輸入)- 首先
pwd
確保自己在tmp/
目錄下,先創建1-5這5個文件夾mkdir {1..5}
,然後每個文件夾下面繼續創建1-5這5個文件夾mkdir {1..5}/{1..5}
,查看使用tree tmp/
(貌似這個操作也可以mkdir -p {1,2,3,4,5}/{1,2,3,4,5})- 在
tmp/
目錄同時保證 xi.txt也在當前路徑,前面已經創建好25個目錄的基礎上,輸入命令echo tmp/*/* | xargs -n 1 cp xi.txt
(自己不會做,抄的答案~)- 下載文件命令:
wget www.biotrainee.com/jmzeng/igv/test.bed
;
統計行wc -l test.bed
ornl test.bed
尋找行號grep -n H3K4me3 test.bed
- 下載文件命令:
wget www.biotrainee.com/jmzeng/rmDuplicate.zip
解壓unzip rmDuplicate.zip
查看文件結構tree rmDuplicate.zip
(-p 查看權限;-h 查看文件小;-D 查看創建日期)我覺得這份答案更詳細:https://www.jianshu.com/p/d3be74cb7829
因爲panda都是抄他的... ...
👆上面都是跟着豆花的轉錄組學習教程寫的,可是隻懂這些在實踐中還是不夠。於是參考着豆豆的這篇文章生信Linux文本處理三劍客,又深入學習了幾個功能強大的命令:
4.vim編輯器
在linux操作系統中,編輯文本不可避免得使用vim,一份vim的小抄(中文版),可以把它保存在瀏覽器的收藏夾裏,每逢操作時記得打開看一看,嘗試使用裏面的 快捷操作 替換簡單粗暴的 土方法,會讓我們的work更簡單高效~
4.1 vim編輯器顯示行號
- vim的配置文件
.vimrc
(eg:可以在該文件內加入set number
,從而爲vim編輯器添加行號) - 也可以在
vi
打開一個文件後,通過:
進入 指令列命令模式 ,然後輸入set number
,這樣的話,只會針對此次瀏覽,在當前文件內顯示行號(在此次瀏覽中,撤銷設置行號:set nonumber
)
什麼是 指令列命令模式?👇
vim 有三種模式
- 一般命令模式
使用vi打開一個文件後,當即呈現在我們面前的這個狀態,就是一般命令模式- 編輯模式
在按下「i,I,o,O,a,A,r,R」任意一個字母之後就會進入編輯模式,這種模式下可以編輯文本。如果想要退回一般命令模式,按鍵盤上的ESC
按鈕- 指令列命令模式
vi 打開一個文件後,輸入「:/ ?」三個中的任何一個按鈕,就進入了指令列命令模式
4.2 關於vim的其他小技巧
~
大小寫切換
:%s/old/new/g
替換全部 (g
指global全局替換)
:%s/old/new/gc
逐個替換(比較保險,不易出錯)
0
移動到行首
$
移動到行尾
g
到達第一行
G
到達最後一行
g
和G
也可以通過以下3個來實現
H
移動到當前頁面頂部
M
移動到當前頁面中部
L
移動到當前頁面底部