
Linux
文章平均质量分 76
还能坚持
这个作者很懒,什么都没留下…
展开
-
非root用户在linux下安装CUDA10.1
1、普通用户不使用sudo安装多个版本CUDA和cuDNN1.1、服务器目录结构解释用户名为zb,目录 /home/zb/cuda/,用于存放不同的cuda版本,每安装一个版本的CUDA就在该目录下新建一个文件夹,如cuda-8.0,并安装在相应的目录下,安装包下载到 /home/zb/cuda/ 目录下,安装完成后就删除安装包,目录 /home/zb/cuda/tem/ 目录用于cuDNN的解压,安装完成后就删除该目录。本文已测试通过的有 :cuda 8.0 、cuda 9.0 、 cuda转载 2022-03-26 20:20:07 · 3678 阅读 · 1 评论 -
在 Vim 中优雅地查找和替换
vim的四种模式1、查找在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。注意查找回车应当用\n,而替换为回车应当用\r(相当于<CR>)。1.1 大小写敏感查找在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如:/foo\c将会查找所有的"foo转载 2021-08-12 16:06:40 · 1048 阅读 · 1 评论 -
Vim的4种模式
1、正常模式(normal)正常模式是使用vim打开文件时的默认模式。无论在哪种模式下,按下Esc键就会进入正常模式。在这个模式下:可以移动光标选中行,复制(ctrl+C)可以增、删x删除光标后的一个字符,nx(n是数字)删除光标后的n个字符,X删除光标前的一个字符,dd剪切光标所在的那一行,ndd剪切光标所在行后的n行p光标所在行开始,向后粘贴已经复制的内容,P光标所在行开始,向前粘贴已经复制的内容yy复制光标所在的行,nyy复制光标所在行后的n行u还原上一次的操作转载 2021-08-12 15:47:00 · 3827 阅读 · 0 评论 -
Ubuntu下,非管理员用户,神坑打击,opencv的安装
不说了,说多了都是泪,浪费了N多天时间,尝试了N多种方法,最后仅仅通过一句话就搞定了。实验室里的服务器对于一般使用者来说,是没有Root权限的,也就是只是普通用户权限,导致了自己尝试用第一种安装方法的时候,总是要sudo的密码,三次之后,被告知自己没有权限,这种方法也就流产了,可见拥有强大的权限多么重要。如果是自己购买的服务器,那就爽歪歪了,可以为所欲为。使用sudo安装没有权限,无法进行,...原创 2020-04-15 19:41:10 · 886 阅读 · 0 评论 -
Ubuntu下,未成功安装的opencv3.4的卸载
通过绕开root,使用编译的方法安装opencv-3.4.0,安装到30%一直出现错误,随想卸载,卸载的时候也出现了问题,不过,最后顺利解决了。卸载掉配置路径中的文件cd /XXX/opencv-3.4.0/buildmake uninstall//卸载掉配置路径中的文件cd …//返回到上一级目录 rm -r build//删除build文件卸载掉环境中有关的其余包不成功的方法1...原创 2020-04-15 21:43:09 · 811 阅读 · 0 评论 -
Ubuntu16.04系统查看已安装的python版本,及Python2与Python3之间切换
1.查看已安装版本终端输入如下:python2 -V #查看python2安装版本python3 --V #查看python3安装版本2.使用python3Python3和Python2是互相不兼容,但也不能卸载python2,可以将Python的指向Python3,这样就可以默认使用python3了。终端输入:python -V结果显示如下:上面表明pytho...转载 2020-04-14 15:56:06 · 303 阅读 · 0 评论 -
Ubuntu下部署github下载的代码并搭建环境,安装requirements.txt
1、问题描述当想要跑一下Github上的代码时,一般都会将该代码依赖的包放进requirement.txt中,这样可以方便新用户快速的上手2、进入到相应的虚拟环境与目录中3、遇到的错误按照源码给出的提示,试着安装:可是,遇到了一个很明显的错误command没有给出,即install4、解决方法输入pip install -r requirements.txt就可以一键安装所需的第三方库了...原创 2020-09-05 14:45:04 · 1660 阅读 · 0 评论 -
binary与source,zip与tar.gz
1、.zip 文件和 .tar.gz文件 的区别tar.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统,但在windows系统中用WinRar工具同样可以解压缩tar.gz格式的链接:https://blog.youkuaiyun.com/qq_41325698/article/details/84196086binary与source版本的区别简单来讲,binary是编译好的可以直接使用;source是还没编译过的源代码,需要自行编译。请问binary和source有什么原创 2021-05-18 12:41:11 · 1285 阅读 · 1 评论 -
ubuntu无sudo权限以及非root的用户,用apt安装软件
1、apt-get简介在Ubuntu系统中,经常要用到apt-get install XXX指令来安装软件,由于常常需要root权限来操作,所以搭配sudo食用口感更佳,apt-get指令对于安装、卸载、升级软件提供一条龙服务,对比于源码安装,实在是业界良心。1.1 源码安装源码安装的流程一般是三部曲:./configuremakemake install ./configure是为了检测目标安装平台的特征,并且检查依赖的软件包是否可用或者是否缺少依赖软件包,configure事实上是个转载 2021-04-09 17:01:59 · 30576 阅读 · 1 评论 -
Linux下二维码生成工具:QRencode
1、qrencode的使用1.1 语法格式:Usage: qrencode [OPTION]… [STRING]OPTIONS:-o:输出的二维码文件名。如test.png。需要以.png结尾。-表示输出到控制台。-s:指定图片大小。默认为3个像素。-t:指定产生的图片类型。默认为PNG。可以是PNG/ANSI/ANSI256/ASCIIi/UTF8等。如果需要输出到控制台,可以用ANSI、ANSI256等STRING:可以是text、url等1.2 举例根据URL生成二维码图转载 2021-03-05 20:51:06 · 1510 阅读 · 0 评论 -
Linux遇到Aborted (core dumped)
1、问题描述2、关于Core Dump的分析2.1 什么是Core DumpCore的意思是内存, Dump的意思是扔出来, 堆出来。在开发(或使用)一个程序时,有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped)。虽然系统没事,但我们下次仍可能遇到相同的问题。这时候可以查看一下有没有形如core.PID的core文件生成,这个文件便是操作系统把程序down掉时的内存内容扔出来生成的,让我们或是 debugger 做为参考。这个动作就叫作 core dump。c原创 2021-01-02 19:49:02 · 63421 阅读 · 3 评论 -
Cancellation & C++ Exception
1、问题描述2、相关分析2.1 总述最近在关注Linux下的C++多线程编程,感觉是处处是地雷。Death of Thread(线程的死亡)有几种原因:a. 自然死亡 - 线程完成了其执行的任务,即执行到入口函数的末尾并返回。b. 自杀 - 线程可能因为某些内部错误,选择了自杀,即调用pthread_exit()c. 谋杀 - 被某个知道其tid的线程,调用pthread_cancel杀死今天只说谋杀这个情况,即关注 pthread_cancel & c++ exception转载 2021-01-02 19:46:17 · 1280 阅读 · 0 评论 -
nohup 后台运行
程序挂在后台1、nohup命令nohup 命令 > XXX.log &,会将本应在屏幕上显示的输出,重定向到同级目录的XXX.out中,即后台运行并把stdout输出到文件nohup.out中,可以使用 > 来重定向输出。2、例子:nohup python a.py > a.log &nohup sh a.sh > a.log &3、应用环境一般都是在linux下4、nohup是否有匹配的&nohup command_line或者原创 2020-05-19 17:28:31 · 14717 阅读 · 0 评论 -
Linux下解压分包文件zip(zip/z01/z02)
分包压缩的zip文件不能被7z解压,且这种格式是Windows才能创建出来,在Linux下不会以这种方式去压包。下面是在Linux下处理这种文件的做法:方法一:cat xx.z01 xx.zip > full.zipunzip full.zip方法二:zip xx.zip --out full.zipunzip full.zip方法三:zip -s 0 xx.zip --out full.zipunzip full.zip...转载 2020-05-19 17:43:40 · 4149 阅读 · 0 评论 -
linux命令 移动/复制文件/目录到指定目录下
1、复制文件复制文件:把1.txt 复制到根目录下的sbin目录 cp +文件名(可带路径)+目标路径(带路径) 如:cp 1.txt ~/sbin/2、复制目录复制目录:把release 复制到根目录下的nfs目录下(1).【cp】 +【-r】+【目录名(可带路径)】+【目标路径(带路径)】 -r 表示复制目录下所有子目录以及文件 如:cp -r relea转载 2020-05-20 15:19:45 · 85755 阅读 · 0 评论 -
pytorch报错:RuntimeError: CUDA out of memory.(CUDA内存不足)
查看GPU的运行状况程序运行中可以通过watch -n 0.1 -d nvidia-smi命令来实时查看GPU占用情况,按Ctrl+c退出通过nvidia-smi命令来查看某一时刻的GPU的占用情况1、训练阶段如果是训练时遇到该问题,说明模型的参数太多了,将模型的参数减少该问题就解决了,改小batch_size是不能解决的(我将batch_size设为1都没解决,而且报错时的内存数据都没变),因此,出现这个问题,应该有三个原因:GPU还有其他进程占用显存,导致本进程无法分配到足够的显存缓原创 2020-05-20 19:32:02 · 26222 阅读 · 2 评论 -
Ubuntu16.04中修改文件名时遇到sftp error #2:No sucn file
1、右键Rename失败在向服务器上传了一个大文件后,由于文件名带着中文字符,在MobaXterm中显示的是乱码,右键Rename的时候,报错sftp error #2:No sucn file2、使用mv命令进行重命名mv命令是move的缩写,可以用来移动文件或者进行文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。例如:mv 原文件名 修改后的文件名...原创 2020-05-24 23:11:38 · 3286 阅读 · 0 评论 -
Ubuntu解压缩zip,tar,tar.gz,tar.bz2
1、ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台上使用,比如Linux, Windows以及Mac OS。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。1.1、使用zip命令压缩一个目录:zip -r XXX.zip directory_to_compress1.2、解压一个zip文档:unzip XXX.zip2、TARTar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时转载 2020-05-26 11:50:29 · 296 阅读 · 0 评论 -
ubuntu删除文件和文件夹的rm命令
在Ubuntu中好多文件或文件夹是不能使用右键删除的,因此知道删除文件或文件夹的rm命令显得尤为重要。1、rm命令的语法rm [选项] 文件名或文件夹名2、rm命令的一些选项-f、–force 强力删除,不要求确认-i 每删除一个文件或进入一个子目录都要求确认-I 在删除超过三个文件或者递归删除前要求确认-r、-R 递归删除子目录-d、-dir 删除空目录-v、-verbose 显示删除结果3、常用的几个rm命令删除一个空目录rm -d 目录名 或 rm -dir 目录原创 2020-07-16 11:27:57 · 10458 阅读 · 0 评论 -
Ubuntu 控制台前多了个 base
忘记自己装了什么,发现自己控制台前突然多了个 base怎么也去不掉,如下所示:去掉的话输入conda config --set auto_activate_base False然后重启,启用的话,将False改成True就可以了,其作用是命令行的Jupyter命令是否生效...转载 2020-11-16 09:44:40 · 873 阅读 · 0 评论 -
非root用户在linux下安装CUDA9.2
1、原因最近在跑Semantics-guided Part Attention Network的代码,作者给出的环境配置是python3.6与pytorch1.6。于是,自己首先创建一个虚拟环境,并使用python3.6然后,依据requirements.txt的,安装了torch1.6:原本以为安装好之后,代码就可以跑起来,可是,现实却给了一巴掌,错误如下:通过torch.cuda.is_available()为false,可以看出安装的torch1.6框架并不能使用预装好的CUDA10.0原创 2020-11-16 17:38:17 · 579 阅读 · 0 评论 -
ubuntu下移植一个服务器的虚拟环境到另一台服务器
1、启动原环境并导出 .yml文件conda activate py35conda env export > environment.yml2、移植虚拟环境到新的服务器2.1、将.yml文件复制到新机器的/home下这一步略,结果如下:2.2 犯得一个错误注意这里我犯了一个错误,当原服务器上的py35这个虚拟环境进行了打包,移植到新的服务器时,不应该事先建立一个和environment.yml同名的虚拟环境(即py35),这样做的话,会导致报错,为了解决错误,只需要将事先新建的虚拟原创 2020-12-15 11:40:58 · 4339 阅读 · 0 评论 -
Linux系统中如何进入退出vim编辑器
在 Linux 中,vim 编辑器是系统自带的文本编辑器,但要修改某个文本文件,就没办法像Windows 那样操作,有些萌萌的小白不会退出,一怒之下直接关机重启,其实百度一下就好啦,这个vim不是特别难,下面给大家简单说说怎么搞。1、进入 vim 编辑器vim 编辑器,可以新建文件也可以修改文件,命令为:vim /usr/local/con.cfg如果这个文件,以前是没有的,则为新建,则下方有提示为新文件;如果文件已存在,则没有提示。进入编辑器后,我们先按“i”,即切换到“插入”状态。就可转载 2020-12-16 16:35:50 · 9065 阅读 · 0 评论 -
#!/bin/sh与#!/bin/bash区别
1、脚本解释器在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本,cat /etc/shells可以查看系统支持的shell格式:其实第一句的 #! 是脚本解释器的路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,/bin/python脚本,甚至/bin/echo等等。2、shell脚本解释器目前shell脚本中主要有以下两种方式:#! /bin/sh:是转载 2020-12-16 17:38:41 · 1602 阅读 · 0 评论 -
Shell bash 脚本语法
1 Shell介绍Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行转载 2020-12-16 18:02:36 · 857 阅读 · 0 评论 -
Nvidia GPU相关包与命令及参考链接
GPU涉及一些驱动和工具包。列出来便于统一搜藏和翻阅。1、CUDA toolkitCUDA toolkit是Nvidia提供的开发环境,用于创建基于GPU的高性能应用。里面包含CUBLAS库,GPU加速库,调试工具,优化工具以及C/C++编译器(不过CUDA上的驱动版本可能会比单独下载的版本要旧一点,这个是因为CUDA更新没有那么快,跟不上驱动更新)。下载链接安装:cd /home/adminsudo sh cuda_8.0.61_375.26_linux.run安装完毕后设置变量:PATH原创 2020-12-16 21:18:52 · 867 阅读 · 1 评论 -
定时查询服务器显存,并邮件通知
1、背景介绍实验室有多个大佬同时共用一台服务器,每个服务器上有若干块GPU显卡,经常在一台服务器上搭好环境,调好代码,准备跑程序,发现GPU卡已经全被被占了。2、功能:定时查询服务器显卡,若有空卡,则邮件通知。可以设置通知的时间范围(工作时间8-24时)可以设置时间间隔3、安装:需要安装 python 环境(python3.6),建议使用anaconda。pip install nvidia-ml-py python工具pynvml来实现显卡信息的读取与管理pip install转载 2020-12-15 21:15:00 · 675 阅读 · 0 评论 -
Linux下面监控GPU状态与查看文件夹大小
显卡是由 GPU 计算单元和显存等组成。显存用于存放模型、数据,显存越大,所能运行的网络也就越大GPU 计算单元类似于 CPU 中的核,用来进行数值计算。衡量计算量的单位是 flop: the number of floating-point multiplication-adds,浮点数先乘后加算一个 flop。计算能力越强大,速度越快。衡量计算能力的单位是 flops: 每秒能执行的 flop 数量1*2+3 1 flop1*2 + 3*4 + 4*5 3 flop1、监控GPU状态的几原创 2020-12-22 17:00:28 · 1114 阅读 · 0 评论