1.Linux基础

Linux基础和基因组注释文件解读

I.上机指南


Linux命令行格式:命令 (空格)【选项】(空格)参数1 参数2...

注意:命令、选项、参数之间一定要用空格来区分!

常用命令:

man 查询某一命令的具体参数,例如:man wget

mkdir 创建文件夹

cd 目录切换(区别相对路径与绝对路径)

ls 显示文件夹中文件列表

cat 直接查看文件

wc 查看文件行数、字数

cut 取出文件中的特定列或字符

sort 排序

uniq 去重复

grep 文件中关键词搜索,返回行

chmod 修改文件的访问权限

Note:

更多Linux命令使用指南详见附录

II. 上机任务


1. 了解基因组注释文件 (gff/gtf)

1.1 了解gff和gtf文件格式

Reference linkhttp://www.genome.ucsc.edu/FAQ/FAQformat.html

1.2 下载yeast的基因组注释文件

1.2.1 先创建一个自己的文件夹

mkdir my_folder

1.2.2 下载

1) 下载方法1: 可以从terminal下载:

wget http://www.ncrnalab.org/lulab/public/1.gtf.gz

2) 下载方法2: yeast基因组注释文件可以从浏览器下载:

Download Link 1

Download Link 2

3) 下载方法3: 该文件在"虚拟机"中已经下载好,位置在/home/cs/Bioinfo_Lab/0.Linux/myfolder下,文件名为 *.gtf.gz 可以考到自己目录下:

cp /home/cs/Bioinfo_Lab/0.Linux/*.gtf.gz  .

Note: 星字符:* 可以代表任何字符,称为wildcard。

1.2.3 解压缩

首先将*.gtf.gz放到自己创建的目录下(可以使用cp或者mv命令), 然后解压缩该文件:

gunzip *.gtf.gz

Tips

1) 命令cp、文件“./*.gtf.gz”、目录“my_folder/”之间均存在空格。

2) 在Linux命令行中, "." 可代表当前目录,".."可代表上一层目录。

3) tab键可以实现命令名及文件名的自动补全。

1.3 统计所下载gff/gtf文件的大小,行数和exon数目

命令示范:

man ls
ls -al *.gtf
wc -l *.gtf
cut -f 3 *.gtf | sort | uniq -c

Tips

1) “|” 是管道命令操作符, 它可以将左边命令传出的正确输出信息(standard output)作为右边命令的标准的输入(standard input). 详细信息请看 IV.附录 3. | 管道

2. 学会使用一个文本编辑器(vi, nano, emacs)编辑新的文件

写一个可执行文件,寻找长度最长的3个exon, 汇报其长度。

命令示范:

vi run.sh

rush.sh的文件内容:

#!/bin/bash   
grep exon *.gtf | awk '{print $5-$4+1}' | sort -n | tail -3

(第一行语句一般用来声明这个脚本使用的shell名称,“#”后的语句可作为批注,在执行时会被忽略)

关闭vi编辑器,返回命令行后键入:

chmod +x run.sh
./run.sh

Note:

vi编辑器的使用方法详见附录

III. 上机作业:


  1. 查找、理解并注释上述每一个语句和参数的意义

  2. 解释gtf/gff文件中第4、5列($4,$5)代表什么,exon长度应该是$5-$4+1还是$5-$4?

  3. 有新的方法加分,但必须注释清楚每个语句和参数的意义和结果。

参考答案

IV. 附录:Linux常用命令


1.创建、删除与复制文件、文件夹

cd 目录切换(区别相对路径与绝对路径)

cd               #切换到家目录

cd /home/usrs    #切换到/home/usrs目录

cd ..            #返回上级目录

cd ../..         #返回上上级目录

mkdir 创建文件夹

mkdir folder

cp 复制文件

cp old_file new_file

mv 重命名或移动文件、文件夹

mv file_old_name file_new_name        #文件重命名

mv folder_old_neme folder_new_name    #文件夹重命名

mv file new_folder/                   #将文件移动到新目录

rmdir 删除文件夹

rmdir folder

rm 删除文件、文件夹

rm file         #删除文件

rm -r folder    #删除文件夹

2.读写文件、文件夹

ls 显示文件夹中文件列表

ls -la    #显示全部详细格式

ll        #显示文件详细信息

cat 直接查看文件

more/less 翻页查看文件

sed 编辑文件

sed ‘s/A/a/g’ file     #将文件中所有的A替换为a

sed -n ‘3,6 p’ file    #打印第3到6行

sed ‘5 q’ file         #打印前5行

> 重定向,将终端结果输出给文件,会创建新文件或者覆盖原文件

sed ‘s/A/a/g’ file > new_file

>> 重定向,将终端结果输出给文件,内容会加在原文件内容尾部

sed ‘5 q’ file >> new_file

3.文件信息提取

wc 查看文件行数、字数

 wc -l file     #查看文件行

 wc -c file     #查看文件字数

head 查看文件前几行

head -n [N] file     #查看文件前N行

tail 查看文件后几行

 tail -n [N] file    #查看文件后N行

grep 文件中关键词搜索,返回行

grep ‘CDS’ file       #显示匹配上 ‘CDS’ 的所有行

grep -v ‘CDS’ file    #显示没有匹配上’CDS’的所有行

grep -w ‘CDS’ file    #必须与整个字匹配,如果另外有’CDSs’这样的字符串,就不会与之匹配

grep -x ‘CDS’ file    #仅匹配整行,即只显示整行就是’CDS’的所有行

cut 取出文件中的特定列或字符

cut -f [N] file            #取出第N列

cut -d “;” -f [N] file     #以”;”作为输入字段的分隔符(默认为制表符),取出第N列

sort 排序

sort -n file                 #按照数值排序(默认为按照ASCII码排序)

sort -k start[,stop] file    #按照指定的字段进行排序;start指定开始处字段,stop指定结尾处字段;如果省略stop,默认到行尾

uniq 去重复

 uniq -c     #去重复并且计算重复频率

| 管道,将左边命令的标准输出作为右边命令接受的标准输入

head -n 20 file | tail -n 10

# 输出file的前20行,通过管道转发给tail 作为输入内容。

cut -f 3 file | sort | uniq -c

# 输出file的第三列,通过管道转发sort 作为输入内容进行排序之后的结果,通过管道转发到 uniq , 去重复并且计算重复频率。

Tips

1)管道命令只处理前一个命令正确输出,不处理错误输出

2)管道命令右边命令,必须能够接收标准输入流命令才行。

4.查找文件

which 寻找可执行文件,显示路径

whereis 寻找特定文件

locate 按照关键词搜索文件

5. 查看、修改文件权限

用户及用户组:文件所有者u (user),用户组g (group),其他人o (other),所有人a (all)

chmod 修改文件的访问权限,分为数字模式和符号模式。

数字模式:

chmod 755 file

chmod -R 755 folder     #-R  修改该目录中所有文件的权限

三位数分别表示文件所有者,用户组,其他人

r表示可读,w表示可写,x表示可执行

用数字表示:可读r=1,可写w=2,可执行x=4

例如:777表示所有用户对文件具有读、写、执行权限;755表示文件所有者对文件具有可读、可写、可执行权限,其他用户只具有可读、可执行权限

符号模式:

chmod u+x,go=rx file   #使file文件的所有者加上可执行权限,将用户组和其他人权限设置为可读和可执行

chmod o-x file         #使其他人对file文件除去可执行权限

chmod -R a+x folder    #使所有人对folder文件夹加上可执行权限

符号:+加入,-除去,=设置

6.文件、文件夹的打包,压缩与解压缩

gzip 压缩文件

gzip file

gunzip 解压缩文件(.gz文件)

gunzip file.gz

tar 打包压缩文件、文件夹的产生与解压缩

tar -zcv -f folder.tar.gz folder    #打包压缩文件夹(gzip格式)

tar -jcv -f folder.tar.gz folder    #打包压缩文件夹(bzip2格式)

tar –ztv -f folder.tar.gz           #查看压缩文件夹中的文件名(gzip格式)

tar –jtv -f folder.tar.gz           #查看压缩文件夹中的文件名(bzip2格式)

tar -zxv –f folder.tar.gz           #打开包并解压缩(gzip格式)

tar -jxv –f folder.tar.gz           #打开包解压缩(bzip2格式)

-z 压缩(gzip格式)

-j 压缩(bzip2格式)

-c 打包

-v 显示过程

-f 新建的压缩文件名

-t 查看压缩包里的文件名

-x 解压缩

7. 系统及进程

top 监视计算机使用情况

ctrl-c 终止当前进程

ctrl-z 暂停当前进程

bg 让暂停的进程在后台继续运行

fg 把后台运行的进程调到前台

ps 列出所有用户的进程

ps -e     #列出所有的用户的进程

ps -f     #列出详细的列表

kill 终止特定进程

kill PID_list     #终止PID进程

date 显示系统的时间和日期,可用于为程序运行时长进行计时

8.文本编辑 Vi /Vim

3种工作模式: 编辑模式、 一般模式(Visual)、命令模式.

模式切换方法:

编辑模式到一般模式: 按 Esc

一般模式到编辑模式: 输入 “i、a、o”等

一般模式到命令模式: 输入“:、/、?”

1. 一般模式下:

上下左右移动光标: 键盘方向键

屏幕向下移动半页: ctrl+d

屏幕向上移动半页: ctrl+u

移动到当前行的最前面字符处: ^ 或者 0

移动到当前行的最后面字符处: $

移动到文件的第一行: gg

移动到文件的最后一行: G

移动到文件的第 n 行: n

复制: y

复制: nyy (将当前行开始的 n 行内容复制到缓冲区)

粘贴: p

粘贴: p (将缓冲区的内容复制到光标所在处)

删除: d

删除: ndd (删除当前行及其后 n-1 行)

n 移动到下一个 string 字符串

N 移动到上一个 string 字符串

取消前一次操作: u

重做前一次操作: ctrl+r

查找字符串:

/string       #向光标之下查找字符串 string

?string      #向光标之上查找字符串 string

替换字符串:

:%s/string1/string2/
2. 命令模式下:

文件存盘: :w

存盘并退出: :wq

不存盘退出: q!

打开文件: :r file_name

新建文件: :e file_name

文件另存为 : :w file_name

移动到指定的行处: :n

鼠标定位: :set mouse=a

自动缩进: :set autoindent

显示行号: :set number

执行 shell 命令: :!command

3.编辑模式下:

可进行文本编辑。

V. 更多阅读


更多Linux命令详见

  • 《“笨办法”学python》附录“命令行快速入门”
  • 《鸟哥的Linux私房菜-基础学习篇》(第6、7、9、10章)
  • 简明Vim攻略:原文链接 中文版链接 a

results matching ""

    No results matching ""