Note | 常用指令和教程
Ubuntu操作系统
基础操作
查询IP:
ifconfig每十秒检测一次GPU状态:
watch -n 10 nvidia-smi安装deb文件:
sudo dpkg -i test.deb复制文件时查看进度:
cp -v ori_path new_path
-v是查看执行情况。- 查询占用swap分区的进程ID:
for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr
修改文件或文件夹名称:
mv forename newname删除(不放入回收站,会直接删除)
删除当前目录下所有文件:rm ./*
删除当前目录下以patch开头的所有文件:rm ./patch*查看磁盘空间:
df -h
查看文件大小:ls -hl filename
-h是human readable的意思,会更直观地显示大小。
查看文件夹大小:进入该文件夹后:du -sh
查看当前文件夹下文件名含“qp_42”字符串的文件大小总和:find . -name "*_qp_42*" | xargs du -BG -c
-BG是以GB为单位输出,-c是最后输出总和。详情可参见du --help
查看每个用户的磁盘空间:sudo du -sh /home/*- 挂载和取消挂载
https://www.saltycrane.com/blog/2008/06/mount-drives-manually-on-ubuntu-linux/
sudo fdisk -l # 查看磁盘对应位置,假设是/dev/sdd1
sudo mkdir /media/usr/diskname # 假设磁盘名字为sdcard
sudo mount /dev/sdd1 /media/usr/sdcard # 挂载
sudo umount /media/usr/sdcard # 取消挂载
SSH-ubuntu
参考:https://abcdabcd987.com/ssh/
登录退出
ssh usrname@ip:ip可以换成域名或别名(后)。
退出:exit
设置SSH秘钥以免密登录
以下在本地操作:
生成SSH秘钥:ssh-keygen
默认情况下,生成的公钥放在了 ~/.ssh/id_rsa.pub,私钥放在了 ~/.ssh/id_rsa
记住我们的公钥:ssh-copy-id user@remote -p port,port是端口号,默认为22。
设置别名以免IP登录
在本地的~/.ssh/config里追加以下内容:
Host lab(别名)
HostName remote(IP)
User user
Port port
此后,直接ssh lab即可。
传输文件
和ssh类似,而且可以设置别名。注意这里是大写P。
# 把本地的 /path/to/local/file 文件传输到远程的 /path/to/remote/file
scp -P port /path/to/local/file user@remote:/path/to/remote/file
# 也可以使用别名
scp /path/to/local/file lab:/path/to/remote/file
# 把远程的 /path/to/remote/file 下载到本地的 /path/to/local/file
scp lab:/path/to/remote/file /path/to/local/file
# 远程的默认路径是家目录
# 下面命令把当前目录下的 file 传到远程的 ~/dir/file
scp file lab:dir/file
# 加上 -r 命令可以传送文件夹
# 下面命令可以把当前目录下的 dir 文件夹传到远程的家目录下
scp -r dir lab:
# 别忘了 . 可以用来指代当前目录
# 下面命令可以把远程的 ~/dir 目录下载到当前目录里面
`scp -r lab:dir/ ./
设置短密码
通过:sudo passwd YourUsrname 来设置。
驱动问题(循环自登陆,分辨率异常)
ctrl+alt+f1进入命令行模式。sudo /etc/init.d/lightdm stop关闭lightdm服务。wget http://cn.download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run,下载最新驱动。注意改最新的版本号。- 驱动文件将会在当前目录。赋权限:
sudo chmod a+x NVIDIAXXXXX.run。 - 卸载旧驱动:
sudo sh ./NVIDIAXXXXX.run --uninstall。所有问题都默认回车。 - 安装新驱动:
sudo sh ./NVIDIAXXXXX.run -no-x-check -no-nouveau-check -no-opengl-files。所有问题都默认回车。 - 重启lightdm服务:
sudo service lightdm start,回到图形界面。
boot空间不足
参考博文:https://blog.csdn.net/g15827636417/article/details/69803118
Win10 & Ubuntu16.04 双系统
基本教程:https://blog.csdn.net/s717597589/article/details/79117112/
注意:
- 强烈建议装英文。原因很简单,cd 下载(等其他汉字) 在命令行模式下非常麻烦,甚至无法表示。
- 和教程不同,/home大一些,越大越好,因为后期大部分软件都装在/home。/usr比/home可以小很多。
英文系统装拼音:
https://blog.csdn.net/Areigninhell/article/details/79696751
建议:不要在装系统的过程中选择汉语keyboard;后面我遇到了很多问题。
Budgie Desktop
好看的桌面,但还是别装了,在服务器上出现了反复重启的情况。
http://tipsonubuntu.com/2016/11/09/install-budgie-desktop-ubuntu-16-04-16-10/
搜狗输入法乱码
cd ~/.config
rm -rf SogouPY* sogou*
注销后生效。
zip解压中文乱码
unzip -O CP936 xxx.zip
创建桌面快捷方式
直接把/usr/share/application 下面的图标,复制到/desktop即可
导入中文字体
https://zh-cn.libreoffice.org/download/fonts/
推荐方正字体。
注意最后运行:
fc-cache -fv # 更新字体缓存
Python3
argparse库
https://zhuanlan.zhihu.com/p/31274256
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-d','--dims',type=str,help="video resolution, e.g. 480p.") # 480p,720p,1080p
parser.add_argument('-ql','--qplist',nargs='+',type=int,default=[12,17,22,27,32,37,42,47],help="QPs under evaluation.")
parser.add_argument('-vl','--videolist',nargs='+',type=int,default=list(range(19)),help="videos under evaluation, start from 0.")
parser.add_argument('-cl','--cbrlist',nargs='+',type=int,default=[300,400,500,700],help="cbrs under evaluation.")
parser.add_argument('-g','--gpu',type=str,help="GPU")
parser.add_argument('-ml','--modellist',nargs='+',type=int,default=[0,0,1018000,806000,694000,588000,782000,0],help="best models for each QP.")
args = parser.parse_args()
os.environ['CUDA_VISIBLE_DEVICES'] = args.gpu
for index_v in args.videolist:
...
注意:不要随意增加nargs=1,否则会变成list。
调用时:
python3 main.py --dims=480p --gpu=3 -vl 3 14 15
TensorFlow
pycharm:ImportError: libcusolver.so.8.0: cannot open shared object file
在 Run → Edit Configuration 中编辑环境变量为:PYTHONUNBUFFERED=1;LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64
CUDA8.0+Cudnn6.0+TensorFlow1.4.0
基本教程:https://blog.csdn.net/jinyuan7708/article/details/79642924
教程唯一的问题:修改环境变量那里写的不好,容易看成一行。改为:
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
$source /etc/profile #使配置文件生效,再次执行。
提醒:
- pip3不要随便升级。新版本有一堆问题。
- 安装之前,一定要搞清楚版本对应。否则还得重来。
- 其余工具,如可能用到的gcc等(本教程用不到),都不建议升级,甚至要降级。所以以后别随随便便根据提示升级工具,很有可能和环境不匹配。
Softwares
PuTTY
在 Connection -> SSH -> Tunnels 里输入:Source port:52698,Destination:localhost:52698,选择 Remote Auto。
然后进入会话。
tmux
参考:https://www.cnblogs.com/wangqiguo/p/8905081.html
如果一个程序运行时间较长,为了防止ssh意外退出或断开连接,我们最好使用tmux。
借助tmux,即使关闭ssh,进程仍然会继续。
在remote端安装会话管理程序tmux:
sudo apt-get install tmux- 在remote端进入名为“session1”的会话:
tmux new -s session1
此时,你就进入了tmux管理的会话中,网络中断或ssh退出都不会关闭执行中的程序。
最下端绿色条依次标记了会话名、当前会话中该窗口的序号、窗口名(比如bash,htop等),星号是指当前窗口。 - 暂时离开会话:
ctrl+b d,d是detach的意思。 恢复“session1”会话:
tmux a -t session1。-t是指定会话名。- 销毁会话:
tmux kill-session -t session1
如果没有退出会话,先ctrl+b :进入命令行模式,再输入kill-session -t session1 - 重命名会话:
tmux rename -t oldname newname
如果没有退出会话,ctrl+b $ newname即可。 查看后台中运行的tmux会话列表:
tmux ls
如果没有退出会话,可以直接ctrl+b s查看。
一个tmux会话可以分为很多windows。
- 新建一个窗口(初始就有1个):
ctrl+b c - 修改窗口名:
ctrl+b , newname - 切换窗口:
ctrl+b p,p是previous的意思
ctrl+b n,n是next的意思
ctrl+b 2,切到2号窗口
ctrl+b w,列出所有窗口
ctrl+b l,切换相邻窗口 - 关闭窗口:
ctrl+b &,关闭当前窗口,y确认。
每个窗口还可以拆分为多个pane,实现小分屏效果。
ctrl+b %,左右分屏ctrl+b ",上下分屏
以上组合可以叠加哦!实现X264块分割效果。
光标在哪闪,哪边就是活动的。
切换pane:
ctrl+b o,依次切换
ctrl+b Up Down Left Right
ctrl+b Space,重新随机布局- 最大化当前pane:
ctrl+b z,再按一次恢复 关闭当前pane:
ctrl+b x
开启滚轮:set -g mouse on
或ctrl+b后按Page Up/Down 操作,结束后q退出。
传递图形界面
我们可以使用X Server。参考https://blog.csdn.net/weixin_42232749/article/details/81624156设置。
设置完后,每一次登录,记得-X:ssh -X remote
此时,在远程输入gedit或firefox等都可以看到界面。
remote-atom
参见:https://atom.io/packages/remote-atom
使用方法:先在客户端的Atom上,打开remote-atom的server;
然后通过ssh -R 52698:localhost:52698 509的命令登录;
再通过ratom filename即可本地编辑,实时同步。
pscp传文件
先连接putty,然后在cmd中执行:pscp ori_file_path xing@ip: target_file_dir
MATLAB2018a
资源:https://pan.luochenzhimu.com/disk/software/MATLAB/MATLAB_R2018a/Linux/
教程:https://blog.csdn.net/davidhopper/article/details/79701177
不要装在 /usr !!! 建议装在/home/XXX 下面,否则破解可能会出问题。
后记:一定要装在/home下!!!否则一堆问题!!!
TeX Live + TeXstudio
1. 安装
Windows:
https://blog.csdn.net/lvshu_yuan/article/details/80468425
注意文末给了TexLive的镜像地址,去下iso。
Ubuntu:
- 卸载干净原来安装错误的TeX Live和TeXstudio。
sudo apt install texlive-fullsudo apt-get install texstudio
2. Trick
F7开启预览。
Visio
1. 转PDF,再转成裁剪好的eps
Visio画好图片。
- “文件/打印”,选择Adobe PDF打印机;
点击“属性”,在“Adobe PDF设置”选项卡中选择合适的纸张,将默认设置改成“高质量打印”;
将Visio文件打印成pdf。
需要注意:- 纸张一定要足够大,否则可能会有一部分图片显示不出来。不必担心在pdf文件中图像周围的白边,可以在下面的步骤中裁减。
- 如果直接另存为PDF,公式会模糊。
打开生成的pdf文件,选择“文件/另存为”;
把保存类型改成“内嵌式 postscript(*.eps)”,得到eps文件。将生成的eps文件用gsview打开,在media菜单中选择合适的纸张,使得所有的图像细节都显示出来;
在orientation中选择合适的方向,比如landscape等;
这一步一定要保证所有的图像细节都在一张页面上显示出来,所以纸张大小不能太小,否则图片会分成几页显示。选择“File/PS to EPS”,会弹出一个对话框,确保已经选中了“Automaticallycalculate Bounding Box”,点击Yes,输入文件名保存即可。
将pdf另存的eps文件和gsview裁减的eps文件用纯文本编辑器打开,找到%%BoundingBox一行,可以看到gsview已经将图片裁减了。
或直接在LaTeX中引用裁剪后的eps,会看到裁剪效果。
2. Visio中的高清图片降质问题
如果用Visio编辑高清图片,导出pdf经常会遇到清晰度问题。
我的方法:
先导出为tif,文件会非常非常大,但自动完成了裁剪功能!
然后再创建pdf,导入tif,这样得到的pdf会小很多,但清晰度感觉几乎不变~
Note | 常用指令和教程的更多相关文章
- Note | 常用指令,工具,教程和经验笔记
目录 图像处理 机器学习和数学 编程环境和工具 写作工具 其他 图像处理 获取图像频域并分解为高低频:https://www.cnblogs.com/RyanXing/p/11630493.html ...
- ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh
Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...
- git常用命令说明教程
git常用命令说明教程 git介绍 是一个分布式的,版本控制软件.每台使用git的电脑都是一个分版本库.svn是集中管理的. 安装git 一 git相关操作 1.官网下载最新版安装https://gi ...
- 02: vue.js常用指令
目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...
- 新人成长之入门Vue.js常用指令介绍(一)
写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...
- Linux常用指令总结
概述 因为平时不是经常使用Linux系统,每次用到都需要重新温习一遍,这里对自己平时经常使用到的指令做个小结,方便后面直接查阅. 常用指令 登陆root指令 sudo su - 安装软件及卸载指令 d ...
- vue入门-常用指令操作
指令:v-xx组成的特殊指令,如果一个标签中有指令会默认替换原有的书 v-model:实现数据和视图的双向绑定 v-text:在元素中插入值 v-html:在元素中插入标签或者插入文本 v-if:根据 ...
- Git Bash 常用指令
1. 关于git bash常用指令 推荐博客: 史上最简单的 GitHub 教程 猴子都能懂的GIT入门 Learn Version Control with Git for Free Git Do ...
- vue 的基本语法和常用指令
什么是vue.js Vue.js是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Wee ...
随机推荐
- 其它 搭建https服务器
原因是这样的,做了个淘宝的数据管理系统(仅供自己使用),然后需要淘宝卖家的生意参谋里面的一些数据,比如实时访客,里面有每个用户搜索什么关键字进来的,这些信息. 自己基于CefSharp开发了一个win ...
- Windows下javac不可用,java -version可以
https://blog.csdn.net/kobedir/article/details/79709287
- python入门(十一):异常
1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...
- SpringCloud-day07-Feign
7.Feign 7.1.Feign简介 声明式服务调用Feign简单介绍下: Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用F ...
- c#遍历一个对象中所有的属性和值
SpDictItem sp = GetCFHObject.GetSpItem("); PropertyInfo[] propertys = sp.GetType().GetPropertie ...
- 使用quaggaJS识别图片中的条形码
quaggaJS是一个纯JS的插件,用于识别图片中的条形码,很方便.一般用于移动端拍照识别,也可以在网页端上传图片识别. github下载地址 首先要指定正确格式的条形码,常见的条形码编码类型有EAN ...
- workerman与thinkphp结合
运行workerman需要安装pcntl和event或者libevent pcntl安装方法: 以php-5.5.20为例,实际情况按自己安装的PHP目录 一. 找到PHP源码,进入 php-5.5. ...
- java中mysql查询报错java.sql.SQLException: Before start of result set
异常:java.sql.SQLException: Before start of result set 解决方法:使用rs.getString();前一定要加上rs.next(); sm = con ...
- python相关注册登录方式
1.使用django自带功能实现登录/退出登录 使用django自带登录功能,前提生成用户(用户注册)使用的是django自带的user,或称models中用户表继承于django自带的user 1. ...
- 【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
Linux系统下命令行连接蓝牙设备 2018年11月26日 10:47:27 Zz笑对一切 阅读数:741 1.打开系统蓝牙 sudo service bluetooth start 1 进入bl ...