Linux 常用命令
1. 后台运行程序nohup python -u test.py > out.log &
2. ipython调试程序 run -d test.py
break 65 # 设断点
clear 1 #消除断点
c #运行
3. 实时查看GPU使用情况 watch -n 0.5 nvidia-smi
4. 复制文件 cp a.py b.py # 将a.py复制到b.py
从当前服务器到另外一个服务器
scp vgg.pth username@111.11.11.11:path
5. 查看当前有多少在后台运行的命令
jobs -l 选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。
但是换了个窗口 jobs不会显示结果
这时可以用ps -ef | grep a.py 来查看后台作业运行情况。
6. fuser -v /dev/nvidia*
是用来查询进程号的,有时kill掉一些进程后并不会释放内存,用这个可以显示其他的进程,删除用kill -进程号,如果删不掉,用kill -s 9 进程号强制删除
7.sh -x new.sh 可以调试shell脚本
8.在shell脚本里给变量赋值不可以直接 a = ps……
参考这篇https://blog.csdn.net/lemontree1945/article/details/79126819
RESULT=$(ps -e|grep 48412 |sed -e "/grep/d") 我使用的是这个
9.history可以查看历史的命令
10.ls|grep DATA0 | xargs -n 10 rm -rf 在当前文件夹下查找含有 DATA0的文件并每10个一组删除,主要是处理 rm -rf ./*DATA0* 这种文件太多报错"/bin/rm: argument list too long" 的情况
11.Linux下命令行显示当前全路径方法:
vim ~/.bashrc
加入下面这一行
export PS1="[\u@\h \w]\$",其中\w就是路径的设置选项,大写的W是简介模式,小写的为全路径模式
12. 当前文件夹下需要删除的文件太多时,用xargs -n 10 可以每10个一起删除
ls|grep "DATA3"| xargs -n 10 rm -rf 其中DATA3是关键字
13.du -h --time --max-depth=1 | sort -hr 按大小排序目录
14. ps -ef |grep arcsim 可以将所有进程的命令显示出来,grep是筛选出含有arcsim的
15. grep和sed配合替换文件中的字串
sed -i "s/qsub bin\/arcsim/bin\/arcsim/g" `grep "qsub bin\/arcsim" -rl --include="*sh" ./shfiles/V11393MTL1/`
查找qsub bin/arcsim并替换为bin/arcsim
/g 表示所有的qsub bin/arcsim,不止是第一个
sed -i
eg2: for i in *.json; do sed -i "s/lr_sim/hr_sim/g; s/lrhalf749/hrhalf11393/g; s/64/256/g; s/96/384/g; s/true/false/g; s/LOG/LOGHR/g" $i; done