目前用到的都是比較簡(jiǎn)單的,但是因?yàn)槭窍肫饋砘蛘哒f用到了就來補(bǔ),所以比較亂...:
一、cut
linux cut 命令提取指定列 - 簡(jiǎn)書 (jianshu.com)這里超詳細(xì)~
cut -d',' -f1 --complement in.csv >out.csv? 以,為分隔符(因?yàn)槭莄sv文件),刪除第一列(--complement是取反,如果不加這個(gè)參數(shù),命令代表刪除第一列并把刪除的結(jié)果存入out.csv,out.csv里的內(nèi)容就是第一列的內(nèi)容)
cut -d',' -f1,2,? in_file >out_file? 取出第1,2列?
二、sed
sed 's///g' in_file? ?在in_file全文里搜索的基本格式,使用實(shí)例如下:
sed 's/ /\t/g'? 把空格替換成tab(\t)(s代表替換,g代表全文替換)
sed 's/[ ][ ]*/,/g' filename >new_filename? 如果文件是以不同數(shù)目的分隔符分隔的:這個(gè)可以把n個(gè)空格都替換成一個(gè)逗號(hào)
三、sort
sort -k 1 -n -r -u in_file >out_file?
(-k 1 : 根據(jù)第一行排序;-n按照數(shù)字大小排,默認(rèn)是按照ASCII碼排序;-r 從小到大排序,默認(rèn)是從大到小;-u 是刪除重復(fù)項(xiàng))
四、awk(感覺這個(gè)命令很強(qiáng)大但是也有不足,不如利用awk刪除的時(shí)候,雖然刪除了,但是也給文件刪除的地方加了空格)
awk -F" " '{if ($1 ~/chr/) $1 = "."}1' in_file >out_file? 把第一列中,以chr開頭的列的內(nèi)容替換成.
(-F" "? 以空格分隔,也可不加這個(gè)參數(shù);1我不知道是干啥,但是不加不行...,awk中$1代表第一個(gè),$0代表整行)
OFS
-v
NF
五、grep
grep "^[^#;]"? ?提取不以#和,開頭的行(空行不會(huì)被提取出來)(所以[ ]里的^表否定)
grep -v '^[#;]'??提取不以#和,開頭的行(包括空行也會(huì)被提取出來)
grep? '^[#;]'? 提取以#和,開頭的行
六、vim
/aa 查找含有aa的內(nèi)容,并高亮
:noh 取消高亮
:n? 讓光標(biāo)跳到第n行
還用過一些,但是當(dāng)時(shí)用了現(xiàn)在忘了,以后再遇到會(huì)繼續(xù)記錄在這里
七、paste
paste -d' ' in_file1 in_file2?>out_file? 以空格為分隔,把in_file1和in_file2橫向拼接(1在前,2在后)

八、mv
改名:當(dāng)文件名存在空格等非正常符號(hào)時(shí):
mv "phenotypes .csv" phenotypes.csv? 用雙引號(hào)把整個(gè)名字括起來,用mv改為正常名
移動(dòng):

九.ln -s
ln -s 源文件地址/file1.txt file1_1.txt 如果有小任務(wù)交代? 在當(dāng)天目錄下建立一個(gè)file1.txt的軟連接(用ll查看,成功的話是藍(lán)色且顯示鏈接的源文件地址)
刪除軟鏈接過來的文件file1_1.txt不等于刪除源文件
十、
. 當(dāng)前目錄
.. 上層目錄(如果是輸入絕對(duì)路徑,一定要/開頭)
cd 跳轉(zhuǎn)目錄
(如:cd /public/home/hahaha ,如果現(xiàn)在我們已經(jīng)在hahaha目錄下,想回到home目錄下,可以: cd /public/home 或者直接 cd ..)
mkdir xxx 建一個(gè)名為xxx的文件夾
ls 查看當(dāng)前目錄下所有文件
ll 查看當(dāng)前目錄下所有文件,且顯示文件權(quán)限,建立時(shí)間,文件大小等等信息
ll -rth??顯示文件大小的時(shí)候顯示為xxM這樣的,而不是一串?dāng)?shù)字
ll -h
ll -la 還會(huì)顯示隱藏文件(如果我沒記錯(cuò)的話)
less 查看文件內(nèi)容(less里也可以像vim里意向用:n跳行數(shù)或者用/xx查找關(guān)鍵字,q退出)
less -S 怎么說呢,就是查看文件內(nèi)容的時(shí)候,讓文件排的更整齊
rm file 刪除(我記得如果文件名里有空格啥的,也可以用“”包起來然后直接刪除)
rm -r 文件夾名/文件 逐級(jí)刪除(刪除文件夾)(r:recursive)
cp 原文件路徑/file1? 拷貝的文件路徑/file1 復(fù)制文件
(和其他所有命令一樣,如果是復(fù)制到當(dāng)前文件夾下,后面的“拷貝的文件路徑”不需要加,直接cp 原文件路徑/file1? file1_1 就好)
cp -r 復(fù)制整個(gè)文件夾
~/.bashrc? ~目錄下(直接cd或者cd ~到達(dá))有個(gè)叫.bashrc的文件,里面有很多環(huán)境變量配置信息,可在里面配置,配置后 source ~/.bashrc 生效
du -sh * 查看當(dāng)前目錄下所有的文件及文件夾大小


十一、壓縮和解壓縮:linux 壓縮和解壓縮命令gz、tar、zip、bz2_cape的博客-CSDN博客_gz壓縮命令
gzip:縮后的格式為:*.gz,壓縮后不會(huì)保留原文件,不能用于壓縮目錄,如:gzip file
gunzip:解壓gz后綴的壓縮文件,如gunzip file.gz
zip:可以壓縮目錄,可以保留原文件(-r遞歸),zip尾綴
unzip:解壓縮



十二、 alias

十三、split?

十四、cat?
cat 1.csv 2.csv >3.csv 縱向拼接(1在上,2在下)(上面寫了橫向拼借,這里是縱向)