微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BGI-College生信入门——5、Linux下的软件安装与Vim编辑器

Linux basics

Linux系统下一切皆是文件,Linux文件系统包含排列在磁盘或其他区块存储设备目录中的文件

Linux文件系统是一个树状结构,以“/”目录为根目录
我们通过安装并且调用tree可以查看Linux文件系统的结构

#-d参数表示查看目录,-L参数表示查看的层级
tree -d -L 1

  1. bin实际上就是binaries(二进制文件)的缩写,里面存放的命令可被普通用户和root用户调用
  2. boot,译文是启动(计算机),里面存放着Linux启动时所需的核心文件
  3. dev,是device(设备)一词的缩写,该目录存放的是Linux的外部设备。在Linux系统中,访问设备的方式和访问文件的方式是相同的
  4. etc,即etcetera的缩写,该目录存放系统认安装的配置文件
  5. home,普通用户的主目录,Linux作为多用户操作系统,每个用户的目录都存在于home目录下
  6. lib,指library(库),里面存放着系统最基本的动态链接共享库,其作用类似于Windows系统的DLL文件,简单来说,lib目录下的文件是应用程序、命令或进程正确执行所需的文件
  7. lib64是lib的姊妹文件夹,lib64和lib几乎一样(除了架构级别的差异)
  8. media,是Linux系统对U盘和光驱等识别后挂载的目录
  9. mnt,系统提供该目录是为了让用户临时挂载别的文件系统,例如挂载移动硬盘进行文件传输
  10. opt,是optional的缩写,这是给主机安装额外的软件存放的目录
  11. proc,是Linux内核提供的一个文件系统(伪文件系统),用以在运行时访问内核内部数据结构、改变内核设置
  12. root,该目录为系统管理员目录,也称作超级权限者的主目录
  13. run,该目录是一个临时文件系统,存储系统启动以来的信息。当系统重启后,该目录下的内容即被清除
  14. sbin,即superuser binaries(超级用户的二进制文件),存放着超级用户使用的系统管理程序
  15. srv,用于存放本机提供的服务或数据
  16. sys,是Linux2.6内核开始出现的文件系统sysfs,sysfs文件系统集成了3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统和针对伪终端的devpts文件系统
  17. tmp,是temporary的缩写,用来存放一些临时文件
  18. usr,是unix shared resources的缩写,用户的很多应用程序和文件都存放在该目录下,类似于Windows系统的program files目录
  19. var,是variable的缩写,用以存放不断扩充的文件,如日志文件

图中的/bin、/lib、/lib64和/sbin均有一个箭头符号,指向另外一个路径。实际这里是软连接的用法,相当于Windows下的快捷方式

绝对路径和相对路径

绝对路径,是指从根目录(/)开始的完整的文件路径,如/bin/bash
相对路径,是相对于当前目录位置而言的路径,如当前目录为/home/desktop,想要去到/home/software可以写成以下形式

cd ../software ##..表示上一级目录

常用的目录操作命令

cd,change directory,变换目录
pwd,print working directory,打印当前工作路径
mkdir,makdirectory,创建新目录
rmdir,remove dir@R_502_6440@ry删除空目录
ls,list,列出目录文件
cp,copy,复制文件or目录
rm,remove,删除文件or目录
mv,move,移动文件or目录,重命名

当你换了一台新电脑,首要的工作就是给这台新设备配置相应的软件(打工人的必备素养:-O)

在Windows或Mac电脑上安装软件通常有2种途径:

  1. 经应用商店下载安装
  2. 经软件官方网站下载安装

与之类似,在Linux上也可以通过上述2种方式进行软件安装

1. 通过Linux的“应用商店”——yum或apt软件管理器

###查看Linux发行版,不同发行版上的软件管理工具不同,这里可以理解为安卓的应用商店和苹果的apple store的区别

cat /etc/*-release

Fedora和SUSE系列的Linux发行版使用yum管理器安装软件

yum install <package_name> ##安装指定的软件
yum update ##更新所有软件
yum check-update ##列出所有可更新的软件

Debian系的Linux发行版使用apt安装软件

sudo apt update ##与yum update类似
sudo apt upgrade ##升级软件
sudo apt install <package> ##与yum install类似

2. 通过软件官方网站下载源文件或编译好的包安装

#例子:下载安装sratoolkit

wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.10.0/sratoolkit.2.10.0-centos_linux64.tar.gz

#Ubuntu发行版运行以下命令:
wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.10.0/sratoolkit.2.10.0-ubuntu64.tar.gz

#解压
tar zxvf sratoolkit.*.tar.gz

#测试是否成功安装
fasterq-dump -h

#显示以下软件使用信息则表示成功安装
Usage:
  fasterq-dump <path> [options]

Options:
  -o|--outfile                     output-file
  -O|--outdir                      output-dir
  -b|--bufsize                     size of file-buffer dflt=1MB
  -c|--curcache                    size of cursor-cache dflt=10MB
  -m|--mem                         memory limit for sorting dflt=100MB
  -t|--temp                        where to put temp. files dflt=curr dir
  -e|--threads                     how many thread dflt=6
  -p|--progress                    show progress
  -x|--details                     print details
  -s|--split-spot                  split spots into reads
  -S|--split-files                 write reads into different files
  -3|--split-3                     writes single reads in special file
  --concatenate-reads              writes whole spots into one file
  -Z|--stdout                      print output to stdout
  -f|--force                       force to overwrite existing file(s)
  -N|--rowid-as-name               use row-id as name
  --skip-technical                 skip technical reads
  --include-technical              include technical reads
  -P|--print-read-nr               print read-numbers
  -M|--min-read-len                filter by sequence-len
  --table                          which seq-table to use in case of pacbio
  --strict                         terminate on invalid read
  -B|--bases                       filter by bases
  -A|--append                      append to output-file
  -h|--help                        Output brief explanation for the program.
  -V|--version                     display the version of the program then
                                   quit.
  -L|--log-level <level>           Logging level as number or enum string. One
                                   of (fatal|sys|int|err|warn|info|debug) or
                                   (0-6) Current/default is warn
  -v|--verbose                     Increase the verbosity of the program
                                   status messages. Use multiple times for more
                                   verbosity. Negates quiet.
  -q|--quiet                       Turn off all status messages for the
                                   program. Negated by verbose.
  --option-file <file>             Read more options and parameters from the
                                   file.

./bin/fasterq-dump : 2.10.0

手动安装通常会出现许多Can't locate XXX.pm的报错提示,这是因为软件依赖的perl模块缺失导致的

解决方案:使用cpanm工具来安装所依赖的perl模块

#以CentOS为例

yum search cpanm
yum install -y perl-App-cpanminus.noarch
cpanm install 

进程管理

top #查看进程


  1. 系统当前时间
  2. 系统开机至今经历多长时间
  3. 当前用户
  4. 系统1 min/5 min/15 min的cpu负载信息,当负载值>2说明系统繁忙

5. 当前进程数
6. 正在运行的进程数、睡眠进程数、终止进程数和僵尸进程数

@H_404_214@

7. 用户空间占用cpu百分比
8. 内核空间占用cpu百分比
9. 用户进程空间内改变过优先级的进程占用cpu百分比
10. 空闲cpu百分比
11. 等待输入输出cpu时间百分比
12. cpu硬中断占用百分比、cpu软中断占用百分比和被强制等待虚拟cpu的时间

13. 物理内存总量
14. 使用的物理内存量
15. 空闲的物理内存量
16. 用作内核缓存的物理内存量

17. 交换区总量

18. 使用的交换区总量
19. 空闲交换区总量
20. 缓冲交换区总量

21. PID:进程id;USER:进程所有者

22. PR:进程优先级别,NI值越小越优先执行
23. VIRT:进程使用的虚拟内存总量;RES:进程占用的物理内存;SHR:进程使用的共享内存
24. S:进程状态,R:运行状态;S:睡眠状态;Z:僵尸进程;D:不可中断睡眠状态;T:跟踪/停止
25. %cpu:进程对cpu的使用率;%MEM:进程使用的物理内存百分比
26. TIME+:进程启动后占用cpu的时间;COMMAND:进程启动命令名

Vi/Vim编辑器的使用

Vim编辑器是Linux下强大的文本编辑器,具有简洁、易操作的特点

启动Vim编辑器

vim [要编辑的文档名]

vim编辑器有三种模式

  1. 命令模式
    vim启动即进入命令模式
  2. 输入模式
    键入“I/O/a”任一小写字母即可进入输入模式
  3. 底线命令模式
    在命令模式下键入半角冒号“:”即可进入最底行使用命令对文档进行替换、删除等操作

三种模式的切换方式

Vim的使用技巧

命令功能
Esc 输入模式切换为命令模式
y 复制
d 剪切
p 粘贴
u 取消上一部操作
/ 查找字符串,光标移至字符串前端
:n 移动光标到第N行
:w 保存编辑的内容
:e <文件名> 打开文件
:sav <文件名> 另存为
:q 退出
:q! 不保存强制退出
:%s/s1/s2/g 将文档中的字符串s1替换为s2

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐