1: linux下md5sum 校驗(yàn)文件完整性
收藏鏈接:http://blog.csdn.net/cymm_liu/article/details/20995631
在這篇我的博文中《關(guān)于數(shù)據(jù)校驗(yàn)及備份存放的思考》屋讶,我談及到在數(shù)據(jù)傳輸過程中使用數(shù)據(jù)校驗(yàn)的重要性只搁。
2:Linux命令(目錄管理-gzip/gunzip)
收藏鏈接:http://www.linuxdown.net/command/2016/1019/8603.html
gzip -d
等價(jià)于gunzip
;- 解壓縮時(shí)周伦,顯示指令執(zhí)行過程,
gunzip -v hello.sh.gz
3:rename批量重命名
收藏鏈接:批量重命名文件
rename -V
rename (util-linux-ng 2.17.2),此外也有基于Perl的rename谭网。
4:選取命令-cut,grep
收藏鏈接:http://qinqianshan.com/select-the-command-cutgrep/
-
cut
的主要用途在于將同一行里面的數(shù)據(jù)進(jìn)行分解达罗;[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ~]# cut -c 字符區(qū)間 <==用于排列整齊的訊息 選項(xiàng)與參數(shù): -d :后面接分隔字符。與 -f 一起使用俐筋; -f :依據(jù) -d 的分隔字符將一段訊息分割成為數(shù)段牵素,用 -f 取出第幾段的意思; -c :以字符 (characters) 的單位取出固定字符區(qū)間澄者;
-
grep
是分析一行的信息笆呆,若當(dāng)中有所需的內(nèi)容,則將改行拿出來粱挡;[root@www ~]# grep [-acinv] [--color=auto] '搜尋字符串' filename 選項(xiàng)與參數(shù): -a :將 binary 檔案以 text 檔案的方式搜尋數(shù)據(jù) -c :計(jì)算找到 '搜尋字符串' 的次數(shù) -i :忽略大小寫的不同赠幕,所以大小寫視為相同 -n :順便輸出行號(hào) -v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內(nèi)容的那一行询筏! --color=auto :可以將找到的關(guān)鍵詞部分加上顏色的顯示喔榕堰!
5:文件的比較–diff,cmp
收藏鏈接:http://qinqianshan.com/file-diffcmp/
-
diff
以行為單位用于兩個(gè)檔案之間的差異,一般是用在 ASCII 純文本檔的比對(duì)上嫌套。不要用 diff 去比對(duì)兩個(gè)完全不相干的檔案逆屡,diff 也可以比對(duì)整個(gè)目錄下的差異; -
cmp
主要也是在比對(duì)兩個(gè)檔案踱讨,主要利用『字節(jié)』單位去比對(duì)康二; - Linux 中找出兩個(gè)文件的不同
6:Linux下文件名的搜尋–find,locate,whereis
收藏鏈接:http://qinqianshan.com/linux-find-file-whichfindlocatewhereis/
find
:速度慢,通常先使用whereid
或者locate
來檢查(利用數(shù)據(jù)庫(kù)來搜尋數(shù)據(jù))勇蝙,如果真的找不到了沫勿,才用find
;-
whereis
[root@www ~]# whereis [-bmsu] 文件或目錄名 選項(xiàng)與參數(shù): -b :只找 binary 格式的文件 -m :只找在說明文件 manual 路徑下的文件 -s :只找 source 來源文件 -u :搜尋不在上述三個(gè)項(xiàng)目當(dāng)中的其他特殊文件
-
locate
[root@www ~]# locate [-ir] keyword 選項(xiàng)與參數(shù): -i :忽略大小寫的差異; -r :后面可接正規(guī)表示法的顯示方式
7: linux文件的合并味混,去重产雹,分割–cat,uniq,split,paste
收藏鏈接:linux文件的合并、去重翁锡、分割–cat,uniq,split,paste
- 兩個(gè)文件的交集蔓挖、并集:
cat
/sort
/uniq
的組合使用; - 兩個(gè)文件的合并:
cat
(上下合并)/paste
(左右合并)馆衔; - 一個(gè)文件去掉重復(fù)的行:
sort
/uniq瘟判;
- 將一個(gè)大的文件分割成多個(gè)小文件:
split
/dd
/head
+tail
/awk
8:tar命令批量解壓方式
收藏鏈接:http://www.linuxren.net/shell/12224M2010.html
其實(shí)下面的四種方法有幾種適用于批量運(yùn)行其他Linux上的命令的,學(xué)會(huì)融會(huì)貫通角溃。
ls *.fastq.gz| xargs -i echo nohup fastqc -o ./ {} \& >fastqc.sh
-
第一種:
for tar in *.tar.gz; do tar xvf $tar; done for tar in *.tar.bz2; do tar xvf $tar; done
-
第二種:用tar命令批量解壓某個(gè)文件夾下所有的tar.gz文件
ls *.tar.gz | xargs -n1 tar xzvf
-
第三種:這條命令可解壓當(dāng)前目錄下的所有bz2文件拷获,maxdepth表示搜索深度,1代表只搜索當(dāng)前目錄
find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {}
第四種:
for i in $(ls *.tar);do tar xvf $i;done
9:處理FASTQ文件的Linux單行命令
收藏鏈接:List of helpful Linux commands to process FASTQ files from NGS experiments00
10:謹(jǐn)慎連用find和xargs
收藏鏈接:find和xargs連用雖好减细,但用起來要小心哦~
我也不會(huì)經(jīng)常用這兩個(gè)命令匆瓜,但是風(fēng)險(xiǎn)還是要知道的。
11:Linux shell trick for bioinformatics
收藏鏈接:
- 《Linux shell trick for bioinformatics 系列文章之一》
- 《linux shell tricks for bioinformatics系列文章之二》
- 《linux shell tricks for bioinformatics系列文章之三: 內(nèi)附部分sRNAs分析pipeline》
我個(gè)人都是用perl單行命令較多,文章中Linux使用
sed
/awk
組合寫的單行命令腳本我其實(shí)很少寫驮吱。
12:查看文件和文件夾大小
收藏鏈接:
重點(diǎn)摘錄:
df
可以查看一級(jí)文件夾大小茧妒、使用比例、檔案系統(tǒng)及其掛入點(diǎn)左冬,但對(duì)文件卻無能為力桐筏。du
可以查看文件及文件夾的大小拇砰;兩者配合使用梅忌,非常有效。比如用
df
查看哪個(gè)一級(jí)目錄過大毕匀,然后用du
查看文件夾或文件的大小,如此便可迅速確定癥結(jié)癌别。
-
du -sh *
:-h
是給人類看的皂岔,自動(dòng)轉(zhuǎn)換MB/GB等 - 排序:
du -sk * | sort -rn | head -10
- 可以更改
--max-depth
參數(shù)的值,該參數(shù)表示查詢子目錄的層級(jí)展姐,但是注意這樣跟-s
總結(jié)模式?jīng)_突:du -k --max-depth=2 | sort -rn | head -10
13:Linux解壓縮
收藏鏈接:http://qinqianshan.com/under-linux-to-extract/
-
gzip
:-
gzip
就夠用了躁垛,盡量不要用gunzip
; -
gzip -d *.gz
可用于批量解壓縮圾笨;
-
- 解壓縮相關(guān)的命令:
-
tar xf
能夠自動(dòng)識(shí)別tar
壓縮的文件教馆; -
*.bz2
用bzip2 -d
或者用bunzip2
解壓; -
*.Z
用uncompress
解壓擂达; -
*.rar
用unrar e
解壓土铺; -
*.zip
用unzip
解壓;
-
14:linux下用戶的管理
收藏鏈接:
- http://qinqianshan.com/linux-user-management/
- 生信媛-我的Linux學(xué)習(xí)筆記·用戶和組(1)
- 生信媛-我的Linux學(xué)習(xí)筆記·用戶和組(2)
要點(diǎn)摘記:
-
新建用戶
adduser phpq passwd phpq //給phpq用戶設(shè)置密碼
-
建工作組
groupadd test //新建test工作組
-
新建用戶同時(shí)增加工作組
useradd -g test phpq //新建phpq用戶并增加到test工作組 # 注:-g 所屬組 -d 家目錄 -s 所用的SHELL
-
給已有的用戶增加工作組
usermod -G groupname username # gpasswd -a user group
-
臨時(shí)關(guān)閉
在
/etc/shadow
文件中屬于該用戶的行的第二個(gè)字段(密碼)前面加上*就可以了板鬓。想恢復(fù)該用戶悲敷,去掉*即可〖罅睿或者使用如下命令關(guān)閉用戶賬號(hào):passwd peter –l
重新釋放:passwd peter –u
-
永久性刪除用戶賬號(hào)
userdel peter groupdel peter usermod –G peter peter (強(qiáng)制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)
-
從組中刪除用戶
編輯
/etc/group
找到GROUP1那一行后德,刪除 A或者用命令gpasswd -d A GROUP
-
顯示用戶信息
id user cat /etc/passwd
15:Shell腳本–字符串截取
收藏鏈接:
- Shell腳本–字符串截取
- 生信入門系列之——Shell 腳本編程(一)
- 生信入門系列之——Shell 腳本編程(二)
- 生信入門系列之——Shell 腳本編程(三)
- 生信入門系列之 linux 入門(三):基礎(chǔ)命令(中)
- 生信入門系列之——Shell 腳本編程(三)之實(shí)例版
- 生信入門系列之——Shell 腳本編程(四)
- 生信入門系列之-linux-入門(四):基礎(chǔ)命令(下)
- 如何寫一個(gè)腳本-徐洲更
生信百科的這一系列關(guān)于Shell腳本文章寫的不錯(cuò),有時(shí)間要翻閱學(xué)習(xí)抄腔。最后洲更的如何寫一個(gè)腳本也是值得學(xué)習(xí)的瓢湃。
要點(diǎn)摘記:
-
#
號(hào)截取,從最左邊的分隔符開始刪除左邊字符赫蛇,保留右邊字符绵患; -
##
號(hào)截取,從最右邊的分隔符開始刪除左邊字符悟耘,保留右邊字符藏雏; -
%
號(hào)截取,從最右邊的分隔符開始刪除右邊字符,保留左邊字符掘殴; -
%%
號(hào)截取赚瘦,從最左邊的分隔符開始刪除右邊字符,保留左邊字符奏寨; - 從左邊第幾個(gè)字符開始起意,及字符的個(gè)數(shù):
echo ${var:0:5}
; - 從左邊第幾個(gè)字符開始病瞳,一直到結(jié)束:
echo ${var:7}踏拜;
- 從右邊第幾個(gè)字符開始,及字符的個(gè)數(shù):
echo ${var:0-7:3}
言询; - 從右邊第幾個(gè)字符開始环戈,一直到結(jié)束:
echo ${var:0-7}
;
#是從左面開始匹配
%是從右面開始匹配
使用一個(gè)符號(hào) (# 或 %) 是最小匹配
使用兩個(gè)符號(hào) (## 或 %%) 是最大匹配
* 用來去掉不需要的字符
可以自己指定分割符號(hào)與 #, % 和 * 配合來決定取哪部分來替換
可以自己指定起始位置來決定提取哪部分字符串
可以使用 /str1/str2 來替換特定字符串
16:Linux服務(wù)器數(shù)據(jù)定期同步和備份方式
收藏鏈接:http://mp.weixin.qq.com/s/c2cspK5b4sQScWYMBtG63g
-
scp
:cp
(本地硬盤)或scp
(遠(yuǎn)程硬盤)命令逗柴,給自己的結(jié)果文件新建一個(gè)拷貝蛹头;每有更新,再拷貝一份戏溺≡希可以寫一個(gè)定期備份的程序,并且對(duì)遠(yuǎn)程服務(wù)器配置免密碼登錄旷祸,自動(dòng)備份耕拷。cp -fur source_project project_bak scp -r source_project user@remote_server_ip:project_bak
rsync
:一個(gè)增量備份工具,只針對(duì)修改過的文件的修改過的部分進(jìn)行同步備份托享,大大縮短了傳輸?shù)奈募臄?shù)量和傳輸時(shí)間rdiff-backup
:不只可以做增量備份骚烧,而且會(huì)保留每次備份的狀態(tài),新備份和上一次備份的差別闰围,可以輕松回到之前的某個(gè)版本止潘。唯一的要求就是,本地服務(wù)器和遠(yuǎn)端服務(wù)器需要安裝統(tǒng)一版本的rdiff-backup
辫诅。
如果實(shí)在有需要請(qǐng)給我發(fā)郵件:mengyuanshen@126.com凭戴;
也可以關(guān)注我的公眾號(hào):沈夢(mèng)圓(PandaBiotrainee)