查看cpu信息:lscpu
查看内核版本命令: cat /proc/version
查看linux版本:lsb_release -a
查看linux architecture:uname -m
lsblk 设备硬件信息,硬盘等
deepin 重启:
左手一直按住Ctrl+Alt,右手点击一下SysRq(也就是PrtSc键,用来截屏的那个)
接下来依次按下R、S、E、I、U、B,每个键都要稍按住一会儿再接着按下一个键
deepin重启:左手一直按住Ctrl+Alt,右手点击一下SysRq(也就是PrtSc键,用来截屏的那个)接下来依次按下R、S、E、I、U、B、O

useradd -d /public/home/someone someone
passwd someone
userdel someone
同步登陆节点的passwd到计算节点:
#!/bin/bash
for i in `seq 1 6`
do
for j in passwd shadow group
do
scp /etc/$j node$i:/etc/
done
done

重启server与计算节点PBS服务:
/etc/init.d/pbs_server restart
/etc/init.d/pbs_mom restart
/etc/init.d/pbs_sched restart

telnet icqms.shu.edu.cn 80
service httpd restart/start/status
查看yum install的路径rpm -qa|grep environment-modules 然后 rpm -ql environment-modules-4.5.2-1.el8.x86_6
mkdir /home/tmp
sudo mount -t auto -o loop R2017b_glnxa64.iso /home/temp
umount /home/temp
如果umount失败:fuser -m /home/temp 查找该进程号 ps aux |grep 1338 然后kill -9 1338

c文件:主要每个模块的原代码都在c文件中。
h文件:每个c文件都跟着一个h文件,h文件的作用是放着c文件中函数的声明,结构体的定义,宏的定义等。
o文件:目标文件。每个文件经过编译都会形成一个目标文件(二进制文件),多个目标文件链接后才能形成可执行文件。
o文件如何形成: gcc -c a.c

可执行文件:
不论是c文件还是o文件,都是无法执行的,最终还要生成可执行的文件。
gcc  a.c b.c c.c -o run  将c文件编译后链接,生成可执行文件
gcc a.o b.o c.o -o run   将目标文件链接为可执行文件

a文件:将o文件打包生成的静态库。
so文件:形成动态库,当程序运行的时候才加载进来。
生成so文件:gcc a.c b.c c.c -fpic  -shared -o  librun.so .o文件是源码编译出的二进制文件。你先得了解从源代码到可执行文件的过程。以一个简单的add函数源文件为例:

int add(int a,int b)
{
    return a+b;
}
    

先预处理为.i文件
gcc -E add.c -o add.i
再编译为汇编文件
gcc -S add.i -o add.s
再汇编为二进制的.o文件
gcc -c add.s -o add.o
好,现在.o文件出来了。它就是C/C++编译的产物,因为C/C++编译的单元编译。每一个.c/.cpp文件就是一个编译单元,把所有单元都编译好之后,再连接成一个完成的程序。
.a文件实质上就是.o文件打了个包。一般把它叫做静态库文件。它在使用的时候,效果和使用.o文件是一样的。
.so文件就不一样了,它不是简单的.o文件打了一个包,它是一个ELF格式的文件,也就是linux的可执行文件。
.so文件可以用于多个进程的共享使用(位置无关的才行),所以又叫共享库文件。程序在使用它的时候,会在运行时把它映射到自己进程空间的某一处,其不在使用它的程序中。
原文链接:https://blog.csdn.net/a879365197/article/details/72933916
tar –czf test.tar.gz test 将test文件夹打包成jpg.tar后,并用gzip压缩,生成一个gzip压缩过的包生成test.tar.gz
tar.gz文件解压: tar -zxvf xxx.tar.gz
tar.xz文件解压: 先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar
tar.bz2文件解压: tar -jxvf file.tar.bz2
.gz 文件解压: gzip -d
.7z文件解压: 7za x file.7z
zip -q -r test.zip ./test
给sub.sh文件赋予可执行权限: chmod +x sub.sh
比较file1和file2文件的不同: diff file1 file2
查找大于100M的文件 find . -type f -size +100M
查找大于100M的文件并删除 find . -type f -size +100M |xargs rm -rf
查看当前目录下每个文件的大小: du -sh *
linux去除windows文件行尾^M:dos2unix file | sed -i 's/^M//g' file
Exc
λ

ee=`awk '/free energy/ {print $5}' OUTCAR`;echo $ee
ee=`awk 'NR==1{print}' OUTCAR`;echo $ee
sed -n "2p" merge.in | awk '{print $1}' 打印文本merge.in的第二行第一列; 这里 p :打印
a=`echo "scale=16;(3.7400689681604917)*($i)" | bc`
v=0.003;a=$(awk -v num=$v 'BEGIN{printf("%.5f\n", num*(12))}');echo $a
q1_final=$(awk -v num1=$q1 -v num2=$k1 'BEGIN{printf("%.5f\n", num1*num2)}');echo $q1_final

vaspkit < < EOF
21
211
EOF
#!/bin/bash
rm log
grep T= report >>log
nstep=`awk '{print NR}' log|tail -n1`
echo $nstep
rm loglog
for((i=1;i<=$nstep;i++));
do
index=`sed -n $i"p" log | awk '{print $1}'`
tt=`sed -n $i"p" log | awk '{print $3}'`
energy=`sed -n $i"p" log | awk '{print $5}'`
echo $index $tt $energy>>loglog
echo $index
done

shell


if语句:
if A==B
then
else
fi

kgrids_corse=(6 7 8 )
echo ${kgrids_corse[0]}



alias grep_qe1='grep "total energy" report'
alias grep_qe='grep "total energy" report'
alias grep_qe_c='awk  "/Begin final coordinates/,/End final coordinates/{print $0}" report >contcar'
alias ls_bin='ls ~/software/bin'
alias grep_vasp='grep "d E" report'
alias grep_q='grep "q =" report'
alias grep_p='grep TOTAL OUT'
alias grep_p2='grep PROC OUT'