BGI-College生信入门——5、Linux下的软件安装与V
linux basics
Linux系统下一切皆是文件,Linux文件系统包含排列在磁盘或其他区块存储设备目录中的文件
Linux文件系统是一个树状结构,以“/”目录为根目录
我们通过安装并且调用tree可以查看Linux文件系统的结构
#-d参数表示查看目录,-L参数表示查看的层级
tree -d -L 1
![](https://img.haomeiwen.com/i25652581/48aaadedce60b222.png)
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,make directory,创建新目录
rmdir,remove diretory删除空目录
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
![](https://img.haomeiwen.com/i25652581/3b8ab5fd345eba57.png)
Fedora和SUSE系列的Linux发行版使用yum管理器安装软件
yum install ##安装指定的软件
yum update##更新所有软件
yum check-update##列出所有可更新的软件
Debian系的Linux发行版使用apt安装软件
sudo apt update##与yum update类似
sudo apt upgrade##升级软件
sudo apt install ##与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 [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 memorylimitforsorting dflt=100MB
-t|--tempwhereto put temp. files dflt=curr dir
-e|--threads how many thread dflt=6
-p|--progress show progress
-x|--detailsprintdetails
-s|--split-spot split spots into reads
-S|--split-files write reads into different files
-3|--split-3 writes single readsinspecial file
--concatenate-reads writes whole spots into one file
-Z|--stdoutprintoutput 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-nrprintread-numbers
-M|--min-read-len filter by sequence-len
--tablewhichseq-table to useincaseof pacbio
--strict terminate on invalidread
-B|--bases filter by bases
-A|--append append to output-file
-h|--helpOutput brief explanationforthe program.
-V|--version Display the version of the programthen quit.
-L|--log-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 multipletimesformore verbosity. Negates quiet.
-q|--quiet turn off all status messagesfortheprogram. Negated by verbose.
--option-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#查看进程
![](https://img.haomeiwen.com/i25652581/1451295acca82348.png)
1. 系统当前时间
2. 系统开机至今经历多长时间
3. 当前用户数
4. 系统1 min/5 min/15 min的CPU负载信息,当负载值>2说明系统繁忙
![](https://img.haomeiwen.com/i25652581/fb9ec9af2ce4aa5c.png)
5. 当前进程数
6. 正在运行的进程数、睡眠进程数、终止进程数和僵尸进程数
![](https://img.haomeiwen.com/i25652581/649ff7580e25b715.png)
7. 用户空间占用CPU百分比
8. 内核空间占用CPU百分比
9. 用户进程空间内改变过优先级的进程占用CPU百分比
10. 空闲CPU百分比
11. 等待输入输出的CPU时间百分比
12. CPU硬中断占用百分比、CPU软中断占用百分比和被强制等待虚拟CPU的时间
![](https://img.haomeiwen.com/i25652581/e0a64bf557c4b7ee.png)
13. 物理内存总量
14. 使用的物理内存量
15. 空闲的物理内存量
16. 用作内核缓存的物理内存量
![](https://img.haomeiwen.com/i25652581/6501b81808892db6.png)
17. 交换区总量
18. 使用的交换区总量
19. 空闲交换区总量
20. 缓冲交换区总量
![](https://img.haomeiwen.com/i25652581/016086062c9e67ad.png)
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下强大的文本编辑器,具有简洁、易操作的特点
![](https://img.haomeiwen.com/i25652581/f50f9f86be360725.png)
启动Vim编辑器
vim [要编辑的文档名]
vim编辑器有三种模式
命令模式
vim启动即进入命令模式
输入模式
键入“i/o/a”任一小写字母即可进入输入模式
底线命令模式
在命令模式下键入半角冒号“:”即可进入最底行使用命令对文档进行替换、删除等操作
三种模式的切换方式
![](https://img.haomeiwen.com/i25652581/460d37fe75e97113.png)
![](https://img.haomeiwen.com/i25652581/3ee94fe18a79c0b2.gif)
Vim的使用技巧
Esc 输入模式切换为命令模式
y 复制
d 剪切
p 粘贴
u 取消上一部操作
/ 查找字符串,光标移至字符串前端
:n 移动光标到第N行
:w 保存编辑的内容
:e <文件名>打开文件
:sav <文件名>另存为
:q 退出
:q! 不保存强制退出
:%s/s1/s2/g 将文档中的字符串s1替换为s2
![](https://img.haomeiwen.com/i25652581/2f921d4689ab6d5f.gif)