摘要:Linux基础
一、基本命令
1.1 相对路径:
1 | ~ # home文件夹 |
1.2 绝对路径:
1 | cd /home/ubuntu/Documents |
1.3 浏览文件夹下内容:
1 | # 查看文件夹下的文件及文件夹(ls: list) |
1.4 创建文件:
1 | # 进入文件夹,在该文件夹内创建 |
1.5 复制文件:
1 | # 复制file1到filecopy,但是不可检测filecopy是否已经存在 |
1.6 移动文件:
1 | # 移动文件到文件夹 |
1.7 删除文件:
1 | # 只能删除空文件夹 |
1.8 修改文件:
1 | # 创建(修改)文件 |
1.9 显示当前路径
1 | pwd |
二、文件权限

Type: 很多种 (最常见的是-为文件,d为文件夹, 其他的还有l,n… 这种东西, 真正自己遇到了, 网上再搜就好, 一次性说太多记不住的).User: 后面跟着的三个空是使用 User 的身份能对这个做什么处理 (r能读;w能写;x能执行;-不能完成某个操作).Group: 一个 Group 里可能有一个或多个 user, 这些权限的样式和 User 一样.Others: 除了 User 和 Group 以外人的权限.
修改权限:
1 | # 形式如下: |
[谁]
u: 对于 User 修改g: 对于 Group 修改o: 对于 Others 修改a: (all) 对于所有人修改
[怎么修改]
+,-,=: 作用的形式, 加上, 减掉, 等于某些权限r,w,x或者多个权限一起, 比如rx
[哪个文件]
- 施加操作的文件, 可以为多个
把 .py 文件可执行
1 | chmod u+w t1.py |
t1.py 文件内加上一句话:
1 | # 指定用什么打开 |
三、VMware安装Ubuntu
3.1 安装拼音输入法
3.2 安装VMware Tools,实现窗口的适应大小,Windows和虚拟机实现复制粘贴。
3.3 Ubuntu系统安装之后,一般没有pip2和pip3,需要手动安装;之后会同时出现pip(不知道什么意思), pip2, pip3。
1 | # 安装pip2 |
四、Anaconda环境管理
参考教程:https://blog.csdn.net/yimingsilence/article/details/79388205
1. 管理conda
1 | # 查看版本: |
2. 创建并激活一个环境
1 | # 创建环境: |
3. 列出所有的环境
1 | # 列出所有的环境 |
4. 管理Python
1 | # 检查哪个版本的python可以被安装 |
5. 管理包
1 | # 查看该环境中包和其版本的列表 |
6. Anaconda.org安装一个包
如果一个包不能使用conda安装,我们接下来将在Anaconda.org网站查找。Anaconda.org向公开和私有包仓库提供包管理服务。Anaconda.org是一个连续分析产品。
提示:你在Anaconda.org下载东西的时候不强制要求注册。
为了从Anaconda.org下载到当前的环境中,我们需要通过指定Anaconda.org为一个特定通道,通过输入这个包的完整路径来实现。
在浏览器中,去 http://anaconda.org 网站。我们查找一个叫“bottleneck”的包,所以在左上角的叫“Search Anaconda Cloud”搜索框中输入“bottleneck”并点击search按钮。
Anaconda.org上会有超过一打的bottleneck包的版本可用,但是我们想要那个被下载最频繁的版本。所以你可以通过下载量来排序,通过点击Download栏。
1 | conda install --channel https://conda .anaconda.ort/pandas bottleneck |
7. pip命令来安装包
对于那些无法通过conda安装或者从Anaconda.org获得的包,我们通常可以用pip(“pip install packages”的简称)来安装包。
提示: pip只是一个包管理器,所以它不能为你管理环境。pip甚至不能升级python,因为它不像conda一样把python当做包来处理。但是它可以安装一些conda安装不了的包,和vice versa(此处不会翻译)。pip和conda都集成在Anaconda或miniconda里边。
1 | ·Linux,OS X: source activate bunnies |
8. 移除包、环境、或者conda
1 | # 在 xsc 环境中移除 iopro |
9. 查看 CUDA 版本
1 | # 查看 CUDA 版本 |
10. 查看GPU信息
Linux查看显卡信息:
1 | lspci | grep -i vga |
1 | lspci | grep -i nvidia |

前边的序号 “0b:00.0”是显卡的代号(这里是用的虚拟机);
查看指定显卡的详细信息用以下指令:
1 | lspci -v -s 0b:00.0 |
查看Nvidia显卡信息及使用情况:
1 | nvidia-smi |

这是服务器上 GeForce GTX 1080 Ti 的信息。
上面的表格中:
第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
下面一张表示每个进程占用的显存使用率。
显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。我跑caffe代码的时候显存占得少,GPU占得多,师弟跑TensorFlow代码的时候,显存占得多,GPU占得少。