常用的linux命令
1. 命令邏輯
在liunx中幾乎所有命令以及軟件運(yùn)行的邏輯茵休,都是
命令或者軟件名開頭+具體運(yùn)行參數(shù)+文件名
命令邏輯(格式):
命令 + 參數(shù) + 文件
options parameter filename
例子1:
tar -zxvf data.tar.gz
例子2:
bowtie -v 0 -x 參考基因組 -1 reads1 -2 reads2 -S 輸出文件
在例2中薪棒,
bowtie為命令;
-v,-x,-1,-2,-S都為參數(shù);
參考基因組泽篮,輸出文件盗尸,reads1/2為文件
2. 命令快捷鍵
pwd: print working directory 顯示工作目錄
cd: change directory 切換目錄
ls: list information about the files 顯示當(dāng)前目錄文件信息
. : 當(dāng)前目錄
..: 上級(jí)目錄
~ : 家目錄
/ : 根目錄或者目錄分隔符
Tab :補(bǔ)全
Ctrl C : 終止任務(wù) #遇到刷屏的時(shí)侯柑船,很有用
Ctrl U : 剪切光標(biāo)位置到行首的字符
Corl K : 剪切光標(biāo)位置到行尾的字符
Ctrl L : 清屏
Ctrl E : 回到行尾
Ctrl A : 行首
Ctrl W : 剪切一個(gè)單詞
Ctrl Y : 粘貼
Ctrl Z : 暫停任務(wù)
3. CD命令(切換文件夾)
cd ##切換到上層目錄 相對(duì)路徑
cd ../.. ##切換到上上層目錄 相對(duì)路徑
cd / ##切換到根目錄
cd /bin ##切換到根目錄下的bin帽撑,絕對(duì)路徑
cd ~ ##回到用戶家目錄
cd ##同上
cd - ##返回上一次的工作目錄
4.ls 顯示當(dāng)前目錄文件信息
-a ##列出全部文件,包括隱藏文件
-l ##列出目錄詳細(xì)信息
-h ##將目錄容量轉(zhuǎn)換為人類易讀方式 human
-s ##以文件大小排序 size
-t ##以時(shí)間排序 time
-R ##遞歸目錄列出文件
-d ##顯示目錄本身鞍时,而非目錄下文件亏拉、
我常用:ls -ltAh
每次輸很麻煩扣蜻,可以將這個(gè)命令寫入到.bashrc文件中,
以后每次輸入lr就可以了及塘,如下圖莽使。
vim ~/.bashrc
alias lr='ls -ltAh --color'
5.建立文件夾或者文件
創(chuàng)建文件夾:
mkdir make a directory
mkdir fileName
創(chuàng)建文件:
touch 摸出一個(gè)文件,空格連續(xù)創(chuàng)建多個(gè)文件夾
touch 2 3 4 5
> 標(biāo)準(zhǔn)重定向符允許我們創(chuàng)建一個(gè) 0KB 的空文件笙僚。
vim fileName
6. 文件命名規(guī)則和方式
規(guī)則:
不要用 / 芳肌,所有的字符都合法。
空格符肋层、制表符亿笤、特殊字符 @ $ & ( ) - 等,
最好不要用栋猖。
方式:
連字符間隔
my_first_type
蛇形命名
myFirstName
一般用連字符間隔更好一點(diǎn)净薛,避免出錯(cuò)
7.文件移動(dòng)刪除復(fù)制命名
- 移動(dòng) mv filename 路徑
- 重命名 mv file file2
- 復(fù)制 cp filename 路徑
- 刪除 rm 文件名
- 批量刪除 rm -rf *共有文件名部分
- [-f] ## force 強(qiáng)制刪除
- [-i] ## 在刪除前提醒
- [-r] ## 刪除文件夾
例如 rm -rf *fastq
刪除所有以fastq結(jié)尾的文件。
8.創(chuàng)建軟鏈接
- 相當(dāng)于創(chuàng)建快捷方式
- ln link 鏈接
- 軟鏈接(常用)
- 硬鏈接(默認(rèn))
- 常見參數(shù):不加參數(shù)為硬鏈接 加 -s 軟鏈接
- ln -s 路徑 (絕對(duì)路徑)
- ln -s 目標(biāo)文件 目標(biāo)路徑
9.文件夾和文件管理
- tar : tape archive 壓縮或者解壓文件
- -c ## 創(chuàng)建新的壓縮文件
- -x ## 解壓縮
- -f ## 輸出結(jié)果到文件或設(shè)備
- -v ## 在處理文件時(shí)顯示進(jìn)度
- -j ## 輸出bzip2
- -z ## 輸出給gzip
- 解壓 (常用)
- tar -zxvf 壓縮包名
- tar -zxvf *tar.gz (批量解壓)
- 壓縮 (常用)
- tar -zcvf 壓縮后的名稱 待壓縮文件名
10. 文件查看
- cat
-A ## 列出所有內(nèi)容
-n ## 打印出行號(hào)
-b ## 參數(shù)僅打印出非空白行號(hào)
cat >file [>重定向] 看到的輸出的一個(gè)文件里
cat >>file 不覆蓋原文件內(nèi)容蒲拉,添加內(nèi)容到文件里
- zcat 查看壓縮文件
- tac 逆向查看
- head 看頭十行 -n ##參數(shù)看多少行
- | 管道符 ## 前一個(gè)命令結(jié)果 輸出到 下面命令
- tail -n 100 ##看后100行,默認(rèn)10行
- more 主頁查看 空格翻頁肃拜,回車換行。
- less
- -N 顯示行號(hào)
- -S 單行顯示
- zless 查看壓縮文件[[#^ua4qw9]]
- q 退出
- 空格翻頁
- enter 下一行
- 上下左右查看文本內(nèi)容
常用 less -ns 單行查看并且顯示行號(hào)
11. 文本查看 操作 統(tǒng)計(jì)
- wc 統(tǒng)計(jì)文本 words count
- -l 統(tǒng)計(jì)行數(shù)
- -w 統(tǒng)計(jì)字符串?dāng)?shù)
- -c 統(tǒng)計(jì)字節(jié)數(shù)
- cat fileName | wc -l
- cut #####文本切割
- -d ## 指定分隔符 默認(rèn) \t (制表符)
- -f ## 輸出哪幾列 (字段fields) 5雌团,1-3
- less -NS 文件名 | cut -f 數(shù)字(第幾列)
- less -S 文件 | cut -d 'F' 1
cat NPB_bwa_clean.out | cut -f 98,698 > NPB_bwa_clean_600line.bam
- sort #####排序
- -n 按照數(shù)值從小到大排序
- -V 按照字符串中含有的數(shù)值進(jìn)行排序
- -r 逆向排序
- -k 指定區(qū)域
- -t 指定分隔符
- uniq :####去除重復(fù)行(只能去除相連的重復(fù))
- -c 統(tǒng)計(jì)每個(gè)字符串連續(xù)出現(xiàn)的行數(shù)
- cat file1 | cut -f 3 | sort | uniq -c
- paste #####文本合并(合并到文件的右邊)
- -d 指定分隔符
- -s 按行合并
- cat 文件1 文件2 > 文件3 用于文件拼接
12. 文件字符編輯
- tr #### 字符替換
- -d 刪除指定字符
- -s 縮減連續(xù)重復(fù)字符
- cat 文件名 | cut -f 4 | head | tr ' ' '\t'(把空格替換成tab鍵)
- grep 文本搜索工具燃领,可以使用正則表達(dá)式匹配模式搜索文本,并把匹配行打印出來
- -w word精確查找某個(gè)關(guān)鍵詞
- -c 統(tǒng)計(jì)匹配成功的行的數(shù)量
- -v 反向選擇辱姨,即輸出沒有沒有匹配的行
- -n 顯示匹配成功的行所在的行號(hào)
- -r 從目錄中查找pattern
- -e 指定多個(gè)匹配模式
- -f 從指定文件中讀取要匹配的pattern
- -i 忽略大小寫
正則表達(dá)式 是對(duì)字符串操作的一種邏輯公式柿菩,就是用事先定義好的一些特定字符,及這些特定字符的組合雨涛,組成一個(gè) ”規(guī)則字符串”枢舶,這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種過濾邏輯。
- ^ 行首
- $ 行尾
- . 換行符之外的任意單個(gè)字符
- 替久?匹配之前項(xiàng)0次或者一次
- + 匹配1次或者多次
- * 匹配0次或者多次
- {n} 匹配n次
- {n,}匹配至少n次
- {m,n}至少m,最多n
- [] 匹配任意一個(gè)
- [^] 排除字符
- | 或者
- cat fileName | grep '^A'
- cat fileName | grep ')$'
流編輯器 一般用來對(duì)文本進(jìn)行增刪改查(直接顯示屏幕上)
- sed -選項(xiàng) ‘腳本’ 文件名
- -n 禁止顯示所有輸入內(nèi)容凉泄,只顯示經(jīng)過sed處理的行
- -e 直接在命令模式下進(jìn)行sed的動(dòng)作編輯,接要執(zhí)行的1或多個(gè)命令
- -i 直接修改讀取的文件內(nèi)容蚯根,不輸出
- script 腳本
- 2 取第二行
- 2,4 取第二行到第四行
- 2后众,$ 取第二行到最后一行
- 2~3 從第二行開始,每隔三行取一行
- 2颅拦,+4 取第二行到2+4行
- /pattern/ 匹配上 pattern 的行
- [!]表示否定
- a: append 在指定行**后**添加一行內(nèi)容為 a 后面接的字串
- i: insert 在指定行**前**增加一行 ,內(nèi)容為 i 后面接的子串
- -d: delete 刪除某一行或者某幾行蒂誉,也可指定刪除匹配上的行
- c: change 改變指定行的內(nèi)容
- s 替換 使用格式為 ’s/pattern(要替換的字符)/new(字符)[flags]'
把pattern替換成new,默認(rèn)只替換一個(gè)距帅,可以指定flag替換多少
- y 轉(zhuǎn)換 實(shí)現(xiàn)字符一對(duì)一轉(zhuǎn)換 格式 ‘y/inchars/outchars/'
- p: print 把匹配或者修改的行打印出來右锨,通常與-n聯(lián)用
- sed提取某一行
sed -n '1,10p' > a.txt
- 統(tǒng)計(jì)特定字符串出現(xiàn)的次數(shù)
grep -o targetStr 文件名 | wc -l
grep -o targetStr_1\|targetStr_2\|targetStr_3…… 文件名 | wc -l
awk -v RS="@#$j" '{print gsub(/N/,"&")}' 文件名
本文由mdnice多平臺(tái)發(fā)布