宏基因组学习日志—2022.7.3

宏基因组学习日志—2022.7.3
常用命令—cut
cut:按指定条件从文件的每一行提取字符、字段
-d:自定义分隔符(默认制表符)
-f:与-d一起使用,指定显示区域
eg:$cut -f 2 test.txt(提取该文件的第二列信息)
$cut -f 3 -d ‘_’ test.txt(以“_”为分隔符,查看第三列信息)
常用命令—特殊符号
|:管道符,将左边命令的标准输出传递给右边命令作为其标准输入
>:重定向(把左边所有内容输出给右边)
&:后台符,将一个命令直接放到后台运行
nohup:不挂断的运行命令,与&配合使用,运行程序可以在终端关闭后继续运行
所有输出重定向到nohup.out文件中
>>:表示往现有文件中追加内容
eg:$cut -f 2 test.txt | head >a.txt(若a.txt为新文件,则左边内容加到a.txt中,若a.txt之前已存在,则a.txt原有内容会被左边覆盖)
$cut -f 2 test.txt | head >> a.txt
$cat stat.txt snpEff_genes.txt >b.txt(合并文件)
$less b.txt
常用命令—sort
sort:将文本文件内容进行排序
-n:按照数值大小进行排序(从小到大)
-r:按相反的顺序排序
-t:指定分隔符
-k:指定区域
eg:$sort -k 2 test.txt(对该文件的第二列进行排序)
$sort -k 2 test.txt |head(显示前10行)
$sort -k 2 test.txt | head -n 20(显示前20行)
$sort -nk 2 test.txt | head -n 20(前20行按从小到大排序)
$sort -rnk 2 test.txt | head -n 20(前20行按从大到小排序)
常用字符—uniq
uniq:处理重复行(去重)
不加任何参数,去除重复行
-c:显示每行连续出现的次数
-d:仅显示连续重复出现的行
-u:仅显示没有连续出现的行
常用命令—awk
AWK是一种用于处理文本的编辑语言工具
awk [F] ‘(condition){operete}’<filename>
-F:指定分隔符
awk默认域分隔符:空格或Tab;$0表示所有域(整行内容);$1表示第一个域,$n表示第n个域(第n列)
if(条件){print“1”}else{print“2”}
if(3<2){print“1”}
eg:$awk ‘($2>1000){print$0}’ test.txt($2>1000时,输出整行)
$awk ‘{if($2>1000){print$0}else{print$1}}’ test.txt
$sort -nk 2 test.txt | awk ‘{if($2>1000){print$0}else{print$1}}’(右边因为文件名与左边一致,故不需要加)
常用命令—sed
sed:可依照指令来处理、编辑文本文件
sed [i] ‘{command}’ <filename>
参数:-i 直接在原文件中修改
sed -n ‘1,5p’ text(显示1-5行)
sed ‘2,5d’ test.txt #(删除文件中的第二行到第五行)
sed ‘s/_//g’ test.txt #(删除文件中的下划线)
sed ‘s/bmk/biomarker/g’ test.txt(将该文件中的bmk替换为biomarker)
$nohup sleep +10 &(运行10秒)
2858(代表pid)
Jobs(查看命令运行状态)
&kill -2 2858(结束进程,非强制),等同于$^c
$kill -9 2858(强制结束)
$kill -15 2858(正常结束)
常用命令—进程控制
top:
Top -u user:只显示某一账号的进程
ps:
ps -ef:显示所有账号的进程详细列表
bg/fg 将正在运行的命令转后台或前台
常用命令—统计命令
wc 统计文件的行数、字数、字节数 wc-l 统计行数
df 磁盘空间统计
df -h
du 文件大小统计
du -sh dir
常用命令—其它命令
find [path] [expression]
-name 按文件名查找
-mtime 按文件更改时间查找,-n表示更改时间距现在n天以内,+10表示距现在n天以外
In [source] [file or dir]
-s 对源文件建立符号连接(软链接)
-i 覆盖既有文件之前先询问用户
$find /share/home/guoyy -name test.txt
$find /share/home/guoyy -mtime +10
$In -s /share/home/guoyy/stat.txt