Linux软件安装与脚本编程

2024-06-26 22:15:19 浏览数 (2)

软件安装

下载miniconda

国内镜像地址:

wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

官网地址:

wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装miniconda

运行 bash Miniconda3-latest-Linux-x86_64.sh

添加频道:

北外镜像频道:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/

conda config --set show_channel_urls yes

注意如果删除之前的频道, 添加频道的时候报错

需要重置conda配置:

conda config --remove-key channels

或者删掉.condarc文件

创建环境

创建:

conda create -n rna

创建名为rna的conda小环境

-n: 指定环境名称

conda activate rna

启动rna这个conda小环境

conda deactivate

退出rna这个conda小环境

安装软件

需要在特定小环境中安装软件

conda install <SOFTWARE>

  1. 先看看有哪些可以安装的版本 conda search fastqc
  2. 安装指定版本的软件 conda install fastqc=0.11.7 3.添加-y参数跳过确认步骤 conda install -y fastqc=0.11.7 4.查看当前环境所安装的软件 conda list 5.检测是否安装成功 <SOFTWARE> -help环境变量:用于存储有关shell会话和工作环境的系统变量常见环境变量: • HOME:当前用户的主目录 • PATH:shell查找命令的目录列表,由冒号(:)分隔。 • SHELL:bash shell的全路径名 • LOGNAME:当前用户的登录名 • PS1:shell命令行界面的主提示符 常见命令调用 echo ①打印字符串 ②打印变量的值,变量调用要加 $ chmod命令 可以对文件的属性加权限

脚本编程

变量:环境变量、状态变量、位置参数变量、自定义变量,

调用变量时,要在变量前面加一个 $ 符号

• 环境变量:用于存储有关shell会话和工作环境的系统变量

• 状态变量:用于记录命令的运行结果

• 位置参数变量:用于向命令或程序脚本中传递信息

• 自定义变量:由用户自行定义的变量,可用于用户编写的

脚本,多个命令间的值传递等

状态变量

$? :获取执行上一个指令的执行状态返回值,返回0表示

上一个命令或者程序执行成功,返回的值为非0则表

示上一个命令执行失败。

位置参数变量:用于向命令或程序脚本中传递信息

$n:n 为数字,$0 代表命令本身,$1~$9 代表第 1~9 个参数,10 以上的参数需要用大括号包含, 如${10}

结构化语句

条件语句 if

if command

then

commands

fi

if command

then

commands

else

commands

fi

注意 一次执行多个命令可以在不同命令间加";",但要先执行前面成功后再执行第二个那就加“&&”

数值判断

INT1 -eq INT2 INT1 和 INT2 两数相等返回为真

INT1 -ne INT2 INT1 和 INT2 两数不等返回为真

INT1 -gt INT2 INT1 大于 INT2 返回为真

INT1 -ge INT2 INT1 大于等于 INT2 返回为真

INT1 -lt INT2 INT1 小于 INT2 返回为真

INT1 -le INT2 INT1 小于等于 INT2 返回为真

字符串判断

-z STRING 如果STRING的长度为零则返回为真,即空是真

-n STRING 如果STRING的长度非零则返回为真,即非空是真

STRING1 如果字符串不为空则返回为真,与-n类似

STRING1 == STRING2 如果两个字符串相同则返回为真

STRING1 != STRING2 如果字符串不相同则返回为真

STRING1 < STRING2 如果 STRING1字典排序在STRING2前面则返回为真。

文件判断

-a FILE 如果 FILE 存在则为真

-d FILE 如果 FILE 存在且是一个目录则返回为真

-f FILE 如果 FILE 存在且是一个普通文件则返回为真

for循环语句的常见格式

变量要加{},否则容易分辨不出变量

for i in list

do

commands

done

while循环语句的常见格式

while read id

do

commands

done

Shell 脚本编程

shell 脚本:为了和普通文本文件区分开,通常shell脚本都

会以 .sh 为后缀名

其他脚本:在Linux中使用其他编程语言,需要在 shebang(释

伴) 中定义解释器,Python 是 python/python2/python3, R 语言是 Rscript,用 which 命令找到解释器位置

shebang扩展:如何解决不同的平台或者不同的设备下的差异?

shebang的通用写法:

• #!/usr/bin/env bash

• #!/usr/bin/env python

• #!/usr/bin/env Rscript

env的位置相对固定, 让env去调用当前环境下的编译器

任务提交

• nohup :不要挂断任务,即把任务提交到服务器上运行

• & :任务后台运行,通常与 nohup 连用

• top :实时显示系统中各个进程的资源占用状况,按 q 退出

• htop :优化过的 top 命令,界面更美观

• ps :Process Status列出当前系统中运行的进程列表, 一般加

上 –ef 参数,搭配 grep 进行搜索:ps –ef | grep 用户名

• kill :杀掉进程,kill -9 PID

• 用tail动态查看输出结果

tail -f <log file>

• 用less的动态查看

less <log file> → shift F

• 用top或者htop进行任务监视

top/htop

0 人点赞