当前位置: 首页 > news >正文

(笔记)第三期书生·浦语大模型实战营(十一卷王场)--书生入门岛通关第1关Linux 基础知识

学员闯关手册:https://aicarrier.feishu.cn/wiki/ZcgkwqteZi9s4ZkYr0Gcayg1n1g?open_in_browser=true
课程视频:https://www.bilibili.com/video/BV1FS421d7yg/?vd_source=4b532e65fd270475458385d242636159
课程文档:https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/readme.md
关卡作业:https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/task.md
开发机平台:https://studio.intern-ai.org.cn/
开发机平台介绍:https://aicarrier.feishu.cn/wiki/GQ1Qwxb3UiQuewk8BVLcuyiEnHe

(截图显示在(作业)第三期书生·浦语大模型实战营(十一卷王场)–书生入门岛通关第1关Linux 基础知识)

SSH连接

使用密码进行SSH远程连接

开发机–》SSH连接–》登录命令复制–》密码复制
电脑power shell–》鼠标右键粘贴登录命令–》鼠标右键粘贴密码
注意:powershell使用鼠标右键进行粘贴。

配置SSH密钥进行SSH远程连接(可选)

电脑power shell–》ssh-keygen -t rsa(# 生成RSA密钥对)—》cat ~/.ssh/id_rsa.pub(# 查询生成的公钥)
开发机–》SSH Key配置—》添加SSH Key公钥
完成SSH Key创建以后,重启终端进行远程连接,就会跳过密码输入这一步了。

使用VScode进行SSH远程连接

开发机–》SSH连接–》登录命令复制
电脑端VSCODE–》扩展页面图标–》SSH搜索和安装
电脑端VSCODE–》远程连接图标–》SSH±-》输入框中输入SSH key配置,回车–》默认配置–》连接–》lunix
电脑端VSCODE–》文件夹–》ROOT

端口映射

目的:将外网链接映射到我们本地主机,
方法:
开发机–》自定义服务–》复制ssh -p 49747 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no到电脑power shell

注释:
-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:关闭严格的主机密钥检查,这样可以避免第一次连接时因为未知主机密钥而产生的提示或错误。

VSCODE终端安装gradio,pip install gradio==4.29.0
VSCODE新建python文件,hello_world.py
VSCODE终端运行python文件,python hello_world.py,点击出现的Running on local URL: http://127.0.0.1:7860,即可打开浏览器
(可以在VSCODE端口查看所有端口,)

import socket
import re
import gradio as gr# 获取主机名
def get_hostname():hostname = socket.gethostname()match = re.search(r'-(\d+)$', hostname)name = match.group(1)return name# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:html_code = f"""<p align="center"><a href="https://intern-ai.org.cn/home"><img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;"></a></p><h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1><h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2><p align="center"><a href="https://github.com/InternLM/Tutorial/blob/camp3"><img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;"></a></p>"""gr.Markdown(html_code)demo.launch()

重置环境

  1. InternStudio 开发机的环境玩坏了,如何初始化开发机环境
    慎重执行!!!!所有数据将会丢失,仅限 InternStudio 平台,自己的机器千万别这么操作

第一步本地终端 ssh 连上开发机(一定要 ssh 连接上操作,不能在 web 里面操作!!!)
第二步执行 rm -rf /root,大概会等待10分钟
第三步重启开发机,系统会重置 /root 路径下的配置文件
第四步 ln -s /share /root/share

注释
rm -rf /root 是一个在 Unix-like 系统中的命令,具体含义如下:rm:该命令用于删除(remove)文件和目录。
-r:递归删除,这意味着删除指定目录及其目录下的所有子目录和文件。
-f:强制删除,忽略不存在的文件,不会提示确认。
/root:这是系统中的 /root 目录,通常是 root 用户的主目录。
所以,rm -rf /root 的意思是强制递归删除 /root 目录及其包含的所有子目录和文件。这是一个非常危险的命令,因为它会永久删除所有指定的数据,而且不会有任何提示。如果在不正确的上下文中运行此命令,可能会造成数据丢失和系统损坏。因此,执行此命令时必须非常小心。

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

# 创建一个名为demo.py的空文件
touch demo.py# 创建一个名为test的目录
mkdir test# 打印当前工作目录的路径
pwd# 列出当前目录下的所有文件和目录,包括隐藏的文件和目录
ls -a# 以长格式列出当前目录下的所有文件和目录,并显示文件的inode号
ls -ln# 按文件修改时间排序,列出当前目录下的所有文件和目录
ls -t# 显示NVIDIA GPU的当前状态,包括正在使用的GPU、显存使用情况等
nvidia-smi# 显示Linux系统的发行版信息
lsb_release -a# 显示conda的版本信息
conda --version# 列出所有conda环境
conda env list

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

#test为新建虚拟环境名称,
使用VScode进行SSH远程连接
conda create -n test python=3.10
#conda create -n name numpy matplotlib python=3.10
conda env list
conda info -e
conda info --envs
conda activate test
conda deactivate
#获得环境中的所有配置
conda env export --test myenv > myenv.yml
#重新还原环境
conda env create -f  myenv.yml

创建并运行test.sh文件

创建文件

#!/bin/bash
# 这是一个简单的shell脚本示例# 打印欢迎信息
echo "Hello, this is a test script."# 显示当前工作目录
pwd# 打印当前日期和时间
date# 结束脚本
echo "Script execution completed."

增加权限

chmod +x test.sh

运行脚本

./test.sh

相关文章:

  • [RabbitMQ] 7种工作模式详细介绍
  • 一文上手SpringSecurity【七】
  • 怎么查看网站是否被谷歌收录,查看网站是否被搜索引擎收录5个方法与步骤
  • 傅里叶级数在机器人中的应用(动力学参数辨识)
  • Kotlin高阶函数func
  • 二值图像的面积求取的两种方法及MATLAB实现
  • 【漏洞复现】VEXUS多语言货币交易所存在未授权访问漏洞
  • Java五子棋
  • Centos/fedora/openEuler 终端中文显示配置
  • 进程、线程、协程详解:并发编程的三大武器
  • pyhton语法 正则表达式
  • c++进阶学习--------多态
  • 目前相对稳定的下载上传的方法(WebClient )(异步与进度)
  • FortiGate SSL VPN host check添加自定义防病毒软件
  • VS开发 - 静态编译和动态编译的基础实践与混用
  • (三)从jvm层面了解线程的启动和停止
  • 【391天】每日项目总结系列128(2018.03.03)
  • 4. 路由到控制器 - Laravel从零开始教程
  • android图片蒙层
  • Computed property XXX was assigned to but it has no setter
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Python学习之路13-记分
  • Unix命令
  • 高度不固定时垂直居中
  • 入门级的git使用指北
  • 山寨一个 Promise
  • 通过几道题目学习二叉搜索树
  • 线性表及其算法(java实现)
  • 智能合约Solidity教程-事件和日志(一)
  • #define 用法
  • #if 1...#endif
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (70min)字节暑假实习二面(已挂)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (PySpark)RDD实验实战——求商品销量排行
  • (undone) MIT6.824 Lecture1 笔记
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (七)Java对象在Hibernate持久化层的状态
  • ******之网络***——物理***
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .net mvc 获取url中controller和action
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net开发时的诡异问题,button的onclick事件无效
  • .net中调用windows performance记录性能信息
  • .pop ----remove 删除
  • /boot 内存空间不够
  • /usr/bin/env: node: No such file or directory
  • ??javascript里的变量问题
  • @Transactional 详解
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [<死锁专题>]
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [C/C++入门][ifelse]20、闰年判断
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试