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 这个 sed 选项-i,告诉 sed 在适当位置编辑文件,意思是不要把编辑结果发送到标准输出中。sed 会把更改应用到文件中, 以此重新编写文件。

sed -i "s/A/B/g" 文件

eg1: sed -i "s/num/nun/g" file.txt

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

posted @ 2018-04-02 10:50  Emma00  阅读(196)  评论(0编辑  收藏  举报