L0: Linux + InternStudio 关卡

目录

 

一 关卡任务

二 闯关任务

1.使用密码进行SSH远程连接

2.配置SSH密钥进行SSH远程连接

3.端口映射


一 关卡任务

任务描述

完成所需时间

闯关任务

完成SSH连接与端口映射并运行hello_world.py

10min

可选任务 1

将Linux基础命令在开发机上完成一遍

10min

可选任务 2

使用 VSCODE 远程连接开发机并创建一个conda环境

10min

可选任务 3

创建并运行test.sh文件

10min

doc:Tutorial/docs/L0/Linux/readme.md at camp3 · InternLM/Tutorial (github.com)

二 闯关任务

闯关任务

完成SSH连接与端口映射并运行hello_world.py

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并按下回车就可以还原虚拟环境了。

任务完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Denis1999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值