Linux for 生信

2018-12-11  本文已影响0人  按着易得

Linux基础

/ 根目录
~ 家目录
..上级目录
- 后退目录    
./ 或 . 当前目录
>或>> 重定向  注意:重定向意味着清空文件,重新输入。

vim的使用:按下i编辑,完事后按下ESC再敲:wq即可。
命令 参数 执行对象
PATH="$PATH:/home/bin" 变量赋值举例,注意用:来分割
/dev/null 表示空设备文件

0 表示stdin标准输入
1 表示stdout标准输出
2 表示stderr标准错误
\t 即tab
\n 换行符
mkdir [参数] 目录名 例如mkdir -p test1/test2/test3 例如mkdir -p test1 test2 test3
cd 目录切换  
ls参数:
  -l : 显示长的完整信息  -a : 显示隐藏文件(all)  
  -tr : 按修改时间反向排序 -h : 查看文本大小,以人可读的方式

drwxrwxrwx  d目录l链接-普通文件  r可读w可写x可执行 第一组rwx表自己的权限 第二组是同组的权限 第三组是其他人的权限

创建文本。例如,touch new.txt  例如,touch folder{1..10}.txt

删除。例如,rm *.sam(批量删除)  -i删除前询问 -r递归删除 -f强制删除

复制cp ~qmcui/.bashrc  ./
复制 + 更名cp ~qmcui/.bashrc  ~/.bashrc_qmcui
复制文件夹,把文件夹复制过来到指定目录cp ~qmcui/project  ~/
复制文件夹 cp -r ~qmcui/project  ~/project2/
复制参数
-i:覆盖前询问
-r:复制目录及目录内的所有项目
-f:强制覆盖

less 最常用来查看文本,查看大文本时必用,不能编辑/改变原文本,只能重定向。参数:-S单行显示  -N行号加入编号

vim编辑文本。不用来操作大文本,文本不存在时可保存成新文本。

cat输出/入文本  -n按行数编号   -A  show-all 等价于 -vET
例如,查看小文本全部内容:cat  文本
     输入文本:cat > newfile

head -n 3 展示文本前3行   tail -n 3展示文本后3行

tree树形展示  -d只显示目录   -L num 显示num层目录

mv文件/目录 移动或更名 格式为mv [参数] [目录1] [目录2]
移动:mv 目录1/ 目录2   更名:mv 目录1 目录2  mv 文本1 文本2

history查看历史命令 例如,查看后十行记录history |tail -n 10
查看后十行记录并传给less  history |tail -n 5|less -S
重定向history内容保存起来history > history1.txt
追加后五行到之前文本里history|tail -n 5 >> history1.txt

ln建立链接  格式为ln [参数] [目录1/文本1(源)] [目录2/文本2]
例如,ln -s ~qmcui/.bashrc ~/
建立软链并更名ln -s ~qmcui/.bashrc ~/.bashrc_bk 
注:-s 是代号(symbolic)的意思

下载wget -c link 
注:-c是支持断点续传

查看命令的路径which CMD

查看任务是否在内存中运行  top -c
查看任务 ps -ef |grep userID
杀掉任务 kill PID

压缩/解压
gzip gunzip  对.gz结尾的
tar -cvf   tar -xvf   .tar或.tar.gz或.tgz结尾的
bzip2  bunzip2   或.bz2或.tar.bz2结尾的

压缩文本gzip ~qmcui/.bashrc
解压文本gunzip ~qmcui/.bashrc.gz
压缩文本保留原文本gzip ~qmcui/.bashrc > .bashrc.gz
注:压缩成功会默认删掉源文件

最常用的打包命令tar
格式为tar [参数] [文本(打包之后的)] [文本(源)]
常见例子:
    tar -cvf new.tar  *.txt  注:v为显示过程,f无意义但必须
    tar -xvf old.tar    
    tar -zcvf new.tar.gz ./   
    tar -jcvf new.tar.bz2  *.jpg
    tar -jcvf new.tar.bz2
压缩例子不记忆,一般使用gzip压缩,tar打包。

cut文件切割。-d自定义分隔符 ,默认为制表符。-f:分割符分割文本后,指定显示第几列。
例子,echo $PATH |cut -d ":" -f 1

paste按列操作文本,-d指定分隔符。-s将每个文件合并成行而不是按列粘贴。
例子:
zcat sample1.fa.gz | paste - - - - |less -S
paste fq1 fq2 > fqconfig.txt
paste -d ":" usr usr
paste -s usr usr

find寻找 
例子:
寻找gz结尾文件 find ~/ -name "*gz" 
寻找500M以上文件find ~/ -size +500M

tr转换或删除文件中的字符。-s缩减连续重复的字符成指定的单个字符  -d删除
例子:
cat testfile |tr a-z A-Z   # 小写变大写
echo $PATH | tr -s ":" "\n" |less -S   # 替换:为换行
cat file | tr -s "\n" > new_file   # 删除空行
cat file | tr -d "\r" > new_file    
cat file | tr -s "\r" "\n" > new_file
注:\n是换行,英文是New line。\r是回车,英文是Carriage return

sort排序 。-t指定分隔符  -k指定区域   -n按数值大小排序  -r反序
例子:
1. cut -f 1,3,4,5 Homo_sapiens.GRCh38_MT.79.gtf | grep -v '#!' > tmp
2. sort -r -n -k 3 tmp

uniq去重。 -c显示每行连续出现的次数,-d仅显示连续重复出现的行,
-u仅显示没有连续出现的行

例子,cut -f 2 Homo_sapiens.GRCh38_MT.79.gtf |sort|uniq -c
注: sort | uniq 组合使用。

 wc行数/字符/文本大小计数。-l:计算行数
例如,wc -l ~/.bashrc
     cat ~/.bashrc|wc 

bc数学运算

sed
grep 
awk
上一篇下一篇

猜你喜欢

热点阅读