这是一个持续会更新的教程,专为B10K入门的新人们编写,旨在快速理解并使用一些常用脚本、软件等……

1. Bash

1.1 环境变量

当我们使用mobaxtermiterm2ssh usrname@ipaddress登录到集群上时,文件/home/usrname/.bash_profile会被加载。

我们常说的环境变量记录在了这一文件中。手动加载该文件的方式为source ~/.bash_profile。此处 ~ 即为 /home/usrname/

为了更好的知道,我们上一行命令是否执行完成,我们有两种做法:

  1. 执行命令并输出一个tag文件,需要用到&&命令。

    • 例如sleep 60 && touch sleep_60.done 或者 sleep && echo sleep_60 done
    • 两者的差异是执行完sleep 60touch命令生成了一个新文件 和 echo命令在屏幕端输出了一行字符。
  2. 修改环境变量中PS1参数,通过^_^O_O两个符号判断命令行是否执行成功,可以减少屏幕端的输出或一个新文件的生成。

    # 良渚端PS1参数示例
    #### BASIC ENV ####
    export PS1="\
    \[\033[33;1m\]\h:\u \033[35;1m\t \
    \$(if [[ \$? -gt 0 ]]; then printf \"\\[\\033[01;31m\\]O_O\"; else printf \"\\[\\033[36;1m\\]^_^\"; fi)
    \[\033[36;1m\]\w\
    \[\033[0m\] LiangZhu
    \[\e[32;1m\]$ \
    \[\e[0m\]"
    export LANG="en_US.UTF-8"
    export LC_ALL="en_US.UTF-8"
    export HISTSIZE=9999
    export HISTFILESIZE=9999

    将上述代码添加至文件/home/usrname/.bash_profile后,通过source手动加载该文件,输入sleep 60 后使用ctrl+c的方式感受一下^_^O_O

1.2 常用缩写

仔细观察文件/home/usrname/.bash_profile后,会发现除了加载当前文件以外还额外加载了文件/home/usrname/.bashrc,我会把常用的一些缩写写在该文件中。此处,我直接放出我的常用示例:

alias rm='rm -i'
alias mv='mv -i'
alias le='less -S'
alias ls="ls -v --color=auto"
alias ll="ls -lh -v"
alias lt="ls -lh -t -r"
alias la="ls -a -lh -v"
alias wl='ll | wc -l'
alias c='clear'  # 快速清屏
alias p='pwd'

alias vi="vim"
alias ps="/bin/ps ux --sort=pcpu,pmem,user,pid | cat"
alias h.my="htop -u chenguangji"

## Colorize the grep command output for ease of use (good for log files)##
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'

alias tf='tail -f ' 
alias j='jobs -l'
alias tf='tail -f '
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias ta='tmux attach'

# 进入目录并列出文件
alias ..="cdl .."
alias .2="cd ../.."   # 快速进入上上层目录
alias .3="cd ../../.."
alias cd..='cdl ..'

#Start calculator with math support
alias bc='bc -l'

# sbatch
alias sb='sbatch '
alias sq='squeue -u chenguangji'
alias sj='scontrol show job '
alias sdir='echo "Running" && sq | awk '\''$5=="R"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "WorkDir"|sort|uniq -c && echo "PENDING" && sq | awk '\''$5=="PD"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "WorkDir"|sort|uniq -c'
alias sdirR='echo "Running" && sq | awk '\''$5=="R"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "WorkDir"|sort|uniq -c'
alias sdirP='echo "PENDING" && sq | awk '\''$5=="PD"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "WorkDir"|sort|uniq -c'
alias scom='echo "Running" && sq | awk '\''$5=="R"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "Command"|sort|uniq -c && echo "PENDING" && sq | awk '\''$5=="PD"'\''|awk '\''{print "scontrol show job "$1}'\''|sh|grep "Command"|sort|uniq -c'

# quota
alias quota='mmlsquota -u chenguangji --block-size auto;mmlsquota -g zhanglab --block-size auto;echo "";df -h ./'

我最为常用的命令有:tasqsdirquota以及...3

Next_time_upadte

  1. perl 脚本
  2. python 脚本
  3. B10K项目简介及相关数据
  4. 并行化处理

2. Perl脚本

3. Python脚本

4. B10K数据

5. 并行化处理