文件系统结构

image.png
image.png
image.png

查看CPU信息

image.png
Thread per core:线程,翻译成人话就是说,一个八核八线程就是说,一份活有八个人干,效率可能不会X8,但是一定大于1

查看内存信息 free -h

image.png

查看硬盘信息 df -h

image.png

查看文件大小 du -h -d 1

image.png
也可以用du -h -d 2 ,后面的数字显示的是展开的层级
image.png

查看文件大小:du -sh ~

image.png

查看系统的进程和任务:1.top (htop) 2. ps -ef

top: 类似于任务管理器

image.png
退出:Ctrl C 或者 type C
htop: 配色很好看,高级版,鼠标可以和界面交互作用
这个图片里上面的八个框框代表的是八个线程
image.png

ps -ef

image.png
UID : USER 的ID
PID : 任务的ID

jobs

image.png
top & : 将top任务放在后台运行,底下显示的数字指的是 这个任务所代表的编号
jobs 可以查看正在运行的任务,为什么这里显示top的任务是stopped,因为top本身就是显示终端,这里在后台不能运行

kill

kill -9 16570 : 关闭这个进程
“-9”的意思是kill的参数有很多,-9 是其中的一种
image.png

变量

image.png

自定义变量

由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注:前后不要有空格)
image.png
echo a : 打印字符串 ,不解释变量
echo $a : 打印其背后的值 , 解释变量
单引号:变量不被解释
双引号:变量被解释

环境变量

image.png
image.png

image.png
奇怪的数字是 颜色代码
\U 指的是user

image.png

image.png

状态变量

用于记录命令的运行结果
image.png
image.png
$?: 返回值是否是非零值,这个很重要,一定要记住,后面的代码经常出现

位置参数变量

用于向命令或者程序脚本中传递信息
image.png
image.png
!/bin/bash : 位置是$0
analysis_dir=$1 : 位置是上面之后的1号位置
诸如此类,2号位置,3号位置等等

结构化语句

条件语句 if

image.png

if 数值判断

image.png
这里要注意[ ],这个中括号里面是有空格的!!!,如果没有空格,例如 1] ,这个会被判断成是一个东西
image.png

if字符串判断

image.png

if 文件判断

image.png
image.png

for 循环

常见格式:for i in list

image.png
image.png
变量要加{}!!!!!
image.png

for循环常见格式 : list ,fo i in list

image.png

反引号 里的内容会被优先执行

image.png

While 循环语句的常见格式

image.png
read id里面的id是一个形式参数,任意命名。它也可以叫别的名字,比如说,read qyy ,后面跟着也写一样的东西就行

image.png
image.png

  1. cat config | while read id; do mv $id ${id%.txt}; done
  2. #%的意思是拿掉点之后的后缀

image.png

参数扩展

去尾比掐头更重要
image.png
image.png
image.png

image.png

image.png

作业

image.png

  1. $ for i in {01..10}
  2. > do
  3. > echo SRR12345${i}.sra >> config
  4. > done

image.png

  1. $ cat config |while read id
  2. > do
  3. > echo ${id%.sra}.fastq
  4. > done

image.png
image.png

snakemake bpipe nextflow make+makefile

Shell脚本

shell 脚本:一般会以.sh为后缀 , 可以和普通文件区分开
bash: shell的解释器 另一种编译器是dash
image.png
image.png
shell脚本更改权限
脚本的$ 符号的意思是:这里是普通用户,
#! 符号的意思是:这里是管理员权限
chmod :change mode 改变模式
764:自己是可读可写可执行 同组是可读可写 其他人是可读
777: 权限最大,所有人都可以可读可写可执行
image.png

参数传递

image.png
1: 标准输出流:打印到屏幕上的

image.png
image.png

任务提交

image.png
nohup:不要挂断,把任务提交到服务器上运行,如果没有这个命令,×掉对话框之后,就会打断任务,有了这个命令就可以像B站一样后台运行
image.png