目录
一 关卡任务
任务描述 | 完成所需时间 | |
闯关任务 | 完成SSH连接与端口映射并运行 | 10min |
可选任务 1 | 将Linux基础命令在开发机上完成一遍 | 10min |
可选任务 2 | 使用 VSCODE 远程连接开发机并创建一个conda环境 | 10min |
可选任务 3 | 创建并运行 | 10min |
doc:Tutorial/docs/L0/Linux/readme.md at camp3 · InternLM/Tutorial (github.com)
二 闯关任务
闯关任务 | 完成SSH连接与端口映射并运行 | 10min |
1.使用密码进行SSH远程连接
1.1 使用Win+R快捷键打开运行框,输入powerShell,打开powerShell终端。
报错!
解决方法:解决win10报“无法加载文件……profile.ps1,因为在此系统上禁止运行脚本”的问题_profile.psl-CSDN博客
1.2 回到开发机平台,进入开发机页面找到我们创建的开发机,点击SSH连接
将复制的命令粘贴到powershell中,然后回车,这里我们需要输入密码,我们将登录命令下面的密码复制下来,然后粘贴到终端中,这里密码粘贴密码是不显示的,这是正常的。
我们连接上开发机以后,可以使用hostname
查看开发机名称,使用uname -a
查看开发机内核信息,使用lsb_release -a
查看开发机版本信息,使用nvidia-smi
查看GPU的信息,这些命令我们后面都会讲到,如果想要退出远程连接,输入两次exit
就可以了。
2.配置SSH密钥进行SSH远程连接
ssh-keygen支持RSA和DSA两种认证密钥。
常用参数包括:
- -t:指定密钥类型,如dsa、ecdsa、ed25519、rsa。
- -b:指定密钥长度。
- -C:添加注释。
- -f:指定保存密钥的文件名。
- -i:读取未加密的ssh-v2兼容的私钥/公钥文件。
这里我们使用RSA算法生成密钥,命令为:
ssh-keygen -t rsa
输入命令后一路回车就可以了,这里的密钥默认情况下是生成在~/.ssh/
目录下的,~
表示的是家目录,如果是windows就是C:\Users\{your_username}\
。在powerShell中可以使用Get-Content
命令查看生成的密钥,如果是linux操作系统可以使用cat
命令。
报错:bash: Get-Content: command not found
解决:先退出ssh连接,在本地执行代码
然后我们回到开发机平台,在首页点击配置SSH Key,接着点击添加SSH公钥,
将刚刚生成的密钥复制下来,粘贴到公钥框中,名称会被自动识别到,最后点击立即添加,SSH Key就配置完成了。
3.端口映射
找到我们的开发机,点击自定义服务,复制第一条命令
ssh -p 47648 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
下面给他大家介绍一下命令各部分的含义:
-p 37367
:是指定 SSH 连接的端口为 37367,这个前面提到过。root@ssh.intern-ai.org.cn
:表示要以root
用户身份连接到ssh.intern-ai.org.cn
这个主机。-CNg
:-C
通常用于启用压缩。-N
表示不执行远程命令,仅建立连接用于端口转发等。-g
允许远程主机连接到本地转发的端口。
-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}
:这是设置本地端口转发,将本地机器的指定端口(由{本地机器_PORT}
表示)转发到远程主机(这里即ssh.intern-ai.org.cn
)的127.0.0.1
(即本地回环地址)和指定的开发机端口(由{开发机_PORT}
表示)。-o StrictHostKeyChecking=no
:关闭严格的主机密钥检查,这样可以避免第一次连接时因为未知主机密钥而产生的提示或错误。
在我的云盘中创建hello_world.py文件
在运行代码之前,需要先使用pip install gradio==4.29.0
命令安装以下依赖包,然后在Web IDE的终端中运行了一个hello_world.py
闯关任务完成!
三 可选任务1
1 文件管理
在 Linux 中,常见的文件管理操作包括:
- 创建文件:可以使用
touch
命令创建空文件。 - 创建目录:使用
mkdir
命令。 - 目录切换:使用
cd
命令。 - 显示所在目录:使用
pwd
命令。 - 查看文件内容:如使用
cat
直接显示文件全部内容,more
和less
可以分页查看。 - 编辑文件:如
vi
或vim
等编辑器。 - 复制文件:用
cp
命令。 - 创建文件链接:用
ln
命令。 - 移动文件:通过
mv
命令。 - 删除文件:使用
rm
命令。 - 删除目录:
rmdir
(只能删除空目录)或rm -r
(可删除非空目录)。 - 查找文件:可以用
find
命令。 - 查看文件或目录的详细信息:使用
ls
命令,如使用ls -l
查看目录下文件的详细信息。 - 处理文件:进行复杂的文件操作,可以使用
sed
命令。
2 进程管理
进程管理命令是进行系统监控和进程管理时的重要工具,常用的进程管理命令有以下几种:
- ps:查看正在运行的进程
- top:动态显示正在运行的进程
- pstree:树状查看正在运行的进程
- pgrep:用于查找进程
- nice:更改进程的优先级
- jobs:显示进程的相关信息
- bg 和 fg:将进程调入后台
- kill:杀死进程
在开发机中还有一条特殊的命令nvidia-smi
,它是 NVIDIA 系统管理接口(NVIDIA System Management Interface)的命令行工具,用于监控和管理 NVIDIA GPU 设备。它提供了一种快速查看 GPU 状态、使用情况、温度、内存使用情况、电源使用情况以及运行在 GPU 上的进程等信息的方法。
略过
四 可选任务2
在VSCODE中添加ssh
五 可选任务3
新建test.sh文件
#获得环境中的所有配置
需要为脚本赋予权限,可以使用命令:chmod +x test.sh
,然后输入./test.sh restore python3.8
并按下回车就可以还原虚拟环境了。
任务完成!