本文主要是记录一下本人在做DL时,在linux上的一些常用的命令。Linux上的很多命令会让我们的工作效率加倍,但由于命令及其参数过多,让人难以记忆。本文仅作为自己的学习笔记,会不断补充和更新,以供未来不时之需。
注:本文仅作深度学习中常用linux命令的简要介绍,因为每个命令都会有很多的可选参数,所以其功能会很强大,有需要的可以使用man
查看相应命令的帮助文档,如man ls
,或者自行google/百度。
本文仅记录常用的命令及其参数,并不会对某一具体命令进行详细介绍,如需详细用法,请自行搜索。
-
查看进程运行时间 :
ps -p PID -o etime
,例如ps -p 13417 -o etime
-
htop
:性能监控软件,top
的增强版。 -
nvidia-smi
:常用,而且还可以不断刷新显示—nvidia-smi -l
,还有很多其他参数,具体可参考博客。 -
kill PID
:杀死某进程。kill -s 9 PID
:强制杀死进程。 -
du -h
或du -h --max-depth=1
:linux中查看各文件夹大小命令。 -
df -lh
:查看磁盘的使用情况以及文件系统被挂载的位置。 -
history | grep ***
:查看linux历史使用命令中包含***的命令,例如history | grep df
,将会得到如下结果:
-
at
:定时执行命令,比如你在训练模型时,想在某个时间关闭训练,即可用at 15:00
,回车后输入你想在那时执行的命令,如kill 训练模型的PID
,然后再按ctrl + D
即可。 -
find
:这个命令用于查找文件,功能强大。例如:find . -name "*.c"
:当前目录及其子目录下所有延伸档名是 c 的文件列出来。 -
安装好
cuda
和cudnn
后要配置的.bashrc
环境变量如下(将其加在.bashrc
文件的末尾即可)# cuda 8 export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64/ export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64/
修改
.bashrc
文件后,别忘了source .bashrc
一下使.bashrc
的修改生效。 -
解决
.bashrc
文件每次打开终端都需要source
的问题:博客。vim ~/.bash_profile
,在文件内部输入:# 加载.bashrc文件 if test -f .bashrc ; then source .bashrc fi
这样就会在
.bash_profile
文件中自动加载.bashrc
文件。 -
查看某个端口是否开放:
lsof -i:端口号
,如果显示信息说明已经开放,不显示说明没开放。 -
查看cuda版本:
nvcc -V
。除此之外,还可以通过cat /usr/local/cuda/version.txt
和cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
来查看cuda
和cudnn
的版本。 -
查看目录下有多少个文件及文件夹:
ls | wc -w
,博客。 -
pip
和conda
环境的复制:博客。 -
Python
和Anaconda
的各种环境安装配置(内容较多,详见目录):博客。 -
除了某些文件,其他全删除:
rm -rf !(file1|file2|……)
,rm -rf
要慎用呀!!删除文件时一定要小心!谨慎!仔细! -
解压:
unrar e xxx.rar ./temp/
,unzip -n xxx.zip -d ./temp/
。 -
训练模型时非法退出,python进程并没有真正被杀死,GPU的显存仍然被此“流氓进程”占用,导致其他任务无法进行。有时通过
nvidia-smi
或htop
找不到仍在后台运行并占用GPU的进程,此时可通过fuser -v /dev/nvidia*
来查看占用GPU的进程,将其kill -9 PID
掉即可。(小心别kill
错) -
pip安装本地whl包,直接
pip install xxx.whl
;conda安装本地tar.bz2包,则需要conda install --use-local xxx.tar.bz2
。 -
linux升级cudnn版本:博客。(注:比如目前pytorch 1.1只支持cudnn 7.5.1及以上版本,版本问题搞死人呀。)
-
nohup sh test.sh &
:不挂断,后台运行。 -
Linux 之间复制文件和目录:
scp local_file remote_username@remote_ip:remote_folder
。 -
Colab绑定Kaggle:用google搜“kaggle colab”。