分类: 转录组测序

生物科学研究测序数据呈指数级别增长,如何从大量数据中挖掘其所包含的生物学意义?通常我们从公司拿到的测序数据或者项目报告,由于序列文件或表格文件比较庞大,在windows电脑Excel打开比较耗时,甚至无法显示完全。linux命令可以帮助大家来解决这类的问题,windows电脑也可以安装“git”来进入命令行操作界面,打开目录和查看文件。

在实际运用过程中,我们通常根据需要,通过管道符“|”同时使用好几种生物信息学Linux命令,避免花费大量时间找软件、写代码,有些情况下可以代替Excel等办公软件。如下就是一些linux命令的高级使用实例。如下是一个宏基因组的NR注释结果示例文件:

grep -v ‘^Taxon’ nr.taxonomy.abundance.xls | cut -d “;” -f 7- |head -5 #从中筛选种级别的注释结果,并展示前5行。
cut -d “;” -f 6- nr.taxonomy.abundance.xls| grep “Nitrososphaera” | head #从中筛选”Nitrososphaera”属的注释结果,并展示前5行。
cut -d “;” -f 7- nr.taxonomy.abundance.xls | awk -F “\t” ‘NR>1{sum = $2+$3+$4+$5+$6+$7;print $1″\t”sum}’ | head -5 #计算各个种在所有样本种的丰度之和,展示前5行。
Linux下的所有操作都是通过众多的命令行实现的。我们只需要掌握如下的常用命令的常用方法,就能熟练使用Linux系统了。大家可以根据下面的说明文档,在Linux上多次练习,从而融会贯通的使用Linux的众多命令。

文件和目录管理

1.1管理目录

1、cd命令说明:切换目录。Linux文件系统的目录结构是树状级结构图。cd(change directory)命令,可以将目录,从当前目录切换至目标目录。

语法:cd <dirname>

实例:cd /path/dirname #切换到指定的/path/dirname目录

cd ~ #切换到家目录

cd ../ #切换到上一层目录

cd / #切换到根目录

2、ls和ll

命令说明:ls和ll都可以列出目录下的文件、子目录。ls只列出文件名或目录名。而ll是ls -l的别名,会列出该目录下的文件或目录的详细信息。

语法:ls [-alrtAFR] <dirname/filename>

常用参数:-l 除文件名外,列出文件类型、权限、所有者、大小等详细信息。

-h 文件大小的单位由字节Byte,变换为“K”、“M”、“G”、“T”(需要与-l同时使用)。

-a 显示“.”开头的隐藏文件。

-t 文件按照时间顺序,越新的越前面。

3、mkdir

命令说明:创建文件夹(目录)。

语法:mkdir [-p] <dirname>

常用参数:-p 如果需要创建目录的父目录(上层目录)不存在,就一并创建父目录。

实例:mkdir -p /new_dirname/test_dir #创建目录/new_dirname/test_dir(当new_dirname不存在的时候,一并创建)。

4、pwd

命令说明:显示当前工作目录的绝对路径。含有“.”、“..”和“~”等的路径为相对路径,只由目录名称和“/”组成的为绝对路径。

语法:pwd

图片

1.2处理文件

创建文件

1. touch

命令说明:创建一个空的新文件。
语法:touch <filename>

2. vi

命令说明:vi有三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。在插入模式下,我们才可以输入文字。然后在底行模式下,将文件保存。
语法:vi <filename>

文件的复制、移动、链接、删除

1. cp

命令说明:复制文件或目录,相当于Windows系统下的copy。
语法:cp <source dirname/filename> <target dirname/filename> [-r] 常用参数:-r 将源目录及其子目录下的所有文件,复制到目标目录下(复制目录的时候,必须使用)。
实例:cp file_a dir_name #将文件file_a拷贝到目录dir_name下。
cp file_a file _b #将文件file_a复制并重新命名为file_b。
cp -r dir_a dir_b #将目录dir_a及其子目录下的所有文件,拷贝到目录dir_b下。

2. mv

命令说明:用于将文件移动到目标目录下;重命名文件或目录;移动目录到目标目录下。
语法:mv <source diename/filename> <target dirname/filename>
实例:mv file_a file_b #将目录file_a重命名为file_b。
mv dir_a dir_b #如果目录dir_b不存在,则将dir_a重命名为dir_b;如果目录dir_b存在,则将dir_a移动到dir_b下。
mv file1 file2 dirname1 test_dirname #将文件file1和file2、目录dirname1,移动到test_dirname下。

3. ln

命令说明:为某个文件在另一个位置建立一个同步的链接。当我们需要在不同目录下使用同一个文件或目录的时候,不需要在不同目录下重复保存该文件。我们可以将文件放在某个目录下,在其他目录下,链接(link)该文件,避免重复占用磁盘空间,减少资源浪费。
语法:ln <source dirname/filename> <target dirname/filename> [-s]
常用参数:-s 默认创建硬链接。使用参数-s,则创建软链接。软链接,以路径形式存在,相当于Windows系统的快捷方式。硬链接,以文件副本形式存在,实际不占用内存(和源文件)指向同一个数据块。删除源文件后,软链接失效,但是硬链接不受影响。
实例:ln file_a file_b #对源文件file_a,建立一个硬链接file_b。
ln -s file_a file_b #对源文件file_a,建立一个软链接file_b。

4. rm

命令说明:删除文件或目录。
语法:rm [-rif] <dirname/filename>
常用参数:-r 将目录及其子目录,逐一删除。对目录执行删除操作,必须加上-r。
-i 在执行删除操作之前,会进行逐一询问。
-f 不询问,直接删除,相当于强制删除。
实例:rm -r dirname1 filename1 #删除目录dirname1、文件filename1。
图片

文件内容查看

1. cat

命令说明:将文件内容显示到标准输出(或使用管道命令“|”传递作为下一个命令的标准输入,或使用“>”重定向到其他文件)。
语法:cat [-n] <file1 file2 …> [> new_file] 常用参数:-n 在每行内容之前,加上行号显示。
实例:cat -n file #将file的内容加行号,显示在屏幕上。
cat file1 file2 > new_file #将file1和file2的内容,重定向到new_file中。(file1的内容在前,file2的内容在后。)
cat file1 file2 >> new_file #将file1和file2的内容,依次追加到new_file后。
cat file | wc -l #使用cat查看file内容,再传递到wc -l计算文件的行数。

2. less

命令说明:查看文件的内容。
语法:less [-SN] <file>
常用参数:-S 当每行长度长于屏幕宽度的时候,默认显示在下一行,使用-S则不显示在下一行。
-N 显示行号。
实例:less -SN #使用less打开文件后,可以使用“Page Up”向上翻页,使用“Page Down”向下翻页,使用“/pattern”向下匹配。

3. head

命令说明:显示文件开头部分的内容。

语法:head [-n] <file>
常用参数:-n <number> 显示文件前number行的内容(默认显示前10行)。
实例:head -n 20 file #显示文件前20行的内容。

4. tail

命令说明:显示文件末尾部分的内容。
语法:tail [-n] <file>
常用参数:-n <number> 显示文件末尾number行的内容(默认显示末尾10行)。
实例:tail -n 20 file #显示文件末尾20行的内容。

5. cut

命令说明:显示文件的每一行指定范围内的字符。
语法:cut [-cdf] <file>
常用参数:-c 以字符为单位进行分割。-c num1-num2意为显示文件的每一行的第num1到num2的字符。
-d 自定义域分割符,默认tab键“\t”。
-f num1-num2 显示域分割符分割后,每行第num1到num2的域。
实例:cut -c 1-5 file #显示文件的每一行的前5个字符。
cut -d “ ” -f 1-5 file #显示以空格分割后的,文件的前5列。

文件压缩

1. gzip

命令说明:压缩文件或目录,生成以“.gz”结尾的压缩文件。

语法:gzip [-r][-1…9] <filename/dirname>

常用参数:-r 对目录下的文件进行压缩,但目录本身不压缩。

-1…9 数值越大,压缩效率越高(默认6),压缩速度越慢,生成的压缩文件越小。

实例:gzip file1 #对源文件file1进行压缩,生成file1.gz,并删除源文件file1。

解压命令:使用gunzip或gzip -d,例如gunzip file1.gz。

2. zip

命令说明:压缩文件或目录,生成“.zip”结尾的压缩文件。

语法:zip [-r][-1…9] <filename/dirname>

常用参数:-r 对目录下的所有子目录、文件一起压缩。

-1…9 数值越大,压缩效率越高(默认6),压缩速度越慢,生成的压缩文件越小。

实例:zip -r new.zip dirname1 #将目录dirname1压缩到new.zip压缩文件内。

解压命令:unzip,例如unzip new.zip。

3. tar

命令说明:Linux下最常用的打包程序,生成的包通常称为tar包(以“.tar”结尾)。可以在tar包的基础上,使用压缩命令,进一步压缩处理。

语法:tar [-cxzvf] <tar_file>

常用参数:-f 指定tar文件,后面需要立即接tar文件名,不能再接参数。

-c 创建一个tar文件。

-x 从tar文件中,获取源目录和源文件,相当于打开tar包。

-z 和-c同用,调用gzip来压缩tar文件;和-x同用,调用gunzip来解压缩tar文件。

-v 显示命令执行的过程。

实例:tar -cf test.tar file1 dir1 #将文件file1、目录dir1打包到test.tar中。

tar -xf test.tar #提取test.tar中的文件。

tar -czvf test.tar file1 dir1 #将文件file1、目录dir1打包并压缩为test.tar.gz,显示详细过程。

tar -xzvf test.tar file1 dir1 #将test.tar.gz解压缩,提取其中文件。

鉴于篇幅较长,未完全展示,我们已将全文打包, 扫码即可下载全文文档

最近文章