在该文件夹下所有文件中查找
[root@wuseyukui]# grep -rn "runlog" *
说明:
-r 是递归查找
-n 是显示行号
* : 表示当前目录所有文件,也可以是某个文件名
复制除某个以外所有
软连接
ln -s
s (symbolic)符号连接
screen翻页
在进入screen模式下之后,发现是无法在终端使用鼠标滚轮进行上下翻页拉动的,无法查看上面的终端输出内容了,解决办法
进入回滚模式(可以操作鼠标滚轮上下翻页):
先按Ctrl+a键,然后释放,然后再按[键即可进入翻页模式。
释放:Ctrl+c
screen开启后台进程
1.使用指令screen -S name 打开新窗口,输入程序运行后linux统计文件行数,使用快捷键Ctrl+A+D,关闭窗口即可实现程序的后台运行。
2.要想重现窗口,使用指令screen -r name。
3.要想关闭后台进程,先使用screen -ls查看所有后台窗口,从中可以看到进程号,再使用kill 进程号关闭进程。
后台运行程序运行的命令+& 让进程在后台运行jobs 查看后台运行的进程(按照编号来,不是进程号PID)fg %n 让后台运行的进程n到前台来(n是编号不是PID)bg %n 让进程n到后台去;control+z让程序到后台并暂停(想继续运行就接着bg %n就可以了)
linux后台运行和关闭、查看后台任务 - jihite - 博客园
log文件实时查看进度
tail -f filename
scp从服务器下载
scp username@serverhost(chaosuan):path localpath
上传
scp /path/local_filename username@servername:/path
kill与kill -9与pkill -u
kill默认是15信号,优雅退出,9是强杀
pkill -u user,杀掉user所有任务
刘波:kill 与 kill -9 的区别
查看组内卡
pestat -g ai4cvr -G
squeue --state=running --qos ai4cvr | tr -s ' ' | cut -d ' ' -f8 | tail -n +2 | paste -s -d+ - | bc
访问process
cd /proc/1344(pid)
cat status
可以看到状态以及ppid(父进程),杀掉这个就可以杀掉所有子进程,所以多卡时可以杀掉父进程不用一个个沙雕子进程。
GPU显存未释放且nvidia-smi没有看到进程
1.先关闭ssh(或者shell)窗口,退出重新登录
2.查看运行在gpu上的所有程序:
fuser -v /dev/nvidia*
3.kill掉所有(连号的)僵尸进程
vim基本操作
查找上一个N,查找下个n
按单词移动光标w,e,b
如修改jupyter的配置文件
vim ~/.jupyter/jupyter_notebook_config.py
shift+g跳到最后一行
查找关键字 直接/+要查找的,n表示向前查看
保存和退出
:w保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。
:w!强制写文件,即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入。但是,这种命令用法仅当用户是文件的属主时才适用,而超级用户则不受此限制。
:wq保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。另外一种替代的方法是用ZZ命令。
:wq!强制保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据强制写到启动vim时指定的文件中,然后退出vim编辑器。
vim里面shell运算 val=`expr $a + $b`
echo "a + b : $val"
val=`expr $a - $b`
echo "a - b : $val"
val=`expr $a * $b`
echo "a * b : $val"
val=`expr $b / $a`
echo "b / a : $val"
val=`expr$b%$a`
echo"b % a :$val"
cuda管理
nvidia-smi
cpu查看
htop
screen后台操作
screen -S name创建新的screen并进入
想出来到主界面ctrl+a+d
回到某个screen用screen -r name或者screen -d -r name(这种是attachedlinux统计文件行数,上一用户未正常退出,-d强制踢出)
杀掉某个screen:screen -S session_name -X quit
进入base
source ~/.bashrc source是没有权限也可以执行deepin linux,.文件是隐藏文件,~/就是主目录下选择.bashrc文件应用当前更改
利用gpustat动态查看gpu使用
watch --color -n1 gpustat -cpu
conda环境管理
conda create -n name python=xx 创建python环境
conda activate name激活
conda deactivate关闭当前active的environment
conda安装包出现failed with initial frozen solve. Retrying with flexible solve
conda update -n base conda 升级conda
conda update --all 升级所有应用
pycharm配置服务器虚拟环境
先activate虚拟环境,然后使用which python找到该环境的的python位置,复制到interpreter中就可以了。
pycharm import本地文件出现红线
对根目录右键make directory as,那么根目录就从这里算起,给出相对位置就可以了
这里两个都设为了根目录,都可以为依据
文件大小
du -hd0
du -hd1
du就是disk use的意思,h就是human可以读的
文件数量统计
inux下有三个命令:ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。
ls -l | grep "^-" | wc -l
ls -lR | grep "^-" | wc -l
ls -l | grep "^d" | wc -l
命令解析:
长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等)硬盘安装linux,每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。
virtual env
创建环境 virtualenv --no-site-packages venv
激活 source venv/bin/activate 其中venv是你的虚拟环境地址,用command+option+c就可以复制了
灭活 deactivate
查看该环境下的python包 python2 -m pip list ,这里的python2就是多个python时可以制定地址深圳which python 后的详细地址
mac m1添加path
export PATH="/opt/homebrew/bin:$PATH"
利用nano打开zqrsc进行添加(nano只是一种打开方式,利用vim也是可以的)
配环境
下载conda
对于好不容易配置好的环境,将其中的包,版本号等导出作为记录是很重要的一件事,这便于我们对环境的安装进行再次的复现。
导出已有环境:
conda env export > environment.yaml
环境会被保存在 environment.yaml文件中。
当我们想再次创建该环境,或根据别人提供的.yaml文件复现环境时,可以:
conda env create -f environment.yaml
就可以复现安装环境。
apex安装
$ git clone https://github.com/NVIDIA/apex
$ cd apex
$ pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
$ python3 setup.py install
————————————————
pycocotools安装
pip install Cython
pip install git+/pursuit_zhangyu/cocoapi.git#subdirectory=PythonAPI
出现错误的原因可能就是没按照Cython
查看进程用户
ps -aux | grep pid
detectron2改变默认数据集位置
export DETECTRON2_DATASETS=/path/to/datasets./datasets
改变config文件
home下面的.bashrc
compile deformable
cuda home没有设置时用
TORCH_CUDA_ARCH_LIST="8.0" CUDA_HOME='/yourcudafile/cuda-11.1'加上环境便利即可