Ubuntu小技巧收集
虽然之前有学过Shell脚本编程,时间久了这些命令虽然不陌生,但是也不怎么记得,从装了双系统后开始进行blog记载
系统
根目录文件结构
“一切皆文件”
路径
Ubuntu中Home路径:"~/";当前目录"./";当前目录的上一级目录". . /"(有空格)
挂载(mount)
Linux 系统使用任何硬件设备(或硬盘其它分区)都必须将设备文件与已有目录文件进行挂载。如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。
挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(挂载的时候原目录会被隐藏,所以最好是空目录,且不能是根目录以及系统原有目录,不然会造成系统崩溃),访问此目录就等同于访问设备文件。
常用快捷方式及技巧
- 在终端窗口命令提示符下,连续两次Tab、或者三次Esc、或者Ctrl+l快捷键将显示所有命令及工具名称
- Aplication键——键盘上右Ctrl左边的键(Fn),相当于单击鼠标右键
- Terminal终端快捷键操作:
Ctrl +ALT + T:打开终端
Ctrl + SHIFT + V:粘贴(Linux中不需要复制的动作,文本被选择就自动被复制)
Ctrl + D:关闭标签页
Ctrl + L:清除屏幕
Ctrl + R + 文本:在输入历史中搜索
Ctrl+ A:移动到行首
Ctrl + E:移动到行末
Ctrl+ C:终止当前任务
Ctrl+ Z:把当前任务放到后台运行(相当于运行命令时后面加&)
~:表示用户目录路径
常用命令
- df 查看文件系统 - - help: 帮助~
- ln -s srcPath destPath: 为某个文件在另一个位置创建一个链接镜像(软连接),不加-s为硬链接,生成相同大小的文件(可以不同名);两种链接都保持多处链接的文件同步变化;软连接可以跨文件系统,可以链接目录,硬链接不行
tips:
- ln - link, s - symbolic
- 用ls查看一个目录时,如果文件后面有一个@符号,那就是一个用ln 命令生成的文件,用ls -l命令去查看,就可以看到link的路径。
- 创建目录时,默认会生成两个目录项:”.”和”…”。前者的inode码是当前目录的inode码,等同于当前目录的”硬链接”;后者的inode码是当前目录的父目录的inode码,等同于父目录的”硬链接”。所以,任何一个目录的”硬链接”总数,总是等于2加上它的子目录总数(含隐藏目录)。
grep
- conda list | grep XXX
grep查找有XXX的list名
安装
- conda install XXX -n env_name 表示安装到这个环境下
- deb双击直接安装,不行的话见下述命令
- sudo dpkg -i 文件名(安装软件的时候注意是不是有图形版本直接安装)(sudo是管理员权限)
sudo apt-get -f install安装依赖关系(网络安装,详见apt),不要轻易用update
安装本地包pip install xxx.whl 、解压.gz后python setup.py install - 罗技键盘(使用适配器款)失灵:sudo apt-get install compizconfig-settings-manager
应用快捷键
-切换输入法:Ctrl + blackspace/shift
命令窗口合并,添加:Ctrl + T
命令行下复制粘贴:CtrlShift+ C/V
当前文件夹文件名补充Tab
深度学习-nvidia
- invidia-smi查看显卡、CUDA版本信息
CUDA,cudatoolkit,nvcc的关系
- cudnn(这个在镜像源下载包的时候就会看到)
CUDA看作是invidia提供的工作台,cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
- cudatoolkit(版本不对应会影响到cuda的实际使用)是miniconda等平台提供的用来build pytorch的一个工具包,它是Nvidia所提供的cuda的一个子集。
*pytorch和cudatoolkit版本并不是一一对应的关系,一个pytorch版本可以有多个cudatoolkit版本与之对应。例如1.5.1版本的pytorch,既可以使用9.2版本的cudatoolkit,也可以使用10.2版本的cudatoolkit。
- nvcc,CUDA的编译器,类似于gcc是c语言的编译器
- NVIDIA driver驱动版本向下兼容
CUDA有两个不同版本的原因
- CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如9.2和10.0等)。
- 用于支持driver API的必要文件(如libcuda.so)是由GPU driver installer安装的。nvidia-smi就属于这一类API。
- 用于支持runtime API的必要文件(如libcudart.so以及nvcc)是由CUDA Toolkit installer安装的。(CUDA Toolkit Installer有时可能会集成了GPU driver Installer)。
- nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。