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

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

【书生.浦语实战营】——入门岛_第一关_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] += 1
            else:
                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.kler.cn/a/377906.html

相关文章:

  • 【数据科学导论】第一二章·大数据与数据表示与存储
  • 递归读取指定目录下的文件
  • Android 代码模式的理解
  • 【IMU:视觉惯性SLAM系统】
  • AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
  • 深入理解 HTTP HEAD 请求:节省带宽、提高效率的秘密武器
  • 【OpenSearch】机器学习(Machine Learning)神经搜索教程
  • 【Android】View的事件分发机制
  • Java项目实战II基于Spring Boot的美食烹饪互动平台的设计与实现(开发文档+数据库+源码)
  • 十四届蓝桥杯STEMA考试Python真题试卷第二套第二题
  • 解锁同城流量密码,六大实用技巧全解析
  • 勒索软件通过易受攻击的 Cyber​​Panel 实例攻击网络托管服务器
  • 探索 Spring Boot 中 Elasticsearch 的实战应用
  • Java实战项目-基于 SpringBoot+Vue 的医院管理系统
  • 在Vue中处理图片加载失败:自动替换备用图片
  • kafka实时返回浏览数据
  • 迷宫求解:探索最优路径的算法与应用
  • Java接入Hive
  • IMX6ULL裸机-汇编_反汇编_机器码
  • win10 更新npm 和 node
  • Redis系列---常见问题
  • Hadoop生态圈框架部署(一)- Linux操作系统安装及配置
  • [CARLA系列--01]CARLA 0.9.15 在Windows下的安装教程(一)
  • 系统架构师如何备考-超有用的备考经验(送博主用到的资料)
  • RHCE——DNS域名解析服务器、selinux、防火墙
  • 字符串-05-字符串合并处理