【Linux】我与Linux的那些事儿-远程访问-深

本文正在参与 “走过Linux 三十年”话题征文活动

2021年8月,大名鼎鼎的Linux系统迎来了自己的30岁生日~ 借着掘金征文的活动,我来写写我和Linux的那些事儿~

下面是我接触Linux遇到的一些问题,我自己了解到的一些解决方案,应该都是一些皮毛,写出来给大家见笑了~

刚好实验室又来了一波小兄弟们,相当于给他们来个最最朴素的帮助文档了~

PS: 我本科不是计算机专业的,我真的是0基础的,轻喷,谢谢😭

初次接触

还记得研一刚入学,组里新配了一台服务器,服务器当然是Linux系统啦~

师兄给我们新生一人分配了一个账号,让我们自己远程登录,对于作为小白的我来说,不知道该如何远程访问服务器~ 更别谈如何操作了!

后来在小伙伴们的帮助下,我成功的访问了服务器~

ssh yk@888.88.888.888
复制代码

然后输入密码,就进入到远程系统啦~

image.png

这里推荐一个好用的软件 Xshell

第一次连上记住密码,以后就直接双击就可以打开系统啦~

image.png

最最基本小知识

后来师兄和我们说,home目录放环境,但是不要放数据集和代码,数据集要放到media下的data目录里~

作为小白的我,首先就要去了解了一下Linux的目录结构

image.png

/home
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/media
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

然后,我就开始学习Linux的一些最最最 基本 皮毛的切目录的指令

pwd # 显示当前目录
ls # 显示当前目录列表
cd # 切换目录
复制代码

学会这些基本操作,我就可以一顿操作进入我的数据目录,存我的数据集和代码了~

image.png

这里再推荐一个软件,特别好用 winSCP

可视化界面访问我们的服务器文件系统,可以像使用Windows一样可视化的使用Linux的文件系统~

可以上传本地的文件,也可以从远程下载文件,操作文件.......

image.png

查看显卡使用情况

gpustat
复制代码

image.png

nvidia-smi
复制代码

image.png

搭建一个基本的深度学习环境

使用服务器最主要的目的还是跑实验啦~ 跑实验之前肯定要装环境的,我们来看看如何安装深度学习环境 pytorch以及tensorflow

听师兄的!环境装在home目录~

我们在home/yk下进行操作

选择下载清华镜像源的anaconda安装包

mirrors.tuna.tsinghua.edu.cn/anaconda/ar…

image.png

可以选择本地下载好然后使用我们前面提到的winSCP传过去,当然也可以直接用命令远程直接下载到服务器上

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.05-Linux-x86_64.sh
复制代码

下载好了就安装它

bash Anaconda3-2021.05-Linux-s390x.sh
复制代码

接下来我们就去pytorch官网安装对应的深度学习包了~

pytorch.org/get-started…

image.png

【注意】一下版本号,青自己注意一下

我们可以不直接安装在默认的base环境中,而是新建一个环境,这样以后切换环境也比较方便

conda create -n pytorch python-3.7
复制代码

激活环境,进入pytorch环境

conda activate pytorch
复制代码

安装环境

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
复制代码

创建好了pytorch环境之后,我们再创建一个tensorflow环境

conda create -n TF2.1 python=3.7
复制代码

进入TF2.1环境

conda activate TF2.1
复制代码

安装tensorflow2包

pip install tensorflow==2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码

不能一直在小黑框里操作文件吧~ 我们使用集成开发环境(IDE)来写代码,所以如何使用他们来远程访问服务器呢?我们来继续探索一下~

Pycharm如何设置远程访问

服务器的python环境装好了,我们本地的电脑就可以不装任何环境啦,安装好Pycharm专业版(学生可以免费申请使用)

我们来看如何选择远程环境跑实验~

我们先来创建一个python项目
image.png

选择我们的python环境,SSH远程环境

输入主机号和用户名
image.png

输入密码

image.png

选择我们的环境【还记得之前说的环境装在home目录下吗】

image.png

image.png

选好了就ok

image.png

下面就是自己代码数据的地方了【之前说过要放data目录】

image.png

image.png

检查一下

image.png

在设置页面也可以看看

image.png

image.png

再检查一下

image.png

在Tools中设置下对应关系,还有自动上传设置

image.png

image.png

设置好对应关系

image.png

我们本地写一个demo程序,服务器自动就有了,对应的目录会高亮,不高亮自己检查一下上述对应关系配置

image.png

我们run一下,可以看到结果
image.png

VSCode如何设置远程访问

只要安装一个插件就可以了~

image.png

这里不做过多介绍了。很简单基本是傻瓜式使用

image.png

打开一个远程文件目录,就打开我们刚刚创建的那个吧~

image.png

image.png

在终端运行我们的python程序,可以在这切换环境,还记得吗?前面有说过如何切换

image.png

文章的最后,再来一个我之前记录的在Linux设置软链接的笔记~

相当于超链接,跑实验的时候很常用,将数据集所在文件夹设置软链接,很多地方都可以使用,选择文件目录比较好用,减少选择文件目录的麻烦~

软链接

创建软链接

ln  -s  [源文件或目录]  [目标文件或目录]
复制代码

例如:
当前路径创建test 引向/var/www/test 文件夹

ln –s  /var/www/test  test
复制代码

创建/var/test 引向/var/www/test 文件夹

ln –s  /var/www/test   /var/test 
复制代码

删除软链接

和删除普通的文件是一眼的,删除都是使用rm来进行操作

rm –rf 软链接名称

(请注意不要在后面加”/”,rm –rf 后面加不加”/” 的区别,可自行去百度下啊)

例如:
删除test

rm –rf test
复制代码

修改软链接

ln –snf  [新的源文件或目录]  [目标文件或目录]
复制代码

这将会修改原有的链接地址为新的地址
例如:
创建一个软链接

ln –s  /var/www/test   /var/test
复制代码

修改指向的新路径

ln –snf  /var/www/test1   /var/test
复制代码

如果您想更深入的了解,可以ln --help 查看详细。

常用的参数

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

(当前路径创建test 引向/var/www/test 文件夹 )