背景
記錄一下平時(shí)使用Linux命令行和集群投遞任務(wù)的一些小技巧(包括.bashrc的配置)诀诊,后續(xù)將不斷補(bǔ)充。
-
配置命令行的風(fēng)格抢呆,可以根據(jù)自己的審美修改
#style
export PS1="\033[33;1m\]> <\u@\h \033[37;1m\]\A \033[36;1m\]\w \n ~ \[\e[37;1m\]$ \[\e[0m\]"
-
Linux命令行比較實(shí)用的操作
1姐军、“ctrl + w” 刪掉到空白前的字符
2、“ctrl + u” 刪掉整行
3驯用、“ctrl + a” 去到行首
4、“ctrl + e” 去到行末
5儒老、“alt + backspace” 刪除前一個(gè)字段
-
vim編輯器比較實(shí)用的操作
1蝴乔、輸入":set mouse=a"可以實(shí)現(xiàn)用鼠標(biāo)選擇光標(biāo)的位置,但是不能使用右鍵復(fù)制了驮樊,需要使用”shift + fn +insert“粘貼薇正,不同電腦可能存在差異。
2囚衔、“$”光標(biāo)可以去到句尾挖腰,“0”可以去到句首,“gg”去到文首练湿,“G”去到文末猴仑。
-
conda啟動(dòng)很慢,主要是.bashrc文件包含這些下面這些語句
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('~/software/Miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "~/software/Miniconda3/etc/profile.d/conda.sh" ]; then
. "~/software/Miniconda3/etc/profile.d/conda.sh"
else
export PATH="~/software/Miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
解決方法有幾種肥哎,conda需要的時(shí)候再激活就好辽俗,可以直接刪掉這些語句,或者用"#"注釋掉每一行篡诽,或用條件語句或函數(shù)封起來崖飘。
#設(shè)置激活快捷命令
alias spy='source ~/Miniconda/md/bin/activate pyscenic'
-
jobs查看后臺(tái)任務(wù)加上-l可以看到任務(wù)號(hào)
alias jobs="jobs -l"
-
查看任務(wù)狀態(tài)用qstat -j 【任務(wù)號(hào)】出來一大堆,用一下三個(gè)腳本篩選
alias qe="sh qe.sh"
alias qd="sh qd.sh"
alias q1="sh q1.sh"
#qe.sh
for i in `qstat|awk '{if (NR > 2) {print $1}}' `;do qstat -j ${i}|grep -E 'job_number|script_file|hard resource_list|usage 1'|awk -F ": " '{printf ","$2}'|awk '{print}'|sed "s/ //g"|sed "s/g/G/g"|awk -F "," '{print $2"\t"$5"\t"$6"\t"$3","$4"\t"$9","$10}';done
#qd.sh
for i in `qstat|awk '{if (NR > 2) {print $1}}'`;do qstat -j ${i}|grep -E 'job_number|script_file|cwd'|awk -F " " '{printf $2 "\t\t"}'|awk '{print}';done
#q1.sh
i=$1
qstat -j ${i}|grep -E 'job_number|script_file|hard resource_list|usage 1'|awk -F ": " '{printf ","$2}'|awk '{print}'|sed "s/ //g"|sed "s/g/G/g"|awk -F "," '{print $2"\t"$5"\t"$6"\t"$3","$4"\t"$9","$10}'
qstat -j ${i}|grep -E 'script_file|cwd'|awk -F " " '{printf $2 "\t\t"}'|awk '{print}'
示例
~ $ qe
5166377 run.sh cpu=26:41:39 virtual_free=150G,num_proc=4 vmem=59.563G,maxvmem=150.554G
5169599 run.sh cpu=36:42:02 virtual_free=250G,num_proc=4 vmem=207.266G,maxvmem=513.677G
~ $ qd
5166377 ~/01.cortex run.sh
5169599 ~/03.subpallium_right run.sh
~ $ q1 5166377
5166377 run.sh cpu=26:51:33 virtual_free=150G,num_proc=4 vmem=59.564G,maxvmem=150.554G
~/01.cortex run.sh