基本信息
记录一些日常使用的终端命令,便查。
Linux通用
设置grub开机等待时间
参见1
2sudo vim /etc/default/grub
# grub配置文件
vim做如下修改,保存退出:1
2# GRUB_HIDDEN_TIMEOUT=0 # 需注释掉
GRUB_TIMEOUT=3 # 等待时间为3s
更新grub,使之生效。1
sudo update-grub
vi/vim 编辑器常用命令
参见 CSDN1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30##命令模式
# 复制
yy # 复制单行
2yy # 复制2行 n就n行
# 粘贴
p # 小写,光标位置_下_一行粘贴
P # 大写,光标位置^上^一行粘贴
# 删除
dd # 删一行
3dd # 删3行 n就n行
dw # 删光标处的本单词
3dw # 删光标处连续的3个单词
# 查找
/word # 找 “word”的字符串 (向下)
# 撤销
u # 撤销上一步
. # 小点 重复上一操作
Ctrl+ r #多次撤销
# 保存与退出
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
##
在可视模式下选择要移动的列,操作为,esc从编辑模式退到命令模式,将光标移到需要缩进的行的行首,然后按shift+v,可以看到该行已被选中,且左下角提示为“可视”;
此时,按键盘上的上下左右方向键,如这里按向下的箭头,选中所有需要批量缩进的行;
选择好了之后,按shift+>,是向前缩进一个tab值,按shift+<,则是缩回一个tab值。
文件与目录管理
比较两个目录差异
diff
给定两个目录,如何找出哪些文件因内容不同
1 | diff --brief --recursive dir1/ dir2/ |
或者使用1
2
3diff -qr dir1/ dir2/
# -q 仅显示有无差异,不显示详细的信息
# -r 比较子目录中的文件
文件压缩和解压
打包成tar.gz格式压缩包1
tar -zcvf renwolesshel.tar.gz /renwolesshel
解压tar.gz格式压缩包1
tar zxvf renwolesshel.tar.gz
打包成tar.bz2格式压缩包1
tar -jcvf renwolesshel.tar.bz2 /renwolesshel
解压tar.bz2格式的压缩包1
tar jxvf renwolesshel.tar.bz2
压缩成zip格式1
zip -q -r renwolesshel.zip renwolesshel/
解压zip格式的压缩包1
unzip renwolesshel.zip
Ubuntu查找文件或文件夹
参见 https://blog.csdn.net/sunmingyang1987/article/details/107668149
找文件
1 | locate 目录名/sh #查找目录名下的sh开头文件 |
找文件夹
1 | find [directory] -name filename #查找目录名下的filename文件夹 |
加入额外的搜索条件,根据文件大小和文件名来搜索:让我们查找所有文件名匹配通配符模式“*.JPG”和文件大小大于 1M 的文件1
2
3sudo find /home/hi -name ADE* # 命名为ADE开头的文件夹或文件
find / -type f -name "*.JPG" -size +1M
find / /home -xdev -name ngirc # 避免/run/user/1000/gvfs': Permission denied错误 加-xdev参数 [避免gvfs错误](https://unix.stackexchange.com/questions/77453/why-cannot-find-read-run-user-1000-gvfs-even-though-it-is-running-as-root)
查看文件夹大小 more
1 | du -sh |
查看磁盘容量
1 | df -h |
GCC版本切换
1 | sudo update-alternatives --config gcc |
查找大文件(夹)
找大文件夹
方法一
(所有目录)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# du -am | sort -nr | head -n 15 # 运行时间较长
1215060 .
369830 ./data
124092 ./myfolder
119186 ./data/volleyball
107788 ./LJ
77811 ./rx
73689 ./anaconda
69774 ./.PyCharm2018.2
69770 ./.PyCharm2018.2/system
69069 ./.PyCharm2018.2/system/caches
68741 ./.PyCharm2018.2/system/caches/content.dat.storageData
66731 ./JRY
59862 ./data/volleyball/videos
59151 ./data/volleyball/volleyball.zip
58626 ./anaconda/pkgs方法二
(当前目录)1
# du -s * | sort -nr | head -n 15 # 运行时间较短
方法三
(优选 当前目录,显示单位为Gb/Mb)1
2# du -hsx * | sort -rh | head -n 15 # 运行时间较短
# du -h --max-depth=0 * #当前目录下各文件占用情况
找大文件
1 | # find . -type f -printf "%k %p\n" | sort -rn | head -n 15 |
显卡驱动cuda及软连接
参见 https://blog.csdn.net/qq_37424778/article/details/115293430
查看.bashrc中环境配置
1 | ~/.bashrc |
查看编译使用的cuda环境
1 | nvcc --version |
启动/关闭vncserver1
2vncserver :1
vncserver -kill :1
CONDA使用
国内镜像源
添加通道 more info
1 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/查看channels
1 cat ~/.condarc
创建
1 | conda create -n torch160 python=3.7 -y |
-y :表静默yes
安装torch 1.6.0
for cuda10.1 more info1
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1
apex包 & inplace-abn
以前需要编译安装,现conda已加入此包。1
conda install -c conda-forge nvidia-apex
inplace-abn:1
2# PyTorch >=1.1 & CUDA >= 10.0
pip install inplace-abn
MMCV等包
MMCVgithub1
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
运行
nohup命令
应对网络异常中断,使程序执行不受干扰。1
2
3nohup python -u train.py > run_lr_02.log 2>&1 &
nohup python -u train.py > run_r3.log &
#CUDA_VISIBLE_DEVICES=1, python train.py
问题速查
连显示器无显示
因:nvidia-smi,可看到是输出关闭了
解:关闭显示服务,重启。1
sudo service lightdm stop
1
sudo service lightdm restart
程序中断后未释放内存
参见 https://blog.csdn.net/yjl9122/article/details/789209861
2
3
4
5
6
71.先关闭ssh(或者shell)窗口,退出重新登录
2.查看运行在gpu上的所有程序:
fuser -v /dev/nvidia*
3.kill掉所有(连号的)僵尸进程
工具
可视化 for 图像分割
法1: 已尝试,可行
参见CSDN_Pytorch可视化语义分割特征图
法2: 未试
参见CSDN_Grad-CAM在语义分割中的pytorch实现
法3:MMengine,原理同法1,附带其他的工具箱
参见mmengine的特征可视化中文教程
python中图像处理常用三包
CV2、 PIL、 matplotlib
参见CSDN_python中常用的图片处理的函数