# 电科2024视觉组夏令营学习规划1-配置环境和熟悉常见的系统命令

**URL:** <https://rcbbs.top/t/topic/988>\
**Category:** 电子科技大学\
**Tags:** toc, 视觉\
**Created:** [2024 年8 月 17 日 02:08 UTC](https://rcbbs.top/t/topic/988 "2024-08-17T02:08:41Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hehehe](https://rcbbs.top/letter_avatar_proxy/v4/letter/h/e56c9b/32.png) [@hehehe](https://rcbbs.top/u/hehehe)\
**Post date:** [2024 年8 月 17 日 02:08 UTC](https://rcbbs.top/t/topic/988/1 "2024-08-17T02:08:41Z")

</div>

## 

### 一，装系统

能力足够就尝试在自己电脑上面装双系统，其他人可以就先安装虚拟机（安装虚拟机 百度？ 使用vmware 创建虚拟机，然后安装ubuntu20的系统）

装双系统的教程参考后面内容（ubuntu20\_装系统）（不推荐直接安装，建议先完成基本任务后再来研究）。

# Ubuntu20.04环境安装总结

> 建议选择同版本，试过很多其它版本，最后因为各种问题兜兜转转又回来了，网上很多教程因为失效性问题，也不能够完全适应普通人的使用。

### 系统安装

换源 //或者可以直接在系统里面 （软件和更新）中换源

```shell
sudo gedit /etc/apt/sources.list
# 百度清华源
sudo apt update 
sudo apt upgrade 

```

### 换系统驱动

在应用 **软件和更新** 附加驱动里面来实现换驱动，根据自己的电脑来，我们使用的是535

## [cuda](https://developer.nvidia.com/cuda-toolkit-archive)安装

### software & update 安装驱动515

```shell
# 检查驱动版本
cat /proc/driver/nvidia/version

```

### 安装cuda（推荐安装11.8）后进行添加环境变量的操作

```shell
# 打开
sudo gedit ~/.bashrc
# 添加到末尾
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 保存后退出

```

```shell
# 激活
source ~/.bashrc

```

```shell
# 检查输出
nvcc -V

```

### [cudnn](https://developer.nvidia.com/rdp/cudnn-download)安装 （推荐安装 8.6到8.9之间的版本，对应于cuda-11.8）

下载后解压进入文件夹

```shell
sudo cp include/cudnn*.h /usr/local/cuda-11.8include 
sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64 
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*

```

```shell
# 检查是否成功
sudo cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

```

### OpenCV安装（4.7只能使用gpu推理yolo，而4.8版本只能使用cpu推理yolo）

#### 方案一 使用cmake-gui安装

先下载一些依赖库

```auto
sudo apt-get install cmake cmake-gui
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libgtk2.0-dev libvtk7-dev
sudo apt-get install pkg-config

```

##### 终端输入 cmake-gui

###### 1，选择opencv文件夹和新建build文件夹，然后点击configure （注意看图片例的示意图）

2，

```auto
修改CMAKE+BUILD_TYPE为RELEASE

修改OPENCV_EXTRA_MODULES_PATH为/..自己的目录../opencv/opencv_contrib/modules,以安装opencv_contrib

勾选OPENCV_GENERATE_PKGCONFIG、OPENCV_ENABLE_NONFREE

再点击configure

```

3，点击configure和generate，完成cmake配置

4，进入build文件夹，编译（如果 j4 编译不动建议j2 ，如果有余力可以 j6 或 j8）

```auto
sudo make -j4 #4线程编译
sudo make install #安装

```

### 对于本次夏令营而言，安装完opencv，足矣。

## 二，熟悉常见的linux系统命令

# 视觉组ubuntu系统常见命令熟悉

[Linux 常用操作命令大全（最后更新时间：2024年1月）\_linux常用命令-CSDN博客](https://blog.csdn.net/m0_46422300/article/details/104645072)（参考链接）

## 一、基础知识

### 1.1 Linux系统的文件结构

```auto
/bin 二进制文件，系统常规命令
/boot 系统启动分区，系统启动时读取的文件
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定

```

### 1.2 Linux系统命令行的含义

```auto
示例：root@app00:~# 
root //用户名，root为超级用户
@ //分隔符
app00 //主机名称
~ //当前所在目录，默认用户目录为~，会随着目录切换而变化，例如：（root@app00:/bin# ，当前位置在bin目录下）
# //表示当前用户是超级用户，普通用户为$，例如：（"yao@app00:/root$" ，表示使用用户"yao"访问/root文件夹）

```

### 1.3 命令的组成

```auto
示例：命令 参数名 参数

```

## 二、基础操作

### 2.1 关闭系统

```auto
(1)立刻关机
  shutdown -h now 或者 poweroff
(2)两分钟后关机
  shutdown -h 2

```

### 2.2 关闭重启

```auto
(1)立刻重启
  shutdown -r now 或者 reboot
(2)两分钟后重启
  shutdown -r 2 

```

## 三、目录操作

### 3.1 切换目录（cd）

```auto
  cd / //切换到根目录
  cd /bin //切换到根目录下的bin目录
  cd ../ //切换到上一级目录 或者使用命令：cd ..
  cd ~ //切换到home目录
  cd - //切换到上次访问的目录
  cd xx(文件夹名) //切换到本目录下的名为xx的文件目录，如果目录不存在报错
  cd /xxx/xx/x //可以输入完整的路径，直接切换到目标目录，输入过程中可以使用tab键快速补全

```

### 3.2 查看目录（ls）

```auto
  ls //查看当前目录下的所有目录和文件
  ls -a //查看当前目录下的所有目录和文件（包括隐藏的文件）
  ls -l //列表查看当前目录下的所有目录和文件（列表查看，显示更多信息），与命令"ll"效果一样
  ls /bin //查看指定目录下的所有目录和文件 

```

### 3.3 创建目录（mkdir）

```auto
  mkdir tools //在当前目录下创建一个名为tools的目录
  mkdir /bin/tools //在指定目录下创建一个名为tools的目录

```

### 3.4 修改目录（mv）

```auto
  mv 当前目录名 新目录名 //修改目录名，同样适用与文件操作
  mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
  mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹

```

### 3.5 拷贝目录（cp）

```auto
  cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
  cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹

```

### 3.6 搜索目录（find）

```auto
  find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录

```

### 3.7 查看当前目录（pwd）

```auto
  pwd //显示当前位置路径

```

## 四、文件操作

### 4.1 新增文件（touch）

```auto
   touch a.txt //在当前目录下创建名为a的txt文件（文件不存在），如果文件存在，将文件时间属性修改为当前系统时间

```

### 4.2 删除文件（rm）

```auto
  rm 文件名 //删除当前目录下的文件
  rm -f 文件名 //删除当前目录的的文件（不询问）

```

### 4.3 编辑文件（vi、vim）\*\*\*（后期可能会经常使用，建议认真学和看一下）

```auto
  vi 文件名 //打开需要编辑的文件
  --进入后，操作界面有三种模式：命令模式（command mode）、插入模式（Insert mode）和底行模式（last line mode）
  命令模式
  -刚进入文件就是命令模式，通过方向键控制光标位置，
  -使用命令"dd"删除当前整行
  -使用命令"/字段"进行查找
  -按"i"在光标所在字符前开始插入
  -按"a"在光标所在字符后开始插入
  -按"o"在光标所在行的下面另起一新行插入
  -按"："进入底行模式
  插入模式
  -此时可以对文件内容进行编辑，左下角会显示 "-- 插入 --""
  -按"ESC"进入底行模式
  底行模式
  -退出编辑： :q
  -强制退出： :q!
  -保存并退出： :wq
  ## 操作步骤示例 ##
  1.保存文件：按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
  2.取消操作：按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
  ## 补充 ##
  vim +10 filename.txt //打开文件并跳到第10行
  vim -R /etc/passwd //以只读模式打开文件

```

### 4.4 查看文件

```auto
  cat a.txt //查看文件最后一屏内容
  less a.txt //PgUp向上翻页，PgDn向下翻页，"q"退出查看
  more a.txt //显示百分比，回车查看下一行，空格查看下一页，"q"退出查看
  tail -100 a.txt //查看文件的后100行，"Ctrl+C"退出查看

```

 ![image-20240806220945634](https://rcbbs.top/uploads/default/original/1X/c82c9928e698347109f440947e947bd5a3516c81.png)  
 ![image-20240806220533276](https://rcbbs.top/uploads/default/original/1X/ccffb545d6e83e543e9ee8ded7aae91dcf00c5a6.png)

### 后面的内容可以参考学习
