【书生.浦语实战营】——入门岛

【书生.浦语实战营】——入门岛_第一关_Linux基础

  • 任务分布
  • 1. 本地vscode远程连接并进行端口映射
    • 端口映射
      • What——何为端口映射
      • How——怎么进行端口映射
  • 2. Linux基础命令
    • touch :创建文件
    • mkdir :创建目录
    • cd:进入 退出 目录
    • pwd :确定当前所在目录
    • cat:可以查看文件中的内容
    • vi 和 vim :编辑文件
    • cp 和 ln
    • ls:可以用来列出目录的内容以及详细信息
    • sed: 流文本编辑
  • 进程管理命令
    • nvidia-smi 命令
    • 远程连接服务器并使用conda创建虚拟环境
    • studio-conda使用与Shell
  • 第二关
    • 完成leetcode383
    • 远程连接开发机并debug
  • 第三关——git 基础
    • 提交个人介绍PR
    • 创建一个个人仓库
  • 第四关

任务分布

闯关任务	完成SSH连接与端口映射并运行hello_world.py	10min
可选任务 1	将Linux基础命令在开发机上完成一遍	10min
可选任务 2	使用 VSCODE 远程连接开发机并创建一个conda环境	10min
可选任务 3	创建并运行test.sh文件	10min

1. 本地vscode远程连接并进行端口映射

在这里插入图片描述

端口映射

What——何为端口映射

端口映射是一种网络技术,它可以将外网中的任意端口映射到内网中的相应端口,实现内网与外网之间的通信。通过端口映射,可以在外网访问内网中的服务或应用,实现跨越网络的便捷通信。

How——怎么进行端口映射

使用 ssh命令进行

ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no

在这里插入图片描述vscode 也可以自动进行端口映射
在这里插入图片描述

2. Linux基础命令

创建文件:可以使用 touch 命令创建空文件。
创建目录:使用 mkdir 命令。
目录切换:使用cd命令。
显示所在目录:使用pwd命令。
查看文件内容:如使用 cat 直接显示文件全部内容,more 和 less 可以分页查看。
编辑文件:如 vi 或 vim 等编辑器。
复制文件:用 cp 命令。
创建文件链接:用ln命令。
移动文件:通过 mv 命令。
删除文件:使用 rm 命令。
删除目录:rmdir(只能删除空目录)或 rm -r(可删除非空目录)。
查找文件:可以用 find 命令。
查看文件或目录的详细信息:使用ls命令,如使用 ls -l查看目录下文件的详细信息。
处理文件:进行复杂的文件操作,可以使用sed命令。

touch :创建文件

touch demo.py
在这里插入图片描述

mkdir :创建目录

mkdir test
在这里插入图片描述

cd:进入 退出 目录

在这里插入图片描述

pwd :确定当前所在目录

在这里插入图片描述

cat:可以查看文件中的内容

在这里插入图片描述

vi 和 vim :编辑文件

关于这个,详见笔者之前文章

cp 和 ln

复制文件:cp 源文件目录 目标文件目录
复制目录:cp -r 源目录 目标目录
例如:复制根目录下的hello_world.py文件到test中
命令:
在这里插入图片描述结果:
在这里插入图片描述
如果直接使用 cp 命令来复制这些模型文件,尤其是当需要多次复制同一份模型文件时,会导致磁盘空间的大量消耗。例如,在进行模型测试、调优或者部署多个实例时,可能会重复复制同一份模型数据,这样每一份都是独立的副本,自然会占用更多的磁盘空间。

相比之下,使用符号链接(软链接)或硬链接可以有效地减少磁盘空间的使用:

硬链接:对于硬链接而言,文件系统中的多个文件名实际上指向同一个inode(文件的数据存储单元)。因此,即使创建了多个硬链接,文件的实际内容只存储一次,不会增加额外的磁盘空间需求。不过,硬链接只能在同一文件系统内创建。软链接(符号链接):软链接 **类似于Windows中的快捷方式** 。它是一个指向另一个文件路径的特殊文件。软链接文件本身包含了目标文件的路径信息,而不是实际的数据。因此,创建多少个软链接都不会增加磁盘空间负担,只是存储了路径信息而已。软链接可以跨越不同的文件系统。

使用:
ln [参数][源文件或目录][目标文件或目录]

ls:可以用来列出目录的内容以及详细信息

-a:显示所有文件和目录,包括隐藏文件(以.开头的文件或目录)。
-l:以长格式显示详细信息,包括文件权限、所有者、大小、修改时间等。
-h:与-l结合使用,以人类可读的方式显示文件大小(如K、M、G等)。
-R:递归列出子目录的内容。
-t:按文件修改时间排序显示

在这里插入图片描述按修改时间顺序进行展示
在这里插入图片描述

sed: 流文本编辑

在这里插入图片描述

进程管理命令

ps :列出当前系统中的进程。使用不同的选项可以显示不同的进程信息
ps nux :显示系统所有进程的详细信息
在这里插入图片描述
top:动态显示系统中进程的状态。它会实时更新进程列表,显示CPU和内存使用率最高的进程。
在这里插入图片描述

pstree:以树状图的形式显示当前运行的进程及其父子关系

kill PID :杀死指定的进程ID
kill -9 PID :强制杀死指定的进程ID

nvidia-smi 命令

显示 GPU 状态的摘要信息:
nvidia-smi
显示详细的 GPU 状态信息:
nvidia-smi -l 1
这个命令会每1秒更新一次状态信息。显示 GPU 的帮助信息:
nvidia-smi -h
列出所有 GPU 并显示它们的 PID 和进程名称:
nvidia-smi pmon
强制结束指定的 GPU 进程:
nvidia-smi --id=0 --ex_pid=12345
这会强制结束 GPU ID 为 0 上的 PID 为 12345 的进程。设置 GPU 性能模式:
nvidia-smi -pm 1
nvidia-smi -i 0 -pm 1
第一个命令会为所有 GPU 设置为性能模式,第二个命令只针对 ID 为 0 的 GPU。重启 GPU:
nvidia-smi --id=0 -r
这会重启 ID 为 0 的 GPU。

引用自课程学习手册在这里插入图片描述

远程连接服务器并使用conda创建虚拟环境

  1. 开发机中已经安好了conda
    conda --version:查看conda版本
    要对conda进行换源,提速
  2. 创建虚拟环境
    使用conda create -n name python=3.10创建虚拟环境,这里表示创建了python版本为3.10、名字为name的虚拟环境。创建后,可以在.conda目录下的envs目录下找到。
    在这里插入图片描述在这里插入图片描述常用的是激活环境命令
    conda activate 环境名字 :激活环境
    conda deactivate 环境名字:退出环境
    conda env list :查看环境列表
    conda list :查看当前环境下安装的包

在这里插入图片描述

studio-conda使用与Shell

studio-conda:开发机内置的命令。使用shell脚本实现

第二关

完成leetcode383

class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:# 字典用于存储字符计数char_count = {}# 统计 magazine 中字符的出现次数for char in magazine:if char in char_count:char_count[char] += 1else:char_count[char] = 1# 检查 ransomNote 中字符是否可以在 magazine 中找到for char in ransomNote:if char in char_count and char_count[char] > 0:char_count[char] -= 1  # 使用一个字符else:return False  # 如果 magazine 中没有该字符或用完了return True  # 所有字符都可以构成

在这里插入图片描述

远程连接开发机并debug

在这里插入图片描述

第三关——git 基础

提交个人介绍PR

基本步骤是:

1. fork原始项目
2. git clone 下来
3. 创建修改自己的个人介绍.md
4. add .  添加全部修改
5. git commit -m "提交信息(建议英文)" 合并
6. git push

在这里插入图片描述

创建一个个人仓库

在这里插入图片描述

第四关

模型下载
这里使用魔搭社区进行下载
在这里插入图片描述
下载完就会在目录中看到如下json文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KubeVirt 安装和配置 Windows虚拟机

本文将将介绍如何安装 KubeVirt 和使用 KubeVirt 配置 Windows 虚拟机。 前置条件 准备 Ubuntu 操作系统,一定要安装图形化界面。 安装 Docker(最新版本) 安装 libvirt 和 TigerVNC: apt install libvirt-daemon-system libvir…

RHCE——DNS域名解析服务器、selinux、防火墙

1、DNS简介 DNS ( Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分布式 数据库,能够使人更方便的访问互联网。 DNS 系统使用的是网络的查询,那么自然需要有监听的 port 。 DNS 使…

11.Three.js使用indexeddb前端缓存模型优化前端加载效率

11.Three.js使用indexeddb前端缓存模型优化前端加载效率 1.简述 在使用Three.js做数字孪生应用场景时,我们常常需要用到大量模型或数据。在访问我们的数字孪生应用时,每次刷新都需要从web端进行请求大量的模型数据或其他渲染数据等等,会极大…

智慧城市的守护者——智能井盖监测终端

城市化进程的加速推进使得基础设施建设成为提升城市品质的关键环节。然而,在这一进程中,市政公用设施中的井盖与地下线缆的安全问题却日益凸显。由于缺乏有效的实时监控与管理体系,给犯罪分子留下了可趁之机,频繁发生的井盖被盗及…

零基础玩转IPC之——如何实现远程实时查看监控视频(P2P)

P2P是peer-to-peer的简称,又称为点对点技术,是没有中心服务器、依靠用户群节点进行信息交换的对等式网络。区别于传统的C/S中央服务器结构,P2P网络中每一个用户节点即是客户端又是服务端,能同时作为服务器给其他节点提供服务。 优…

开源OCR免费助力法律文档数字化,提升文档管理效率

一、在法律行业,每天需要处理大量纸质文件,从合同到判决书,手动录入不仅费时,还容易出错。为解决这一问题推出了一款免费开源的OCR智能识别平台,通过先进的光学字符识别(OCR)技术,将…

华为OD七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)

目录 一、适合人群二、本期训练时间三、如何参加四、7日集训五、精心挑选21道高频100分经典题目,作为入门。第1天、逻辑分析第2天、数组第3天、双指针第4天、滑动窗口第5天、贪心算法第6天、二分查找第7天、分治递归 六、集训总结 大家好,我是哪吒。 最…

Python3 网络编程详解

概述 Python 提供了丰富的网络编程支持,包括低级别的 Socket 编程和高级别的 SocketServer 模块。本文将详细介绍如何在 Python 中使用 Socket 进行网络编程,并通过具体的代码示例来展示服务器和客户端的实现。 什么是 Socket? Socket 又称…

【数据分享】2024年我国省市县三级的休闲娱乐设施数量(免费获取/18类设施/Excel/Shp格式)

KTV、棋牌室、音乐厅等休闲服务设施的配置情况是一个城市公共基础设施完善程度的重要体现,一个城市休闲服务设施种类越丰富,数量越多,通常能表示这个城市的公共服务水平越高! 本次我们为大家带来的是我国各省份、各地级市、各区县…

什么是软件设计模式, 它们⽤于解决什么问题, 它们为什么有效

什么是设计模式 软件设计模式是指在软件设计过程中,经过验证的、可复⽤的、对特定 场景下常⻅问题的解决⽅案的⼀种描述或模板。这些模式并不是具体的 代码,⽽是⽤于指导如何组织代码、类和对象,以便更好地解决问题和 满⾜需求。 ⽤于解决的…

串口接收,不定长数据接收

###1.CUBE-MX配置串口 2.我采用串口中断接收,打开中断接口 3.时钟同样8倍频,1分频,使用内部时钟 打开串口中断 main() { __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 启用空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_R…

海滨学院班级记忆宝盒:设计与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

分布式集群本地缓存

在 Java 分布式集群微服务项目中,虽然 Redis 等分布式缓存更常用,但在某些特定场景下,本地缓存依然有较好的应用价值。常用的本地缓存工具主要有以下几种: 1. Caffeine 简介:Caffeine 是一个现代化的高性能 Java 本地…

如何在Linux系统中使用SSH进行安全连接

如何在Linux系统中使用SSH进行安全连接 SSH简介 安装SSH 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动SSH服务 验证SSH是否安装成功 SSH配置 配置监听端口 配置登录方式 SSH客户端 安装SSH客户端 使用SSH客户端 SSH密钥认证 生成SSH密钥对 复制公钥到远程服务器…

Maven(26)如何使用Maven进行持续集成?

使用Maven进行持续集成(Continuous Integration, CI)通常涉及设置一个CI服务器,如Jenkins,并配置Maven项目以自动构建和测试。以下是一个详细的步骤指南,包括如何在Jenkins中设置Maven项目: 步骤 1: 安装和…

使用 Elasticsearch 进行语义搜索

Elasticsearch 是一款功能强大的开源搜索引擎,可用于全文搜索、分析和数据可视化。传统上,Elasticsearch 以其执行基于关键字/词汇的搜索的能力而闻名,其中文档基于精确或部分关键字匹配进行匹配。然而,Elasticsearch 已经发展到支…

ElasticNet Regressor(弹性网络回归) --- 论文实战

一、前言 在《机器学习论文复现实战---linear regression》中通过Pearson 相关性分析,去除了2个高相关性特征 "PN" 和 "AN" ,数据维度变为890*25。(数据集地址) 这里我们不做如何前期处理,直接就将数据放入 ElasticNet 模型中进行训练了。 二、模型训…

OJ-5G网络建设

示例1 输入: 3 3 1 2 3 0 1 3 1 0 2 3 5 0 输出: 4示例2 输入: 3 1 1 2 5 0 输出: -1 示例3 输入: 3 3 1 2 3 0 1 3 1 0 2 3 5 1 输出: 1 分析:压缩路径 顺序:1 2;…

Kubeadm搭建k8s

一、架构 节点名称规格IP地址安装组件master012C/4G,cpu核心数要求大于2192.168.88.76docker、kubeadm、kubelet、kubectl、flannelnode012C/2G192.168.88.20docker、kubeadm、kubelet、kubectl、flannelnode022C/2G192.168.88.21docker、kubeadm、kubelet、kubect…

Ubuntu 安装 redis

一、使⽤apt安装 apt install redis -y 二、⽀持远程连接 修改 /etc/redis/redis.conf 修改 bind 127.0.0.1 为 bind 0.0.0.0修改 protected-mode yes 为 protected-mode no # By default, if no "bind" configuration directive is specified, Redis listens# fo…