
Linux
木盏
坐标 北京
喜欢写博客的CV工程师
levio@pku.edu.cn
展开
-
Linux终止进程(kill process)的一些玩法
经常运行一个程序时,表面上已经终止了,实际上还在后台运行。一来呢,它可能占据端口,导致端口复用的时候报错。二来呢,它可能占用GPU,让你显存直接少一块。很直接,但是不够优雅。用这个命令时需要特别小心,确保不伤及无辜进程。一行命令,就能终止所有的相关进程。原创 2025-04-07 17:09:17 · 254 阅读 · 0 评论 -
命令行重启Ubuntu软件
我是用Todesk远程桌面,如果卡死的时候,只能通过ssh连接命令行。于是,就有了如标题所示的需求。看到发现是"todeskd.service"。原创 2025-03-12 15:06:49 · 340 阅读 · 0 评论 -
【解决】CondaHTTPError: HTTP 000 CONNECTION FAILED for url
Conda新建虚拟环境的时候遇到error,在stackoverflow上着了好久都没有合适的解决方案。最终通过设置国内代理获得解决。原创 2024-07-08 22:21:02 · 1333 阅读 · 0 评论 -
一文搞定cuda版本、显卡驱动及多CUDA版本管理
安装cuda是每个AI从业人员必经之路。网上关于cuda、显卡驱动已经相关命令很多都解释不清楚,于是本文梳理一下,既方便自己记忆,也方便小白学习。原创 2024-05-24 13:55:03 · 2803 阅读 · 0 评论 -
【加速排坑】docker设置国内image镜像源
常见错误:添加的镜像源不可用,比如中科大USTC的docker镜像源不给外面人用,所以大家务必验证镜像源的可用性!第二步:重启docker。原创 2024-01-16 16:33:48 · 2904 阅读 · 0 评论 -
Ubuntu添加新用户(并设置sudo权限)
设定为sudo权限:(注:先有muzhan用户才可执行)原创 2024-01-12 23:46:06 · 641 阅读 · 0 评论 -
【解决】多卡服务器GPU不能多用户同时使用的问题
一台多卡服务器,为提高利用效率,通常有多个用户使用。假设有一台服务器A,分别有0,1,2,3四张卡,我们有两个用户:甲和乙。当甲启动卡0时,乙想用卡1,2,3。但是乙的进程一直卡住了,等甲进程完全结束后也未曾启动。白白浪费了其他3倍的GPU hours,人神共愤。但是Debug的时候又不知道问题出在哪里。原创 2023-09-06 15:33:53 · 1428 阅读 · 0 评论 -
【已解决】Ubuntu无法访问移动硬盘问题
这两个命令都会打印你的所有磁盘信息。但我们还是无法确定那个盘是受损需要修复的。上次拔硬盘而没有安全退出导致硬盘无法访问。,有红色错误提示的就是我们的受损盘,更容易找了。完成以后,拔下移动硬盘,再插上就可以正常使用了~首先,我们要找到硬盘在系统中的位置。,就知道那个盘是咱们需要修复的盘。于是,找方法修复硬盘。原创 2023-02-25 16:53:55 · 6433 阅读 · 1 评论 -
SSH免密登录(简易教程)
这篇文章主要目的为了让读者以最快时间学会SSH免密登录步骤。原创 2023-02-24 13:32:30 · 2235 阅读 · 0 评论 -
ubuntu卸载应用程序
这样一来,就能准确且彻底地卸载chrome了~我们可以发现,chrome浏览器的包名为。原创 2023-02-23 19:28:50 · 1323 阅读 · 0 评论 -
【解决】Linux解决nvidia-smi和nvcc输出cuda版本不一致的问题
其实,一般情况不用担心,只要export路径制定的新版本就可以。但是,对于有强迫症的同学,可以纠正nvcc -V的结果。假设安装了新的CUDA,发现nvidia-smi能显示最新的CUDA版本,但nvcc还是显示老版本。你就会发现,nvcc工具还是指向老版本的路径。咱们可以看到新版本的cuda11.6也在这个路径下(如果不在,说明安装有问题)[图片: cuda11.6 (图片靠自己想象)][图片:cuda10.0(图片靠自己想象)]这就修改了nvcc工具的路径了~原创 2022-12-01 00:34:24 · 5217 阅读 · 0 评论 -
【解决】UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xef in position 0: ordinal not in range(128
问题描述:我用python打开一个tsv格式的文件,发现有编码问题,报错如下:原创 2022-04-11 15:55:15 · 4844 阅读 · 0 评论 -
linux指令获取terminal框的宽高长度
通过获取terminal框,我们做的进度条就可以更好看stty size通过python调用这个结果:h, w = os.popen('stty size').read().split()原创 2021-09-13 17:19:27 · 828 阅读 · 0 评论 -
scp传输文件时指定端口
如果用ssh连接远程服务器需要指定端口的话(如不指定默认22号端口),那么用scp拷贝远程文件时也需要指定端口。指定方式如下:scp -P 31899 -r usrname@xxx.xxx.xxx.xxx .以"-P"的形式放到scp后面。对应的ssh连接命令是:ssh usrname@xxx.xxx.xxx.xxx -p 31899这里的"-p"是小写。...原创 2021-09-06 16:06:07 · 9183 阅读 · 0 评论 -
linux查询本机IP地址(可用于SSH访问)
ifconfig | grep inet返回结果:第一排是局域网IP(v4),第二排是局域网IPv6第三排是广域网IP(v4),第四排是广域网IPv6咱们只需要看第三排就Ok了。第三排inet后面那四个数,就是咱们远程ssh连接本机时用到的。假设第三排是"inet 10.11.12.123",那么ssh连接只需:ssh username@10.11.12.123这时默认连接端口是22。...原创 2021-08-30 11:24:27 · 11956 阅读 · 3 评论 -
linux终端分割工具tmux
tmux可以把linux下的terminal分割成用户想要的样子,可以方便观测。1. 安装方法:(ubuntu下)sudo apt-get install tmux2. 快速使用方法tmux安装好以后,直接在终端输入tmux,就可以进入tmux会话。然后就可以分割窗口了。上下分割:tmux split-window左右分割:tmux split-window -h调整分割比例:左手按住ctrl+b不动,右手按方向键(上、下、左、右)。即可完成相应调整。 ..原创 2021-01-04 15:46:08 · 1409 阅读 · 0 评论 -
Ubuntu重装显卡驱动
本机环境如下:系统:ubuntu16.04GPU:RTX 2080tiCUDA: 10.1NVIDIA driver: 430.40不知为何,每用一段时间,显卡驱动就会崩。大概两个月会重装一次显驱,所以把步骤用博客记录一下:一共分6步1. 开机跳到F1界面:CTRL+ALT+F12. 关掉图形界面:sudo service lightdm stop3. 改变显驱文件的模式:sudo chmod a+x NVIDIA-Linux-x86_64-430.40.ru原创 2020-09-09 18:01:25 · 1878 阅读 · 0 评论 -
Linux终端自定义命令(超实用技巧)
今天记录的是一个能够体验linux terminal操作体验的技巧。技巧描述为:linux终端的任何命令都可以替换成其他的字符串来代替。具体怎么玩呢?逐步往下看,惊喜会越来越多。比如,我觉得查看GPU运行状态的nvidia-smi太长,每次输入都很麻烦,我想改成"mygpu"。操作如下:vim ~/.bashrc在文末加上一句:alias mygpu='nvidia-smi'然后:wq保存推出,再source一下:source ~/.bashrc这个时候,你的l原创 2020-08-18 21:27:30 · 15857 阅读 · 2 评论 -
Linux下的终端中用shell命令打开文件夹窗口
用惯了linux,总会一言不合ctrl+alt+t打开terminal操作文件。有的时候想看看文件,terminal那种文件显示太朴素,对于图像视频等文件的缩略图看不出来。所以今天推荐的工具是nautilus直接在命令行输入:nautilus直接会打开根目录的文件夹窗口。如果想打开当前目录的文件夹窗口,可以:nautilus .直接解决需求,干净又卫生。...原创 2020-07-31 14:56:10 · 5270 阅读 · 0 评论 -
pip清理cache以及安装模块时跳过cache
用pip安装python模块的时候,重复安装某一模块会经常出现“Using cache”,这样很容易装错版本。于是在stackoverflow找到大概两种方法。1. 直接跳过cache:(tqdm是栗子)pip install -U tqdm2. 清理pip cachecd ~/.cache/pipsudo rm -rf *注意:做rm的时候一定要看清楚路径,别删了库最后只能跑路了。参考链接:https://stackoverflow.com/questions/9510474原创 2020-07-08 21:19:31 · 14507 阅读 · 2 评论 -
GPU排队脚本——一旦空闲就触发python脚本
今天写了一个GPU排队脚本,事实上还是挺实用的。有的服务器是多用户使用,GPU的资源常常被占据着,很可能在夜间GPU空闲了,但来不及运行自己的脚本。如果没有和别人共享服务器的话,自己的多个程序想排队使用GPU,也可以用这个脚本。环境非常简单,有python就行了:python==3.7ubuntu==16.04先创建脚本:vim narrow_setup.pycmd = '...原创 2019-11-07 16:52:34 · 7933 阅读 · 8 评论 -
linux用sleep设置定时启动脚本
在Linux开发的过程中,经常需要定时执行脚本。比如你做一个AI项目,第一步需要先下载数据集,第二部跑训练代码。当下载数据集需要一个半小时,你需要等下完以后才能python train.py。如果你不想守着下完,你可以把这两个脚本定时执行。本文给的方法是用sleep的方法。正常情况下,你需要守住两个时间点:1. wget下载完成;2,tar解压完成。wget https://xx...原创 2019-11-07 12:55:10 · 3662 阅读 · 0 评论 -
Linux实用技巧之screen(离线使用服务器训练模型的神器)
用服务器训练模型的时候,经常因为本地断网而导致模型训练终止。而sreen可以解决这个痛楚。screen是Linux系统下的远程会话工具,也就是可以离线会话。先安装screen,需要root权限:sudo apt-get install screen我们可以通过在终端里输入screen:screen进入到这个界面:在这个界面下输入回车键,就可以进入到一个全清空的终...原创 2019-02-26 10:31:05 · 4660 阅读 · 1 评论 -
实用的Linux技巧(持续更新)
在撸项目的过程中,多多少少掌握了一些有意思的shell技巧。于是打算总结一下,一来希望自己不容易忘掉,二来可以做一定的分享。1.安装tree$ pip install treetree在linux环境下,使用十分方便。$ cd my_folder$ tree在指定文件环境下,直接输入tree就可以得到目录的分支结构图,如下:├── ddor.py├── ion.p...原创 2018-09-06 17:42:41 · 942 阅读 · 0 评论 -
python+opencv安装方法,以及关键问题解决【win,linux,mac】
本人早前写了一篇python安装opencv的文章,时过境迁,旧方法已经不是那么好用。于是,本文更新一下安装opencv的方法。大家只需看分割线之前即可。适用系统:windows,linux, macOS适用python版本:python 2/3适用opencv版本:all简而言之,你可以用本文的方法安装各种版本对应各种系统的opencv。你可以使用:pip inst...原创 2018-02-03 15:52:50 · 11588 阅读 · 41 评论 -
非root用户安装或升级CUDA和CUDNN版本
很多框架的版本都受限于CUDA和CUDNN的版本,而如果没有服务器的root权限的话,这将很不方便。非root用户也是可以修改CUDA和CUDNN版本的。亲测有效。方法来自:https://blog.youkuaiyun.com/sinat_20280061/article/details/80421532环境:Ubuntu==16.04.2GPU: GTX 1080Ti原CUDA...原创 2018-12-06 14:53:04 · 10387 阅读 · 4 评论 -
linux下使用python脚本查看CUDA和CUDNN版本
先说说用shell命令查看CUDA和CUDNN版本的方法:查看CUDA版本的命令如下:cat /usr/local/cuda/version.txt查看CUDNN版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2其实CUDA和CUDNN的版本信息写在对应的文件里,如果用上述命令找不到版本信息,那么就用...原创 2018-12-06 12:33:39 · 10195 阅读 · 1 评论 -
用conda创建python虚拟环境
anaconda是十分方便的python全家桶,除此之外,anaconda还可以创建出python虚拟环境。可以说是十分强大了。之前,我整理了一篇关于pip创建虚拟环境的博文:《pip建立虚拟环境》当然,学会pip建立虚拟环境和conda建立虚拟环境的效果都是一样。所以掌握其一就行了,或者根据实际情况使用其中的一种。首先要明白为什么要创建虚拟环境我们经常需要复现别人的工程,不过每个...原创 2018-11-26 16:54:25 · 33796 阅读 · 1 评论 -
Linux系统设置环境变量
经常安装全局性的软件,需要手动设置环境变量。尤其是语言,Python/Julia等等。以及指定python2或python3为默认python解释器,也可以通过设置环境变量来搞定。vim ~/.bashrc通过上面这行代码就可以进入.bashrc的编辑界面,然后按下大写的"G",这时编辑行就会跳到文章的末尾。然后按"i"进入vim插入模式,加入一行(以python为例):exp...原创 2018-08-13 11:29:57 · 1234 阅读 · 0 评论 -
Python调用cmd
Python经常需要用作系统脚本,调用cmd或者shell能够大大提高工作效率。1. os.system使用os.system是最简单直观的调用方法:import oscmd = 'ls'os.system(cmd)这个方法虽然简单,但有一个极大的缺点,无法获得cmd命令的输出。很难做进一步操作。对于'mv','cp'这种没有输出的命令行,可以首先推荐使用这个方法。而对于'l...原创 2019-06-03 16:35:06 · 47045 阅读 · 1 评论 -
pip/anaconda修改镜像源,加快python模块安装速度
      修改镜像源的原因是pip和conda默认国外镜像源,所以每次安装模块pip install ×××或者 conda install ×××的时候非常慢。所以,切换到国内的镜像源会显著加快模块安装速度。pip和conda修改镜像源的方式有所不同,网上有大量教程,我把这些教程总结到一起。pip修改镜像源国内源: ...原创 2018-04-27 20:42:48 · 69784 阅读 · 3 评论 -
安装NVIDIA驱动后ubuntu循环登陆问题解决
博主通过线下runfile的方式安装NVIDIA显示驱动,所以先关闭lightdm,在tty1下进行安装操作。安装完成以后,sudo service lightdm start之后,发现Ubuntu进入循环登陆。通过网上那种"sudo apt-get purge nvidia*"的方法根本不管用。需要卸载掉刚刚安装的NVIDIA驱动,用下面这种方法:(先进入tty1)sudo N...原创 2019-08-07 21:50:35 · 3729 阅读 · 0 评论 -
conda配置代理
conda配置镜像源可以加速模块安装速度,可以在文章《conda修改镜像源》中看到。conda配置代理并不是那么常见,通常公司要求通过代理联网以保证网络安全。所以这个时候,用conda配置代理就有必要了。只需要在.condarc这个文件配置就行了:vim ~/.condarc这个文件中可以看到镜像源信息(如果配置了的话),在下面加上proxy就可以设置代理了:channel...原创 2019-08-07 17:47:06 · 49203 阅读 · 9 评论 -
强制关机导致ubuntu卡在logo界面的解决方法
最近一直因为各种问题重装ubuntu系统。不得不说,win10系统的稳定性还是值得一赞的,大部分问题都可以通过重启解决。然而,ubuntu可不能随便重启。造成ubuntu卡在logo界面的极大可能性就是:文件受损。fsck如果校对不上文件,就会一直悬挂,从而导致开机卡在logo那五个点。那么首先需要弄清楚你受损的文件是什么。1. 在logo处按ctrl+alt+.重启系统;2. 在...原创 2019-08-27 10:51:34 · 23900 阅读 · 1 评论 -
【解决】pip/conda bad interpreter: /home/username/anaconda/bin/python: no such file or directory
如标题所示,这一问题出现在修改anaconda文件路径之后。当自己修改了anaconda路径以后,再用pip或者conda install都会出现这一提示。原因是pip和conda的路径并不会随着你修改anaconda文件夹而修改。你需要分别单独修改pip和conda的路径,如下:vim ~/anaconda3/bin/pipvim ~/anaconda3/bin/conda在第...原创 2019-08-27 21:34:20 · 19259 阅读 · 6 评论 -
ffmpeg压缩视频
经常采用python+opencv处理视频会发现,当用VideoWriter写单帧的时候,实际上不会进行帧间压缩的。所以,往往处理一个视频的所有帧以后发现,输出视频变得非常大。因为就是一堆图片的集合。不过我们可以对输出视频进行进一步压缩,用ffmpeg就可以了:ffmpeg -i input.avi -y -b:a 2000k -s 1800x1080 output.avi可以调节一...原创 2019-09-06 17:57:29 · 2528 阅读 · 0 评论 -
超实用工具you-get(爬取视频数据神器)
最近发现一款超实用的Python工具包,可以直接下载网页上的视频。适用于python3安装方法:pip install you-get使用方法:you-get https://v.qq.com/x/cover/mzc00200hoz43g8.html然后就可以得到mp4格式的视频了~爬取视频数据的神器!...原创 2019-09-07 23:54:48 · 8106 阅读 · 5 评论 -
ubuntu无法添加PPA的解决办法
使用apt-get安装软件经常需要先添加PPA,这样才能下载到apt-cache以外的软件。然而,我在输入"sudo add-apt-repository ppa:xxx"以后,会遇到两个问题:1. 长时间没有响应; 2,添加失败(ERROR: user or team does not exist)以上主要由两种原因导致:1. CA证书损坏;2. 没有绕过代理;我们先重装一遍CA证书...原创 2019-09-20 14:50:06 · 50010 阅读 · 21 评论 -
Ubuntu下创建文件快捷方式
命令非常简单:ln -s /home/xxx/aa/bb/cc /home/xxx/cc建立源路径和目标路径的软链接就可以了。唯一要强调的是,这两个路径都必须是绝对路径。很容易犯的错如下:cd /home/xxx/aa/bb/ln -s cc/ /home/xxx/cc/比较一下这两种操作的不同,下面的操作是错误的~...原创 2019-10-11 16:38:19 · 2049 阅读 · 0 评论 -
pip建立虚拟环境
如果电脑性能不够的,经常需要远程使用服务器来做一些算法运算。但往往你不是root用户,非sudoer。就是说,简单的说,你不能随意安装或者升级软件包。这么做是有道理的,如果公司服务器给你sudo权限,那么你一顿瞎操作,可能就删库跑路了。。。但是,没有sudo权限也很蛋疼,做项目寸步难行。所以你可以选择:1,自己买一台服务器,给自己root权限;2,使用非root操作来代替root权限。...原创 2018-07-26 14:56:17 · 7892 阅读 · 1 评论