宏基因组Linux学习与应用技巧shell命令linux

Linux命令总结

2019-09-27  本文已影响0人  wo_monic

linux三剑客awk、grep、sed应用环境即常用命令

linux常用命令链接

https://man.linuxde.net/dos2unix

https://man.linuxde.net/命令

https://man.linuxde.net/awk

文本处理

分列输出文件无需循环,分列精品。

awk -F , 'NR!=1{print $2 >$1".txt"}' geneinfo.csv 指定 ,为分隔符,逐行输出第二列的内容到对应的第1列的文件名的txt文件。

cat name| grep zhan 查找name文件里含有zhan的行
grep -v "node" filename 查找filename里不包含node的行

cut参数说明

-b 表示字节;
-c 表示字符;
-f 表示定义字段。

指定分隔符号使用-d 符号
N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
例:
cut -f 5- -d "," test.csv 查看test.csv文件的第5列到最后一列,指定的分隔符号是,
cut -c 1-4 test_Dsuite.txt 查看文件的第1到第4个字符。

文件处理

rename参数讲解: s表示使用正则, 第1-2个/之间是要匹配的内容,$表示文件结尾。第2个/之后是要替换成的内容,最后跟上要操作的文件 *表示所有文件。注意:perl中''""不等价,此处应该使用的是单引号''

方法1:把文件名拆分处理,可以任意修改文件名

find -name '*.log' -printf %f//n|awk -F'.' '{print $1}'|xargs -i{} mv {}.log xiyun_{}.log

方法2:利用rename

一般的linux下的rename命令比较简单

rename 'test' 'xiyun' '*.log'

把文件名中的某部分字符串替换掉

ubuntu下的rename命令支持正则表达式,因此功能更强大。

方法3:直接利用find和xargs和mv,中间不用awk,这样只能添加后缀名,不能修改文件名。

kill -s 9 `pgrep vim `  #使用pgrep和kill来删除名字为vim的进程。

-进程检测
ps -x |grep fastp|grep -v "grep"|wc -l 统计当前用户的所有运行进程中,名字为fastp的进程数量

进程监控脚本

#!/bin/bash
line=`ps x|grep processname|grep -v "grep"|wc -l`
while [ $line -gt 0 ]
do
    echo "no~"
    sleep 30
    line=`ps aux|grep processname|grep -v "grep"|wc -l`
done
echo "yes!"
image.png

磁盘空间查看

df -lh 查看整个服务器的磁盘分区使用情况
du -lh 查看当前目录的磁盘使用情况

查看服务器运行状态

top 所有信息
top -u username 指定用户的运行信息
ps -ef所有进程信息
ps -x 当前用户的进程

文件查看工具

head filename 查看前几行,

文件传输

常用的文件传输类型有:win-linux和linux-linux
mac没用过不清楚。

在经历了scp传输中断,多个大文件需要重新传输的痛苦后,决定使用支持断点续传的rsync

rsync 传输时,在另一端主机上会生成临时的隐藏文件,通过ls -la可以查看到。等待传输完成或中断时会显示出正常的文件名。
上传数据到远程服务器
rsync -P --rsh=ssh readme.md tang@172.28.218.254:~/chaim/

上一篇 下一篇

猜你喜欢

热点阅读