一、Linux系统简介
- 命令格式:命令 + 选项 + 文件
创建
mkdir # make directory 建立一个新的目录 touch # 创建文件(摸一个文件出来)
操作文件
mv # move 移动和重命名 rm # remove 删除 cp # copy and paste 拷贝粘贴
压缩
tar # tape archive 压缩或者解压文件
链接
ln # link 链接文件
<a name="fOG33"></a>### 1、如何操作工作目录:`ls: List information about the FILES````r# 常见参数-a # 列出全部的文件,连同隐藏文件也一起列出来 all-l # 列出目录的详细信息-h # 将目录容量转换为易读的方式:GB,KB等 human-S # 以文件大小排序 Size-t # 以时间排序 time-R # 递归目录列出文件 Recursion-d # 显示目录本身,而非目录下文件r w x 可读、可写、可执行 4 2 1 0/1/2/3/4/5/6/7
2、如何新建文件及文件夹
mkdir -p 1/2/3 #递归创建文件夹tree . # 展示出文件夹层级关系-L leveltouch file{1..5} # 创建file1,file2,....file5文件夹
3、文件夹与文件管理命令
cp # copy and paste-r ## 递归复制粘贴rm # remove-f ## force 不显示警告讯息,强制删除-i ## 在删除前会先询问用户-r ## 递归删除文件夹
3.1 创建软链接
# 创建软链接# 软链接相当于Windows下的快捷方式# 节约空间ln # link 链接,分软链接(常用)和硬链接(默认)# 常见参数:不加参数即为硬链接,加上-s参数即为软链接,软链接的作用类似快捷方式ln -s target directory # 前面是要链接的绝对路径,后面是当前目录或者要放置‘快捷方式’的绝对路径ln -s usr/local/bin/python3.7 python3
4、如何处理压缩文件-tar
tar # tape archive 压缩或者解压文件# 常见参数-c # 创建一个新的tar归档文件(创建压缩文件)-x # 从已有tar归档文件中提取文件(解压缩)-f # 输出结果到文件或设备-v # 在处理文件时显示文件处理进度-j # 将输出重定向给bzip2命令-z # 将输出重定向给gzip命令# 常见用法tar [-参数] [待解压文件] # 解压tar [-参数] [压缩后文件名] [待压缩文件/目录] # 压缩# 其他压缩和解压的命令zip/unzip # *zipgzip/gunzip # *gzbzip2/bunzip2 # *be2
5、如何查看文件-cat、head、tail、less
head/tailcat/tacless/morecat# concatenate 查看文本文件内容,输出到屏幕-A # 列出所有内容,包括特殊字符,如制表符-n # 打印出所有行号,-b参数仅打印非空白行行号
6、如何操作和统计文件-wc、cut、sort、uniq、paste、tr
wc # 统计文本# 常见参数-l # 统计行数-w # 统计字符串数-c # 统计字节数cut # 文本切割# 常见参数-d # 指定分隔符,默认\t-f # 输出哪几列(字段fields)sort # 排序# 常见参数-n # 按照数值从小到大排序-v # 字符串中含有数值时,按照数值从小到大排序-r # 逆向排序-k # 指定区域-t # 指定分隔符
二、conda相关
1、conda基础:
conda简介anaconda是所有语言的包、依赖和环境管理器,像一个硬件商店miniconda类似于工作台
1.1 conda安装、配置镜像、为特定环境设置特殊频道
# 下载miniconda 第二个是镜像 # -c 断点续传wget -c https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.shwget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh# 运行bash文件bash Miniconda3-latest-Linux-x86_64.sh# 更新(重新配置)配置文件source ~/.bashrc # 将后面这个当成整体使用# echo 'export PATH=~/miniconda3/bin:$PATH' >> ~/.bashrc # 与上面命令作用相同# 运行conda,得到命令conda -h# 配置conda镜像,这三个都是必须的conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --set show_channel_urls yes# 如果添加一个已经添加过的频道,conda会把这一频道的优先级提前# 添加的频道写到哪里去了?查看已添加的频道 先添加的频道会到最下面,后添加的频道优先级更高cat ~/.condarcconda config --get channelsconda config --show channels# 为特定环境设置特殊频道conda config --env --add channels genomedk## 取消自动激活conda环境conda config --set auto_activate_base false## 恢复自动激活conda环境conda config --set auto_activate_base true
1.2 创建独立的环境
为什么要创建独立的环境?全装在bash里面不好吗?
- 1、conda会改变原来设置好的环境
- 2、不同的软件的依赖会相互冲突:a软件依赖python3.7,b软件依赖python3.8
- 3、方便项目管理:做基因组、转录组、Chip-seq
bash环境里最好不要装任何包,除非知道这个包会对原生环境造成什么影响```r创建名为rnaseq的conda小环境
conda create -n rnaseq -n # 指定环境名称
启动rnaseq这个conda小环境
conda activate rnaseq
退出rnaseq这个conda小环境
conda deactivate
列出已存在的小环境
conda env list conda info —env
查看conda中已安装的软件
conda list # 查看当前环境所安装的软件 conda list fast* # 查看符合正则表达式的软件 conda list -n rnaseq # 查看指定环境中的软件
<a name="zaKWj"></a>#### 1.3 删除&重命名小环境```r# 删除已创建的小环境及安装的包conda remove -n rnaseq --all# 删除特定环境下的特定软件,如何指定?conda remove -n rnaseq fastqc# 不指定-n参数就要进入该环境之后才能进行删除操作,同样,-y 能够跳过确认执行的步骤# 重命名一个小环境conda create -n Python2conda create -n p2 --clone Python2 # 重命名,克隆了一个conda remove -n p2 --all
1.4 删除没有使用的包
清除掉下载了但是没有用到的包
conda clean -i-i # 清除索引缓存 注:更换镜像后记得运行这一条-p #-t-a # all
1.5 安装软件
哪些软件可以用conda装?
# 方法一:网站查询https://anaconda.org/searchhttps://bioconda.github.io/# 方法二:conda search xxx
1.5.1 如何安装指定版本的软件?
# 在不指定版本的情况下,conda默认安装该软件的最新版# 1、先看看有哪些可以安装的版本conda search [软件名称]mamba repoquery search fastqc # 这个更快# 2、安装指定版本的软件conda install [软件名称]=[版本号]# 添加 -y 参数跳过确认步骤
1.5.2 升级软件
# 升级安装的软件conda update fastqc# 升级conda本身conda update conda # 只要不影响使用,就不建议升级# 安装旧版本的软件只需要指定该软件的旧版本就可以
1.5.3 如何用conda将软件安装到指定位置
mkdir biosoft # 先创建一个文件夹cd biosoftmkdir samtools # 进入文件夹,再创建一个文件夹conda install -p ~/biosoft/samtoos samtools # 使用-p参数指定安装位置
2、Rstudio使用conda环境的R
# 对rstudio的配置文件进行编辑vi /etc/rstudio/rserver.conf# 将conda虚拟环境中固定版本的R的路径设置为rstudio的路径rsession-which-r=/home/geneteam/miniconda3/envs/rnaseq/bin/R
3、mamba
3.1 用mamba装软件更加迅速
mamba加速了其中的一些线速度的步骤,对conda install进行改造,使其可以并行下载;增加了一些新功能
# 切换到base环境conda activate base# 在base环境下安装mambaconda install mamba# 搜索软件mamba search [软件名称]mamba repoquery search fastqc # 更快# 安装软件 mamba可以多线程装软件mamba install fastqc# 装在base环境中的包在小环境中依然可以调用,因此不需要在每个环境里都安装一遍
3.2 除启动环境外(conda activate rnaseq),所有conda的命令都可以用mamba代替
查看依赖关系
# mamba可以查看安装的软件之间的依赖关系# 我依靠谁 -t 以树状列出mamba repoquery depends -t samtools# 谁依赖我mamba repoquery whoneeds -t python
3.3 版本控制和迁移
1、发文章时候提供版本号
2、更换服务器、分享的时候保持软件版本不变
3.3.1 方法:用conda list的export功能
conda list # 查看当前环境所安装的软件# 导出环境中安装的包的列表conda list -n rnaseq --export > conda_rnaseq_list.txt# 内容:软件名 = 版本号 = build# 安装导出的信息conda create -n rna -file conda_rnaseq_list.txt
3.3.2 方法:用conda env的export功能
# 导出想要的环境conda enc export -n rnaseq > rnaseq.yml# 根据导出的yml文件创建环境conda env create -f rnaseq.yml# 根据导出的yml文件更新环境conda env update -f rnaseq.yml# yml文件提供的信息更全面
3.3.3 方法:本地安装【没试过】
适用于:网络不行、不连外网的服务器先通过wget把包下载到本地,移动到miniconda3的pkgs文件夹下
conda --use-local [包名]
