学习日记-3月

3/24/2017html

pythonpython

利用crossin的编程教室,学习了python的random模块,并用随机数编了一个弱智小游戏。。。linux

linux:正则表达式

利用Sequence Data Analysis Training School这个莫名的网上教程,再次学习和巩固了基本的命令,编程

ls-lists files in a directory  固然还能够加参数,好比-l,-a等等,固然ll至关于ls-l了vim

man+command - provides help for a command.来看。(这个命令相似于软件+ -h)windows

man-k 当你想要进行某种任务,但殊不知道命令时,能够用这个命令,例如man –k list 会列出全部跟list相关的命令。服务器

 

3/25/2017less

python:dom

学习了python的bool逻辑值,True False(注意这两个字母开头要大写,跟VB那种不区分大小写的彻底不同)。而后还要注意=是赋值,而==是相等。

linux:

学习了linux的文件命名

1)特定的字母不能用(额,还没遇到过)    2)linux不能处理在文件名中的空格,好比你mkdir my document,linux会建立my和document两个文件夹。这时候你只有用引号引发来“my document”或者加\反斜线,my\document才能够。  3)linux不区分大小写。

 

3/26/2017

python:

学习了python的for命令,for i in range(1,10),还作了一些题    而后要注意input和raw_input的区别。而后还发现若是你想在一行里面定义多个变量,应该用分号;,而不是像VB同样用:

linux:

从新学习了cd,pwd,mkdir等常见命令,再次感慨下linux的tab补齐功能(忽然想到个人虚拟机上尚未装好vim的插件。。。因此敲python代码的时候仍是很麻烦的,不过仍是等我python到了必定程度再装吧。)

而后发现了又一个神器,history命令,能够看到以前的全部你敲过的命令,而后history命令还能够加参数,好比history 30,能够只显示过去的30条命令,而后你想要用哪条命令,直接!加数字便可,好比!12.(其实加数字提取感受不是很实用唉,还不如在history中选中右键呢直接就能够复制并执行命令了)

而后还试了下gedit。。。发现打不开,还不如vim呢

文档里面讲了三种提取文本的方法(不止于txt),cat more less,笔者推荐了more or less,但cat其实后面加参数也是能够的。这些提取方法再灵活运用liunx的|管道功能,仍是阔以的在有些方面。

而后还提到了more或者less的又一个功能,即你在读完文本后,好比加/ATCG,就能够在你所见的页面下面找ATCG,加?ATCG,就能够在你所见的页面上面找ATCG。而后按n键至关于向上的箭头,N键至关于向下的箭头。

以水稻基因组为例

 

3/27/2017

python:
了解了python的字符串,在python里面单引号和双引号意思是同样的,但当你若是你想表示一段带有英文单引号或者双引号的文字,那么表示这个字符串的引号就要与内容区别开。好比“I‘m Shangguandong”

但能够用\'来表示单引号,做为转译,同时也能够试试\n(做为换行),\还能够再代码中换行而不影响输出结果,具体的这些可见crossin的编程教室以及个人做业。

同时更方便的是"""用三个引号上下框起来,这样随便你单引号双引号了。

而后还学习了字符串的格式化,了解到了%的用法,发现不只能够用来作不一样变量类型之间的替换,还能够在任意地方添加东西。而后强化了个人弱智小游戏

ps:不得不说,python真的真的代码比VB优美多了。。。

 

linux:

复习了cp,基本的规则是:cp + 文件+路径

1)若是你在路径没有加,就会cp在当前的路径下

2)若是你的选择的路径在当前是不存在的,则建立

能够用通配符*,如sgd-RNA/*,这样能够把sgd-RNA文件下的全部文件都拷贝到另外一文件夹。

而cp —R则能够利用递归(recursive)把sgd-RNA文件下包括子文件等等都拷贝

 

复习了rm,rm + 文件名(可多个)

1)当rm空文件夹时,可直接rmdir+文件夹名。但若是文件夹内有内容,则需把全部的内容都清空,再rmdir,或者直接使用递归,rmdir -r

 

进一步了解linux中我最喜欢的一个命令,管道(piping)  "|"

1)当你想看某个目录下的文件(目录,路径貌似有点搞混了),通常会使用ls命令,但有时候ls出来有太多文件,一页放不小,这时候就能够用管道了。这样就能够逐步地把文件list出来。

2)管道其实能够用来提取序列,好比你只想要水稻第3条染色体的序列,就只须要用grep加一些正则表达再| > newfile,就能够把第3号染色体提取出来了。

wc命令,即为(word counting),能够计数用,加个-l啥的就能够干好多事,就好比数ATCGGGG这个再染色体里出现里几回啥啥的。

grep命令,用来搜索,配合正则表达式简直高效的不要不要的。。。。(而后grep还能够加参数,好比 -v ,就等于把ATTCGG所有剔除掉

但grep在搜索一个文本中的特定内容时貌似能够直接搜索,好比 grep ATTCGG rice7.fa --color ,就能够把全部包含ATTCGG的显示出来。

但当搜索目录下的文件名时,grep "R" .就 不能够,仍是得依靠ls . | grep "R" ,ls先列出来,经过管道再给grep搜索

而后忽然机智地想到,若是想要提取第1条染色体和第2条染色体之间的序列(之间赵汀学长用perl试过,但我以为python应该也有,但我还没学到),就能够用以下命令,找到第2条的行数,再用sed命令便可

 

 

3/28/2017

linux:

学习了linux的权限:linux的用户被分为了user,group,others这三组,而后你对于文件又有三种权限,r(read),w(write),x(execute)。

咱们以服务器为例,当你进入服务器后,就会带有一个用户身份(user  ID,UID)和一组身份(group ID,GID)。通常来讲用户信息保存在/etc/passwd中,组信息保存在/etc/group中(虽然我在服务器里没看见。。。)

言归正传,能够看到下面的9位权限说明,以123.py为例咱们依次来解读。

第一个符号表明的是类型,“-”表明这是个文件,“d”表明这是个directory,“l”表明这是个链接(link)或者快捷方式(shortcut)

第一组(后3位)表示,若是个人名片上的用户身份证实我是该文件的拥有者,那么我就能够对该文件有读取(r),写入(w)该文件的权限,但不拥有执行(-,若是拥有执行权限,则为x)该文件的权限。第二组表示,若是个人名片上的组身份证实我所在的组是该文件的拥有组的一员,那么我有从该文件读入和写的权限。第三组表示,若是个人名片显示我既不是拥有者,也不是拥有组的一员,那么我只有读入的权限。当我想要进行一个读取操做时,Linux会先看我是不是拥有者。

为了改变咱们对文件的权限,咱们可使用chmod命令。

chmod用u,g,o分别带表明user,group,other,用r,w,x表明读写执行

使用规则如 chmod u=rw filename

关于具体的权限,以及linux的一些基本知识,推荐你们能够去

http://www.cnblogs.com/vamei/archive/2012/10/10/2718229.html这个博客,很是的详细。

 

3/30/2017

python:

学习了python的循环嵌套,跟VB应该是同样的(就是缩进要注意点)。

for i in range(0, 5):

 

   print '*',

这样有“,”逗号的话,就会输出一直在一行,若是不加“,”,每次会逐行打印。而后发现vim编辑器我尚未添加degug功能,决定跟tab补全这种插件一块儿,等之后要用到了再添加吧

 

 

linux:

学习了head和tail,能够输出你要读取的文件的前n行或者最后n行,具体使用为

head -n 数字 filename

学习了重定向(Redirection

首先咱们必须了解什么是重定向。每一个命令有输入源和输出目的地,默认行为,是标准输入和标准输出。大多数状况,标准输入是键盘,标准输出是屏幕。能够为单独的操做修改输入和输出,这就是重定向。重定向可使某个命令从源文件输入而不是键盘,或输出到显示器之外的地方(好比存储到文件)

使用<和>来定义输入和输出源。使用>>追加到文件的末尾(即不会覆盖原来的内容,只会在文件的末尾加上内容)。

好比:sort<terms>terms-alpha,就意味着这个命令将terms文件中的条目排序,而后输出到terms-alpha文件。

而前面说过的管道,就是把把输入和输出重定向结合到一块儿,将一个命令的输出当即做为另外一个命令的输入。

sort<terms>terms-alpha | mail fred

执行前面的操做后,将terms-alpha文件邮寄给fred。

前面来自于linux公社,这里咱们再次以服务器上的内容为例

咱们把head的内容输出到了123.txt这个文件中而非屏幕上

咱们把head的内容输入到了管道中,再由管道输出,而后grep“A”,而后再把grep的内容输出到了1234.txt上。

注意:>这个符号常常被用做序列中,好比>Chr01,全部当你搜索>时,必须加上“”,否则会出错。

 学习了linux的压缩包,通常测序数据的压缩包为两种。

一种是.tar.gz files (sometimes names .tgz) ,对其的命令通常为

gunzip < filename.tar.gz | tar xvf -
gunzip < filename.tgz | tar xvf -

也有说直接tar zxvf filename.tar.gz的,下次遇到了再试试吧

一种是.gz 对与这个,只须要gunzip filename.gz,或者你想看内容 用zcat filename.gz

对于linux下的解压,具体能够看这篇文章http://blog.csdn.net/stark_summer/article/details/43233605

其余的一些小tips:

1.proces不想跑了,用ctrl+c

2.结束终端,用exit

3.屏幕太烦,用clear

4.用putty的时候,若是你想要复制什么,高亮(就是用鼠标选择)+右键。从windows到liunx,ctrl+c,右键

啊啊啊啊啊,终于在3月的尾巴结束了基本的linux的了解,转入4月份的学习计划

相关文章
相关标签/搜索