java畢業(yè)設計網站建設培訓網址大全
【書生.浦語實戰(zhàn)營】——入門島_第一關_Linux基礎
- 任務分布
- 1. 本地vscode遠程連接并進行端口映射
- 端口映射
- What——何為端口映射
- How——怎么進行端口映射
- 2. Linux基礎命令
- touch :創(chuàng)建文件
- mkdir :創(chuàng)建目錄
- cd:進入 退出 目錄
- pwd :確定當前所在目錄
- cat:可以查看文件中的內容
- vi 和 vim :編輯文件
- cp 和 ln
- ls:可以用來列出目錄的內容以及詳細信息
- sed: 流文本編輯
- 進程管理命令
- nvidia-smi 命令
- 遠程連接服務器并使用conda創(chuàng)建虛擬環(huán)境
- studio-conda使用與Shell
- 第二關
- 完成leetcode383
- 遠程連接開發(fā)機并debug
- 第三關——git 基礎
- 提交個人介紹PR
- 創(chuàng)建一個個人倉庫
- 第四關
任務分布
闖關任務 完成SSH連接與端口映射并運行hello_world.py 10min
可選任務 1 將Linux基礎命令在開發(fā)機上完成一遍 10min
可選任務 2 使用 VSCODE 遠程連接開發(fā)機并創(chuàng)建一個conda環(huán)境 10min
可選任務 3 創(chuàng)建并運行test.sh文件 10min
1. 本地vscode遠程連接并進行端口映射
端口映射
What——何為端口映射
端口映射是一種網絡技術,它可以將外網中的任意端口映射到內網中的相應端口,實現內網與外網之間的通信。通過端口映射,可以在外網訪問內網中的服務或應用,實現跨越網絡的便捷通信。
How——怎么進行端口映射
使用 ssh命令進行
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L {本地機器_PORT}:127.0.0.1:{開發(fā)機_PORT} -o StrictHostKeyChecking=no
vscode 也可以自動進行端口映射
2. Linux基礎命令
創(chuàng)建文件:可以使用 touch 命令創(chuàng)建空文件。
創(chuàng)建目錄:使用 mkdir 命令。
目錄切換:使用cd命令。
顯示所在目錄:使用pwd命令。
查看文件內容:如使用 cat 直接顯示文件全部內容,more 和 less 可以分頁查看。
編輯文件:如 vi 或 vim 等編輯器。
復制文件:用 cp 命令。
創(chuàng)建文件鏈接:用ln命令。
移動文件:通過 mv 命令。
刪除文件:使用 rm 命令。
刪除目錄:rmdir(只能刪除空目錄)或 rm -r(可刪除非空目錄)。
查找文件:可以用 find 命令。
查看文件或目錄的詳細信息:使用ls命令,如使用 ls -l查看目錄下文件的詳細信息。
處理文件:進行復雜的文件操作,可以使用sed命令。
touch :創(chuàng)建文件
touch demo.py
mkdir :創(chuàng)建目錄
mkdir test
cd:進入 退出 目錄
pwd :確定當前所在目錄
cat:可以查看文件中的內容
vi 和 vim :編輯文件
關于這個,詳見筆者之前文章
cp 和 ln
復制文件:cp 源文件目錄 目標文件目錄
復制目錄:cp -r 源目錄 目標目錄
例如:復制根目錄下的hello_world.py文件到test中
命令:
結果:
如果直接使用 cp 命令來復制這些模型文件,尤其是當需要多次復制同一份模型文件時,會導致磁盤空間的大量消耗。例如,在進行模型測試、調優(yōu)或者部署多個實例時,可能會重復復制同一份模型數據,這樣每一份都是獨立的副本,自然會占用更多的磁盤空間。
相比之下,使用符號鏈接(軟鏈接)或硬鏈接可以有效地減少磁盤空間的使用:
硬鏈接:對于硬鏈接而言,文件系統(tǒng)中的多個文件名實際上指向同一個inode(文件的數據存儲單元)。因此,即使創(chuàng)建了多個硬鏈接,文件的實際內容只存儲一次,不會增加額外的磁盤空間需求。不過,硬鏈接只能在同一文件系統(tǒng)內創(chuàng)建。軟鏈接(符號鏈接):軟鏈接 **類似于Windows中的快捷方式** 。它是一個指向另一個文件路徑的特殊文件。軟鏈接文件本身包含了目標文件的路徑信息,而不是實際的數據。因此,創(chuàng)建多少個軟鏈接都不會增加磁盤空間負擔,只是存儲了路徑信息而已。軟鏈接可以跨越不同的文件系統(tǒng)。
使用:
ln [參數][源文件或目錄][目標文件或目錄]
ls:可以用來列出目錄的內容以及詳細信息
-a:顯示所有文件和目錄,包括隱藏文件(以.開頭的文件或目錄)。
-l:以長格式顯示詳細信息,包括文件權限、所有者、大小、修改時間等。
-h:與-l結合使用,以人類可讀的方式顯示文件大小(如K、M、G等)。
-R:遞歸列出子目錄的內容。
-t:按文件修改時間排序顯示
按修改時間順序進行展示
sed: 流文本編輯
進程管理命令
ps
:列出當前系統(tǒng)中的進程。使用不同的選項可以顯示不同的進程信息
ps nux
:顯示系統(tǒng)所有進程的詳細信息
top
:動態(tài)顯示系統(tǒng)中進程的狀態(tài)。它會實時更新進程列表,顯示CPU和內存使用率最高的進程。
pstree
:以樹狀圖的形式顯示當前運行的進程及其父子關系
kill PID
:殺死指定的進程ID
kill -9 PID
:強制殺死指定的進程ID
nvidia-smi 命令
顯示 GPU 狀態(tài)的摘要信息:
nvidia-smi
顯示詳細的 GPU 狀態(tài)信息:
nvidia-smi -l 1
這個命令會每1秒更新一次狀態(tài)信息。顯示 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創(chuàng)建虛擬環(huán)境
- 開發(fā)機中已經安好了conda
conda --version
:查看conda版本
要對conda進行換源,提速 - 創(chuàng)建虛擬環(huán)境
使用conda create -n name python=3.10創(chuàng)建虛擬環(huán)境,這里表示創(chuàng)建了python版本為3.10、名字為name的虛擬環(huán)境。創(chuàng)建后,可以在.conda目錄下的envs目錄下找到。
常用的是激活環(huán)境命令
conda activate 環(huán)境名字
:激活環(huán)境
conda deactivate 環(huán)境名字
:退出環(huán)境
conda env list
:查看環(huán)境列表
conda list
:查看當前環(huán)境下安裝的包
studio-conda使用與Shell
studio-conda
:開發(fā)機內置的命令。使用shell腳本實現
第二關
完成leetcode383
class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:# 字典用于存儲字符計數char_count = {}# 統(tǒng)計 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 # 所有字符都可以構成
遠程連接開發(fā)機并debug
第三關——git 基礎
提交個人介紹PR
基本步驟是:
1. fork原始項目
2. git clone 下來
3. 創(chuàng)建修改自己的個人介紹.md
4. add . 添加全部修改
5. git commit -m "提交信息(建議英文)" 合并
6. git push
創(chuàng)建一個個人倉庫
第四關
模型下載
這里使用魔搭社區(qū)進行下載
下載完就會在目錄中看到如下json文件