Day 2 转录组分析--需要学会的linux操作

Linux操作系统为生物信息学的数据处理提供了很好的平台,因此,掌握一些高效的Linux系统操作技巧能够让我们的工作更加便捷。“优秀”的操作习惯就如同一把强有力的工具,panda都一步一步得试着操作了一遍,这是吸取别人优秀操作的机会,一定不能错过~~

1.简单的基础命令

  • pwd 打印当前目录的完整路径
  • ls 列出当前目录中的内容
    -l 表示用列表形式列出
  • > 覆盖原文件
  • >> 添加到原文件底部
  • cd change directory
  • mkdir 创建目录
    mkdir $(date +%F) 创建以今天日期为名称的目录
  • rmdir 删除空目录
    删除多个空目录操作: find . -type d -empty -print | xargs rmdir
    对机器讲的话 翻译成 人话:find(查找) .(当前目录下的) -type(类型为) d(目录) -empty(空的) -print(打印出来) | xargs(把管道符前打印的目录一个一个的执行) rmdir(删除任务)
  • rm 删除文件或目录
    -r 表示递归删除(一个目录中包含层级的文件时,可以用这个参数把整个目录删掉)
    -f 表示强制删除(不要提示)
    (rm -rf 强制把多级目录删掉,也不要给提示,因此使用要谨慎)
  • touch 新建一个文件
  • mv 重命名或者移动(文件或目录)
  • cat 具有查看文件和定向输出文件的功能
    输入 cat >test.txt之后会有光标提示要输入的内容,然后control + C 停止输入,不过要注意的是:内容书写完毕后要换行再“control + C”,否则最后一行是无法保存的,就像我这样👇,第三行的“o”就没有保存进去!

  • less 也是查看文件的一个命令
    -S 使文本的一行(无论有多长也)只占屏幕的一行
    -N 每一行加上行号
  • head 和 tail
    head -n 5 test.txt 查看test.txt的前5行
    tail -n 5 text.txt 查看test.txt的最后5行

2.练习题

1.在主目录下创建/tmp文件夹,并且使其中包含1/2/3/4/5格式的文件夹系列
2.在创建好的文件夹下面,创建文本文件 xi.txt,并输入内容,例如Hello world, Welcome to bioinfoplanet, Nice to see you。三句话分行显示
3.在tmp/下创建 1~5这5个文件夹,然后每个文件夹下面继续创建 1~5这5个文件夹, 并查看
4.增加一点难度:我想在练习三的每个目录中都放进去一个文件xi.txt,内容还是练习二的内容
5.下载 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,统计该文件总共有几行,含有 H3K4me3 的是第几行
6.下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解压,查看里面的文件夹结构 (提示:了解tree命令)

3.答案

  1. mkdir -p /tmp/1/2/3/4/5 (学会使用-p参数)
  2. cat > xi.txt 然后分3行输入内容:Hello world;Welcome to bioinfoplanet,;Nice to see you(回车键-换行;control+c-停止输入)
  3. 首先pwd确保自己在 tmp/目录下,先创建1-5这5个文件夹mkdir {1..5},然后每个文件夹下面继续创建1-5这5个文件夹 mkdir {1..5}/{1..5},查看使用 tree tmp/(貌似这个操作也可以mkdir -p {1,2,3,4,5}/{1,2,3,4,5})
  4. tmp/目录同时保证 xi.txt也在当前路径,前面已经创建好25个目录的基础上,输入命令echo tmp/*/* | xargs -n 1 cp xi.txt(自己不会做,抄的答案~)
  5. 下载文件命令:wget www.biotrainee.com/jmzeng/igv/test.bed
    统计行 wc -l test.bed or nl test.bed
    寻找行号 grep -n H3K4me3 test.bed
  6. 下载文件命令:wget www.biotrainee.com/jmzeng/rmDuplicate.zip
    解压 unzip rmDuplicate.zip
    查看文件结构 tree rmDuplicate.zip(-p 查看权限;-h 查看文件小;-D 查看创建日期)

我觉得这份答案更详细:https://www.jianshu.com/p/d3be74cb7829
因为panda都是抄他的... ...


👆上面都是跟着豆花的转录组学习教程写的,可是只懂这些在实践中还是不够。于是参考着豆豆的这篇文章生信Linux文本处理三剑客,又深入学习了几个功能强大的命令:

4.vim编辑器

在linux操作系统中,编辑文本不可避免得使用vim,一份vim的小抄(中文版),可以把它保存在浏览器的收藏夹里,每逢操作时记得打开看一看,尝试使用里面的 快捷操作 替换简单粗暴的 土方法,会让我们的work更简单高效~

4.1 vim编辑器显示行号

  • vim的配置文件.vimrc(eg:可以在该文件内加入set number,从而为vim编辑器添加行号)
  • 也可以在vi打开一个文件后,通过:进入 指令列命令模式 ,然后输入set number,这样的话,只会针对此次浏览,在当前文件内显示行号(在此次浏览中,撤销设置行号:set nonumber)
    什么是 指令列命令模式?👇

vim 有三种模式

  • 一般命令模式
    使用vi打开一个文件后,当即呈现在我们面前的这个状态,就是一般命令模式
  • 编辑模式
    在按下「i,I,o,O,a,A,r,R」任意一个字母之后就会进入编辑模式,这种模式下可以编辑文本。如果想要退回一般命令模式,按键盘上的ESC按钮
  • 指令列命令模式
    vi 打开一个文件后,输入「:/ ?」三个中的任何一个按钮,就进入了指令列命令模式

4.2 关于vim的其他小技巧

~ 大小写切换
:%s/old/new/g 替换全部 (g指global全局替换)
:%s/old/new/gc 逐个替换(比较保险,不易出错)
0移动到行首
$移动到行尾
g到达第一行
G到达最后一行

gG也可以通过以下3个来实现
H移动到当前页面顶部
M移动到当前页面中部
L移动到当前页面底部

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章