informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Artikel ini adalah catatan dari kamp latihan model skala besar ketiga untuk para sarjana yang diselenggarakan oleh Laboratorium Kecerdasan Buatan Shanghai. Artikel ini hanya untuk referensi oleh individu dan asisten pengajar saat mengoreksi pekerjaan rumah.Tautan tutorial asli。
Untuk mendaftar, silakan cari "Kamp Latihan Model Cendekia Ketiga" di WeChat.
Catatan ini adalah catatan beranotasi pribadi yang dimodifikasi berdasarkan tutorial asli.
😀Hello大家好,欢迎来到Model sarjana besarPerkemahan praktik, berikut adalah kursus dasar yang disiapkan oleh perkemahan praktik untuk siswa yang baru pertama kali mengikuti kamp praktik, dan siswa dari berbagai industri yang belum memiliki pengetahuan dasar tentang LinuxMesin pengembangan InternStudio, dan kuasai beberapa dasar-dasarnyaPengetahuan Linux , sehingga semua orang tidak bingung harus mulai dari mana dalam kursus berikut ini. Kami telah menyiapkan beberapa tugas level untuk Anda dalam tugas level di sini. Saat Anda menyelesaikan tugas level yang diperlukan dan check in, Anda akan menerima hadiah daya komputasi pada level saat ini.Ayo mulai!
InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。
Jika Anda ingin tahu lebih banyak tentang InternStudio, Anda dapat memeriksa dokumen berikut: StudioMagang
https://studio.intern-ai.org.cn/
Pertama buka link di atas untuk masuk ke InternStudio. Setelah login, Anda akan otomatis melompat ke antarmuka konsol, seperti yang ditunjukkan pada gambar di bawah ini:
Izinkan saya memberi tahu Anda fungsi halaman yang terkait dengan setiap nomor seri:
Di atas adalah pengenalan singkat tentang platform InternStudio. Mari kita lihat cara membuat mesin pengembangan.Buat mesin pengembangan”
Di sini kita memilih untuk membuatmesin pengembangan pribadi, bernamates,Ikan kodVersinya adalah 12.2,Alokasi sumber dayaPilih 10% dan durasi default baik-baik saja.
Setelah pembuatan selesai, masukMesin pengembanganAnda dapat melihat mesin pengembangan yang baru saja Anda buat di antarmuka.
Setelah memasuki mesin pengembangan, Anda dapat melihat halaman utama mesin pengembangan. Mesin pengembangan memiliki tiga mode untuk dipilih:JupyterLab, Terminal dan VScode
di dalam:
Kami memperkenalkan di atasPlatform MagangStudio, dan cara membuat mesin pengembanganSSH、Mengapa menggunakan koneksi jarak jauh, Cara menggunakan SSHkoneksi jarak jauhMesin pengembangan, apa adanyaPemetaan Pelabuhandan bagaimana melanjutkannyaPemetaan Pelabuhan。
SSHNama lengkapnya adalah Secure Shell, yang diterjemahkan ke dalam bahasa Cina sebagai shell amanprotokol keamanan jaringan , mewujudkan akses aman dan transfer file serta layanan lainnya melalui mekanisme enkripsi dan otentikasi. Protokol SSH menyediakan layanan jaringan yang aman di lingkungan jaringan yang tidak aman dengan mengenkripsi dan mengautentikasi data jaringan.
SSH adalah (arsitektur C/S) olehserverDanklienUntuk membuat saluran SSH yang aman, kedua belah pihak perlu membuat koneksi TCP terlebih dahulu, kemudian menegosiasikan nomor versi dan berbagai algoritme yang digunakan, dan menghasilkan saluran yang sama.kunci sesi digunakan untuk enkripsi simetris berikutnya. Setelah menyelesaikan otentikasi pengguna, kedua belah pihak dapat membuat sesi untuk pertukaran data.
Kemudian pada latihan selanjutnya kita akan melakukannyaKonfigurasikan kunci SSH, kunci konfigurasinya adalah agar kita tidak perlu memasukkan kata sandi berulang kali saat kita terhubung ke mesin pengembangan dari jarak jauh, laluMengapa terhubung dari jarak jauh??
Keuntungan koneksi jarak jauh adalah jika Anda menggunakan kantor jarak jauh, Anda dapat terhubung dari jarak jauh ke mesin pengembangan melalui SSH, sehingga Anda dapat mengembangkannya secara lokal. Dan jika Anda perlu menjalankan beberapa kode lokal dan tidak memiliki lingkungan, maka koneksi jarak jauh sangat diperlukan.
Pertama, kita menggunakan metode memasukkan kata sandi untuk koneksi jarak jauh SSH. Nanti kita akan membahas tentang cara mengkonfigurasi login tanpa kata sandi.
Setelah menyelesaikan pembuatan mesin pengembangan, kita perlu membuka terminal PowerShell komputer kita dan menggunakannyaMenangkan+R Gunakan tombol pintasan untuk membuka kotak run, masuk ke powerShell, dan buka terminal powerShell. (Jika Anda menjalankan sistem operasi Linux atau Mac, langkah-langkah berikut ini sama)
Kami kembali ke platform mesin pengembangan dan masukMesin pengembanganTemukan mesin pengembangan yang kami buat di halaman dan klikkoneksi SSH。
lalu salinPerintah masuk, 37367 di sini adalah port SSH yang digunakan oleh mesin pengembangan. Umumnya yang digunakan adalah port 22. Tanpa nomor port ini, Anda tidak dapat terhubung ke SSH, dan port setiap orang berbeda, jadi jika Anda terhubung ke mesin pengembangan Jika Anda tidak dapat terhubung , Anda perlu memeriksa apakah portnya salah.
Rekatkan perintah yang disalin ke PowerShell dan tekan Enter. Di sini kita perlu memasukkan kata sandi. Kami menyalin kata sandi di bawah perintah login dan menempelkannya ke terminal.Perhatikan bahwa setelah menyalin kata sandi, klik kanan untuk menempelkannya. Tombol pintasan shell untuk menempelkannya di beberapa komputer adalahshift+ins
, kata sandi yang ditempel di sini tidak akan ditampilkan, ini normal.
Terakhir, tekan Enter dan muncul konten berikut yang menandakan keberhasilan:
Setelah kita terhubung ke mesin pengembangan, kita bisa menggunakannyahostname
Untuk melihat nama mesin pengembangan, gunakanuname -a
Untuk melihat informasi kernel mesin pengembangan, gunakanlsb_release -a
Untuk melihat informasi versi mesin pengembangan, gunakannvidia-smi
Periksa informasi GPU. Kita akan membicarakan perintah ini nanti. Jika Anda ingin keluar dari koneksi jarak jauh, masukkan dua kali.exit
Itu dia.
Namun ketika kita mengembangkan dan mempelajarinya, merepotkan untuk memasukkan password setiap saat dari jarak jauh. Kita dapat mengatur kunci SSH untuk melewati langkah memasukkan kata sandi, yang dapat kita gunakankunci sshperintah untuk menghasilkan kunci
Kunci SSH adalah metode otentikasi login yang aman dan nyaman, digunakan untuk otentikasi dan komunikasi terenkripsi dalam protokol SSH.
kunci sshMendukung kunci otentikasi RSA dan DSA.
Parameter yang umum digunakan meliputi:
Disini kita menggunakan algoritma RSA untuk menghasilkan kunci, perintahnya adalah:
ssh-keygen -t rsa
Setelah memasukkan perintahMasuk sepenuhnyaItu saja, kunci di sini dibuat secara default di~/.ssh/
di bawah direktori,~
Artinya direktori home, kalau windows yaC:Users{your_username}
.Dapat digunakan di PowerShellGet-Content
Perintah untuk melihat kunci yang dihasilkan, yang dapat digunakan jika itu adalah sistem operasi Linuxcat
Memesan.
Kemudian kita kembali ke platform mesin pengembangan dan klik Konfigurasi di halaman berandaKunci SSH, lalu klikTambahkan kunci publik SSH,
Salin kunci yang baru saja Anda buat dan tempel ke kotak kunci publik. Nama akan dikenali secara otomatis. Terakhir, klik Tambahkan Sekarang, dan konfigurasi Kunci SSH selesai.
Setelah menyelesaikan pembuatan SSH Key, restartterminalSaat menghubungkan dari jarak jauh, langkah memasukkan kata sandi akan dilewati.
Tentunya Anda juga dapat menggunakan software koneksi jarak jauh SSH, seperti:Istilah Angin、Xterminal Tunggu. Di sini kita menggunakan VScode untuk koneksi jarak jauh. Keuntungan menggunakan VScode adalah editor kode, yang sangat nyaman untuk modifikasi kode dan operasi lainnya.
Jika kita ingin terhubung dari jarak jauh di VScode, kita juga perlu menginstal satu set plug-in. Anda dapat mencari secara online cara menginstal VScode. (Vscode di mesin pengembangan tidak dapat mencari plugin ini, tetapi vscode lokal bisa)
Jika Anda sudah menginstal VScode, Anda dapat mengklik halaman ekstensi di sebelah kiri dan memasukkan "SSH" di kotak pencarian. Yang pertama adalah plug-in yang ingin kita instal.
Setelah menginstal plug-in, klik ikon koneksi jarak jauh di sidebar, klik tombol "+" di SSH, dan tambahkan perintah login untuk koneksi SSH mesin pengembangan.
Kami menyalin perintah login, lalu menempelkan perintah tersebut ke jendela pop-up, dan terakhir tekan Enter:
File konfigurasi default baik-baik saja. Tentu saja, Anda juga dapat menyesuaikannya. Berikut ini adalah konten spesifik dari file konfigurasi: (Ini mencakup semua informasi koneksi jarak jauh Anda)
Host ssh.intern-ai.org.cn #主机ip也可以是域名
HostName ssh.intern-ai.org.cn #主机名
Port 37367 #主机的SSH端口
User root #登录SSH使用的用户
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Jika Anda ingin menambahkan beberapa opsi konfigurasi berikut secara manual, Anda perlu memodifikasi bagian terkait sesuai dengan format di atas.
Jika *
StrictHostKeyChecking
no
DanUserKnownHostsFile
*/dev/null
Hapus jendela pop-up yang akan muncul untuk verifikasi sidik jari:
StrictHostKeyChecking no
Menunjukkan bahwa pemeriksaan kunci host yang ketat dinonaktifkan. Artinya, saat menyambung ke server SSH baru, kunci host server tidak akan diverifikasi secara ketat, sehingga dapat menimbulkan risiko keamanan tertentu.
UserKnownHostsFile /dev/null
Ini menyetel file kunci host yang diketahui pengguna ke /dev/null, yang pada dasarnya mengabaikan pencatatan dan penggunaan kunci host yang dikenal.Namun, dalam praktik keamanan umum, tidak disarankan untuk menonaktifkan pemeriksaan kunci host yang ketat secara sewenang-wenang.
Kemudian klik "Hubungkan" di jendela prompt yang muncul di sudut kanan bawah untuk terhubung dari jarak jauh ke mesin pengembangan.
Setelah koneksi jarak jauh selesai, Anda dapat memilih folder yang akan dibuka, yang juga dapat disebut direktori kerja. Anda dapat memilih folder di mesin pengembangan atau folder lokal.disk awan。
Saat Anda membuat koneksi jarak jauh di lain waktu, Anda tidak perlu memasukkan perintah login dan informasi lainnya. Anda hanya perlu membuka koneksi jarak jauh vscode untuk melihat informasi mesin pengembangan koneksi pertama, sebagai berikutroot
Artinya saat pertama kali kita terhubung ke mesin pengembangan, kita menggunakan/root
Daftar pekerjaan.
Dan pada gambar di bawah ini->
Menunjukkan bahwa Anda perlu memilih ulang direktori kerja setelah memasuki mesin pengembangan:
Dan pada gambar di bawah ini->
Menunjukkan memasuki direktori kerja yang dipilih oleh mesin pengembangan terakhir:
Direktori kerja yang dipilih setiap kali akan ditampilkan di bawah informasi mesin pengembangan: (ada direktori kerja tambahan untuk lagent di sini)
Selanjutnya kami akan perkenalkan kapanPemetaan Pelabuhan。
Pemetaan Pelabuhan Ini adalah teknologi jaringan yang dapat memetakan port mana pun di jaringan eksternal ke port yang sesuai di jaringan internal untuk mewujudkan komunikasi antara jaringan internal dan jaringan eksternal. Melalui pemetaan port, layanan atau aplikasi di intranet dapat diakses dari jaringan eksternal untuk mencapai komunikasi yang nyaman melalui jaringan.
Jadi mengapa kita perlu melakukan pemetaan port saat menggunakan mesin pengembangan?
Karena pada mata kuliah selanjutnya kita akan melakukan modeldemo_web Dalam praktik penerapan, selama proses ini, Anda mungkin mengalami masalah pemuatan antarmuka web yang tidak lengkap.Hal ini karena ketika menjalankan web_demo di mesin pengembangan Web IDE, mengakses langsung layanan http/https di mesin pengembangan mungkin mengalami masalah proxy.sumber daya uiTidak dimuat sepenuhnya.
Jadi untuk mengatasi masalah ini, kita perlu memetakan port koneksi yang menjalankan web_demo, danTautan jaringan eksternal dipetakan ke host lokal kami , kami menggunakan akses koneksi lokal untuk mengatasi masalah proxy ini. Mari kita praktekkan sekarang.
Pertama-tama mari kita pahami cara kerja pemetaan port mesin pengembangan berdasarkan diagram:
Ada langkah praktis di bawah ini. Pahami dulu cara melakukan pemetaan port.
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Di atas adalah perintah pemetaan port. Jalankan perintah ini pada host untuk melakukan pemetaan port. Berikut adalah diagram alur untuk memahami proses pemetaan port:
PC pribadi akan terhubung dari jarak jauh ke satu-satunya port 37367 yang terbuka dari mesin pengembangan (ini disebutkan selama SSH, dan port yang terbuka dari setiap mesin pengembangan berbeda), dan mengatur opsi terowongan. Pelabuhan terbuka berfungsi sebagai stasiun transit untuk meneruskan lalu lintas.
-C
: Aktifkan kompresi untuk mengurangi jumlah data yang ditransfer.-N
: Tidak menjalankan perintah jarak jauh, hanya membuat terowongan.-g
: Izinkan host jarak jauh untuk terhubung ke port yang diteruskan secara lokal.Ketika perintah SSH ini dijalankan pada PC pribadi, klien SSH akan mendengarkan pada port 7860 mesin lokal.
Setiap lalu lintas yang dikirim ke port lokal 7860 akan diteruskan oleh terowongan SSH ke port 7860 di alamat 127.0.0.1 server jarak jauh.
Artinya, meskipun port mesin pengembangan ini tidak terekspos langsung ke jaringan eksternal, kami dapat mengakses layanan di server jarak jauh dengan aman melalui terowongan ini. .
Kami masih membuka antarmuka mesin pengembangan, menemukan mesin pengembangan kami, dan klikLayanan khusus, salin perintah pertama,
ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
Mari kita perkenalkan kepadanya arti dari setiap bagian perintah:
-p 37367
: Menentukan port untuk koneksi SSH ke 37367, yang telah disebutkan sebelumnya.[email protected]
: Menunjukkan untuk digunakan root
Identitas pengguna terhubung kessh.intern-ai.org.cn
tuan rumah ini.-CNg
:
-C
Biasanya digunakan untuk mengaktifkan kompresi.-N
Menunjukkan bahwa perintah jarak jauh tidak dijalankan, tetapi hanya koneksi yang dibuat untuk penerusan port, dll.-g
Izinkan host jarak jauh untuk terhubung ke port yang diteruskan secara lokal.-L {本地机器_PORT}:127.0.0.1:{开发机_PORT}
: Ini untuk mengatur penerusan port lokal untuk meneruskan port yang ditentukan pada mesin lokal (oleh {本地机器_PORT}
mewakili) diteruskan ke host jarak jauh (di sini mis.ssh.intern-ai.org.cn
)dari 127.0.0.1
(yaitu alamat loopback lokal) dan port mesin pengembangan yang ditentukan (ditentukan oleh{开发机_PORT}
cepat).-o StrictHostKeyChecking=no
: Matikan pemeriksaan kunci host yang ketat untuk menghindari petunjuk atau kesalahan karena kunci host yang tidak dikenal saat menghubungkan untuk pertama kali.Saat Anda menjalankan demo web, Anda dapat menggunakan perintah ini untuk melakukan pemetaan port, misalnya:
Kami membuat file hello_world.py (klik kanan pada antarmuka mesin pengembangan untuk membuat file dan mengubah nama menjadi hello_world.py) dan mengisi konten berikut di dalam file:
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()
Ingat setelah mengeditctrl+s
menyimpan
Sebelum menjalankan kode, Anda perlu menggunakanpip install gradio==4.29.0
Perintah untuk menginstal paket ketergantungan berikut (salin dan tempel perintah ke terminal), lalu jalankan paket tersebut di terminal Web IDEpython hello_world.py
Memesan
Jika pemetaan port tidak dilakukan, maka tidak dapat diakses menggunakan IP lokal.
Saya bisa memasukkannya ke PowerShell menggunakan perintah berikut:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Ini melambangkan kesuksesan. (Melihat: Perintah ini tidak mengembalikan konten apa pun, yang berarti pemetaan port sedang berjalan, dan kemudian Anda dapat melihat antarmuka web ui dengan membuka koneksi di halaman web)
Tentu saja, jika kita menjalankan UI web yang berbeda, kita perlu memasukkan perintah berulang kali, yang sangat merepotkan, dan kita perlu menggunakan VScode.Kami telah menghubungkan mesin pengembangan dari jarak jauh melalui SSH. VScode menyediakan pemetaan port otomatis. Kami tidak perlu mengkonfigurasinya secara manual.Bangun terminal, opsi port dapat ditemukan di sisi kanan terminal:
Di sini Anda dapat melihat informasi pemetaan port. Jika Anda perlu mengubah port, Anda dapat mengubah nomor port di kolom port.
Pada bagian ini, saya akan mengajak Anda memahami beberapa tentang LinuxOperasi dasar , dan gunakan beberapa alat. Sehingga setiap orang dapat menyelesaikannya sendiri ketika menemui masalah, jika Anda menemui masalah, Anda juga dapat berkomentar di sini dan saya akan menjawab Anda tepat waktu.
karena kita menggunakanMesin pengembanganjarang digunakanmanajemen otoritas , jadi kami tidak akan memperkenalkannya. (Semua operasi berikut dilakukan di terminal VScode)
Di Linux, operasi manajemen file yang umum meliputi:
touch
perintah membuat file kosong.mkdir
Memesan.cd
Memesan.pwd
Memesan.cat
Langsung menampilkan seluruh isi file,more
Danless
Dapat dilihat dalam halaman.vi
atauvim
Tunggu editornya.cp
Memesan.ln
Memesan.mv
Memesan.rm
Memesan.rmdir
(Hanya direktori kosong yang dapat dihapus) atau rm -r
(Direktori yang tidak kosong dapat dihapus).find
Memesan.ls
perintah, seperti menggunakan ls -l
Lihat informasi rinci tentang file dalam direktori.sed
Memesan.Berikut beberapa perintah yang akan kita gunakan dalam kursus ini:
Kita dapat menggunakan sentuhan untuk membuat file dengan cepat, sehingga kita tidak perlu mengklik secara manual untuk membuatnya.Misalnya kita ingin membuatdemo.py
dokumen:
Begitu pula jika ingin membuat file bernamatest
Direktori:
Perintah ini akan menjadi perintah yang paling umum digunakan. Sebelum menggunakannya, Anda perlu menjelaskan struktur direktori kepada siswa yang tidak memiliki keterampilan komputer dan membuat gambaran agar semua orang dapat memahaminya:
Yang kami gunakan saat ini adalahroot
direktori, yang juga merupakan direktori home dari pengguna root.~
, di sistem operasi linux/
Mewakili direktori root. Ada banyak direktori dan file yang dibutuhkan oleh sistem di direktori rootroot
direktori, di antaranya.
Mewakili direktori saat ini,..
Direktori induk diwakili.Jika saya masuk sekarangtest
direktori dan kemudian kembali keroot
Direktori, kita dapat melakukan ini:
kita bisa gunakanpwd
Perintah untuk melihat direktori saat ini: Ini memudahkan kita menentukan di direktori mana kita berada saat ini.
cat
Perintah tersebut dapat melihat isi file, dan lebih banyak perintah dapat digunakan--help
Perintah untuk melihat:
Kita dapat menggunakannya ketika kita perlu mengedit filevi
atauvim
perintah, saat Anda memasuki pengeditan file, ada tiga mode:
Masuk ke mode edit untuk digunakani
, kenyamanan vim adalah Anda dapat membuat modifikasi file sederhana di terminal.
**cp
**Perintah ini akan sering digunakan dalam kursus berikut. Digunakan untuk menyalin file atau direktori ke direktori lain.
cp 源文件 目标文件
cp -r 源目录 目标目录
Namun jika kita ingin menggunakan model tersebut, operasi ini akan memakan banyak ruang disk, jadi biasanya kita menggunakanln
perintahnya, ini sama dengan shortcut windows. Ada dua jenis tautan di Linux:tautan keras(tautan keras)dengantautan lunak (tautan simbolik), tautan keras berarti suatu file dapat memiliki banyak nama, sedangkan tautan lunak menghasilkan file khusus yang isinya menunjuk ke lokasi file lain. Tautan keras ada dalam sistem file yang sama, tetapi tautan lunak dapat menjangkau sistem file yang berbeda.
Oleh karena itu, kami umumnya menggunakan koneksi lunak. Metode penggunaan umum adalah sebagai berikut:
ln [参数][源文件或目录][目标文件或目录]
Parameternya adalah sebagai berikut:
mv
perintah danrm
Perintahnya digunakan dengan cara yang serupa, namunmv
Ini digunakan untuk memindahkan file atau direktori, dan juga dapat diubah namanya.rm
Perintah ini digunakan untuk menghapus file atau direktori.
Metode yang umum digunakan adalah sebagai berikut:
Parameter yang umum digunakan:
-i
: Mode interaktif, tanyakan sebelum menimpa.-f
: Paksa cakupan.-u
: Pindahkan hanya jika file sumber lebih baru dari file target.Contoh penggunaan:
mv file1.txt dir1/
: memindahkan file file1.txt
Pindah ke direktoridir1
tengah.
mv file1.txt file2.txt
: memindahkan file file1.txt
Ganti nama menjadifile2.txt
。
perintah rm:
Parameter yang umum digunakan:
-i
: Mode interaktif, tanyakan sebelum menghapus.-f
: Penghapusan paksa, mengabaikan file yang tidak ada, tanpa meminta konfirmasi.-r
:Menghapus direktori dan isinya secara rekursif.Contoh penggunaan:
rm file.txt
:Hapus File file.txt
。rm -r dir1/
: Menghapus direktori secara rekursif dir1
dan seluruh isinya.Perintah untuk menghapus direktori juga dapat digunakanrmdir
。
find
Perintah ini adalah alat pencarian file yang ampuh di sistem Linux. Perintah ini dapat menemukan file atau direktori yang memenuhi ketentuan dalam direktori tertentu dan subdirektorinya dan melakukan operasi terkait.
Berikut ini adalahfind
Beberapa kegunaan umum dari perintah ini:
-name
pilihan untuk menemukan file berdasarkan nama file. Misalnya,find /path/to/directory -name "file.txt"
akan mencari direktori yang ditentukan dan subdirektorinya diberi namafile.txt
dokumen.-type
pilihan untuk menemukan file berdasarkan jenis file. Misalnya,find /path/to/directory -type f
Semua file biasa di direktori tertentu dan subdirektorinya akan ditemukan.-size
pilihan untuk menemukan file berdasarkan ukuran file. Misalnya,find /path/to/directory -size +100M
Akan menemukan file yang lebih besar dari 100MB di direktori tertentu dan subdirektorinya.-mtime
、-atime
atau-ctime
Opsi menemukan file berdasarkan waktu modifikasi, waktu akses, atau waktu perubahan status. Misalnya,find /path/to/directory -mtime -7
Akan menemukan file di direktori tertentu dan subdirektorinya yang telah diubah dalam 7 hari.-perm
opsi untuk menemukan file berdasarkan izin file. Misalnya,find /path/to/directory -perm 755
Akan menemukan file dengan izin 755 di direktori yang ditentukan dan subdirektorinya.-user
atau-group
Opsi menemukan file berdasarkan pemilik atau grupnya. Misalnya,find /path/to/directory -user username
Akan mencari direktori yang ditentukan dan subdirektorinya milik penggunausername
dokumen.-exec
Opsi dapat melakukan operasi terkait pada file yang ditemukan. Misalnya,find /path/to/directory -name "*.txt" -exec rm {} ;
akan menghapus semua akhiran yang ditemukan dengan.txt
mengajukan di akhir.ls
Perintah ini juga dapat digunakan untuk membuat daftar isi direktoridetail。
Parameter dan metode penggunaan yang umum digunakan adalah sebagai berikut:
-a
: Menampilkan semua file dan direktori, termasuk file tersembunyi (di luarnya.
file atau direktori yang dimulai dengan .).-l
: Menampilkan informasi detail dalam format panjang, termasuk izin file, pemilik, ukuran, waktu modifikasi, dll.-h
:Dan-l
Digunakan dalam kombinasi untuk menampilkan ukuran file dengan cara yang dapat dibaca manusia (mis.K
、M
、G
Tunggu).-R
: Daftar isi subdirektori secara rekursif.-t
: Menampilkan urutan waktu modifikasi file. ,sed
Command adalah editor aliran, terutama digunakan untuk pemrosesan teks. Ini sering digunakan saat memproses operasi file yang kompleks. Ini akan digunakan dalam kursus selanjutnya.sed
Parameter yang umum digunakan dan contoh penggunaan perintah adalah sebagai berikut:
-e<script>
atau--expression=<script>
: Tentukan skrip langsung di baris perintah untuk pemrosesan teks.-f<script文件>
atau--file=<script文件>
: Membaca skrip dari file skrip yang ditentukan untuk pemrosesan teks.-n
atau--quiet
atau--silent
: Hanya mencetak hasil keluaran yang diproses oleh skrip, dan jangan mencetak baris yang tidak cocok.a
: Tambahkan string teks yang ditentukan ke baris berikutnya dari baris saat ini.c
: Mengganti rentang baris tertentu dengan string teks tertentu.d
: Hapus baris yang ditentukan.i
: Tambahkan string teks yang ditentukan ke baris sebelumnya dari baris saat ini.p
: Mencetak garis yang dipilih.biasanya dengan-n
Digunakan bersama dengan parameter, hanya garis yang cocok yang dicetak.s
: Gunakan ekspresi reguler untuk penggantian teks. Misalnya,s/old/new/g
Ganti semua "InternLM" dengan "InternLM yyds".digunakan dalam contohecho
perintah, ini sama dengan di pythonprint
Sama, dulu untuk mencetak konten, disini menggunakan karakter pipa>
Cetak InternLM ke file file. Termasuk karakter pipa yang umum digunakan<
Dan|
, misalnya kita bisa menggunakangrep
Perintah untuk melihat penyertaan yang diinstal dalam pythonos
Paket lapangan:
grep
Adalah alat pencarian teks yang ampuh. Parameter yang umum digunakan adalah sebagai berikut:
-i
: Cari apa pun kasusnya.-v
: Membalikkan kecocokan, yaitu menampilkan garis yang tidak cocok.-n
: Menampilkan nomor baris.-c
: Menghitung jumlah garis yang cocok.Manajemen prosesPerintah adalah alat penting untuk pemantauan sistem dan manajemen proses. Perintah manajemen proses yang umum digunakan meliputi:
Ada juga perintah khusus di mesin pengembangannvidia-smi
, yang merupakan alat baris perintah untuk Antarmuka Manajemen Sistem NVIDIA, yang digunakan untuk memantau dan mengelola perangkat GPU NVIDIA. Ini memberikan cara cepat untuk melihat informasi seperti status GPU, penggunaan, suhu, penggunaan memori, penggunaan daya, dan proses yang berjalan pada GPU.
Berikut ini contoh penggunaan masing-masing perintah:
ps
: Daftar proses dalam sistem saat ini. Informasi proses yang berbeda dapat ditampilkan menggunakan opsi berbeda, seperti:ps aux # 显示系统所有进程的详细信息
top
: Menampilkan status proses dalam sistem secara dinamis. Ini memperbarui daftar proses secara real time, menunjukkan proses dengan penggunaan CPU dan memori tertinggi.top # 启动top命令,动态显示进程信息
pstree
: Menampilkan proses yang sedang berjalan dan hubungan induk-anaknya dalam bentuk diagram pohon. pstree # 显示进程树
pgrep
: Temukan proses yang cocok dengan kriteria. Anda dapat mencari proses berdasarkan nama proses, pengguna dan kondisi lainnya.pgrep -u username # 查找特定用户的所有进程
nice
: Mengubah prioritas suatu proses.nice
Semakin rendah nilainya, semakin tinggi prioritas prosesnya.nice -n 10 long-running-command # 以较低优先级运行一个长时间运行的命令
jobs
: Menampilkan daftar pekerjaan di sesi terminal saat ini, termasuk proses yang berjalan di latar belakang. jobs # 列出当前会话的后台作业
bg
Danfg
:bg
Biarkan proses yang ditangguhkan berjalan di latar belakang,fg
Membawa proses latar belakang kembali ke latar depan.bg # 将最近一个挂起的作业放到后台运行
fg # 将后台作业调到前台运行
kill
: Mengirim sinyal ke proses tertentu, biasanya digunakan untuk mematikan proses. kill PID # 杀死指定的进程ID
Melihat,kill
Perintah dikirim secara defaultSIGTERM
Sinyal, yang dapat digunakan jika proses tidak merespon-9
menggunakanSIGKILL
Signal dengan paksa menghentikan proses:
kill -9 PID # 强制杀死进程
SIGTERM
Sinyal (Terminasi Sinyal) adalah sinyal standar yang digunakan di sistem operasi Unix dan mirip Unix untuk meminta penghentian proses. Sinyal ini biasanya dikirim ketika sistem atau pengguna ingin menghentikan suatu proses dengan baik.DanSIGKILL
Sinyalnya berbeda,SIGTERM
Sinyal dapat ditangkap dan ditangani oleh suatu proses, sehingga proses tersebut dapat dibersihkan sebelum keluar. (dari internet)
Berikut ini adalah nvidia-smi
Beberapa perintah dasar penggunaan perintah:
nvidia-smi
nvidia-smi -l 1
Perintah ini akan memperbarui informasi status setiap 1 detik.
nvidia-smi -h
nvidia-smi pmon
nvidia-smi --id=0 --ex_pid=12345
Ini akan menghentikan proses secara paksa dengan PID 12345 pada GPU ID 0.
nvidia-smi -pm 1
nvidia-smi -i 0 -pm 1
Perintah pertama akan mengatur semua GPU ke mode performa, perintah kedua hanya menargetkan GPU dengan ID 0.
nvidia-smi --id=0 -r
Ini akan memulai ulang GPU dengan ID 0.
nvidia-smi -h
Berikut pengenalan informasi GPU melalui gambar:
Ini sebuah alatTMUX
,TMUX
adalah terminal multiplekser. Ini memudahkan untuk beralih di antara beberapa terminal, melepaskannya (ini tidak mematikan terminal, terminal terus berjalan di latar belakang) dan menyambungkannya kembali ke terminal lain. Mengapa memperkenalkan alat ini?Karena itu akan dilakukan nantiXtuner
Saat menyempurnakan model, itu akan memakan waktu lamaTmux
Ini dapat mengatasi situasi di mana program dimatikan dan terganggu. Berikut cara menginstal dan menggunakannya.
Karena mesin pengembangannya menggunakan sistem operasi ubuntu, Anda dapat menggunakannyalsb_release -a
Perintah untuk melihat informasi sistem ubuntu:
dan kemudian gunakanapt install tmux
Perintah untuk menginstal tmux. Anda dapat menggunakannya setelah instalasi selesai.tmux
Anda dapat menggunakan tmux dengan perintah. Jika Anda ingin keluar dari tmux, Anda dapat menggunakan "tombol ctrl+d"tombol pintas.
Pada mesin pengembangan, hanya file di jalur /root yang disimpan secara persisten. Perangkat lunak yang diinstal di jalur lain akan diatur ulang setelah dimulai ulang.
Cara penggunaan khusus dapat dilihat di:
https://www.ruanyifeng.com/blog/2019/10/tmux.html
Conda adalah manajemen paket sumber terbuka dan sistem manajemen lingkungan yang berjalan di Windows, macOS, dan Linux. Dengan cepat menginstal, menjalankan dan memperbarui paket perangkat lunak dan dependensinya. Dengan menggunakan Conda Anda dapat dengan mudah membuat, menyimpan, memuat, dan mengganti lingkungan berbeda di mesin lokal Anda.
Sudah terinstal di mesin pengembanganconda
, kita bisa menggunakannya secara langsung, dan ada juga yang built-in di mesin pengembanganconda
Memesanstudio-conda
, kami akan perkenalkan di bawah iniconda
Penggunaan dasar, danstudio-conda
Cara menggunakan dan memperkenalkanstudio-conda
Bagaimana hal itu dicapai.
Kami akan memperkenalkannya di bagian berikut:
kita bisa gunakanconda --version
untuk melihat mesin pengembangan saat iniconda
informasi versi:
kapan kita ingin menggunakannyaconda
Akan sangat lambat saat menginstal paket. Kita dapat mengatur mirroring domestik untuk meningkatkan kecepatan instalasi.
#设置清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
Tapi biasanya kami menggunakanpip
Menginstal paketnya, kami akan memperkenalkannya nantipip
Danconda
perbedaan.
Jika kita ingin melihat informasi konfigurasi conda, kita dapat menggunakanconda config --show
perintah, jika ini adalah pengaturan default mesin pengembangan, ia akan mengembalikan: (sebagian informasi)
Konfigurasi ini ada diConda
Konfigurasi lingkungan akan mempengaruhi metode dan hasil instalasi paket perangkat lunak, pembaruan, manajemen lingkungan dan operasi lainnya.
Bagian ini adalahconda
中非常重要的一部分,掌握了这一部分大家就可以将开发环境玩转到飞起了😀。
kita bisa gunakanconda create -n name python``=3.10
Buat lingkungan virtual, artinya lingkungan virtual dengan Python versi 3.10 dan namanya dibuat.Setelah pembuatan, Anda bisa.conda
di bawah direktorienvs
Ditemukan di direktori.
Jika versi python tidak ditentukan, lingkungan virtual berdasarkan versi python terbaru akan dibuat secara otomatis. Pada saat yang sama, kita dapat menginstal paket yang diperlukan saat membuat lingkungan virtual:conda create -n name numpy matplotlib python=3.10
(Tetapi saya tidak menyarankan Anda menggunakannya dengan cara ini)
Parameter umum untuk membuat lingkungan virtual adalah sebagai berikut:
Jika kita ingin melihat lingkungan virtual yang kita miliki, kita dapat menggunakan perintah berikut:
conda env list
conda info -e
conda info --envs
Pada saat yang sama, kita juga dapat melihat direktori dimana lingkungan tersebut berada.
Setelah kita membuat lingkungan virtual yang bisa kita gunakanconda activate name
perintah untuk mengaktifkan lingkungan virtual, bagaimana cara memeriksa apakah peralihan berhasil?Caranya mudah, lihat saja(base)
Entah itu menjadi nama lingkungan virtual yang dibuat.
Jika Anda ingin keluar dari lingkungan virtual, Anda dapat menggunakan:
conda activate
conda deactivate
Kedua perintah akan kembalibase
lingkungan karenabase
Ini adalah lingkungan dasar conda.base
Direktori lingkungan memiliki tingkat yang lebih tinggi daripada direktori lingkungan virtual lainnya.
Jika Anda ingin menghapus lingkungan virtual, Anda dapat menggunakanconda remove --name name --all
, jika Anda hanya menghapus satu atau beberapa paket di lingkungan virtual, Anda dapat menggunakanconda remove --name name package_name
Mengekspor lingkungan virtual sangat diperlukan untuk lingkungan tertentu, karena ketergantungan beberapa paket perangkat lunak sangat kompleks, dan akan merepotkan untuk membuat ulang dan mengkonfigurasinya sendiri. Jika kita mengekspor lingkungan yang dikonfigurasi, kita dapat memulihkannya di lain waktu. dan Anda juga dapat berbagi konfigurasi dengan orang lain.
#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f myenv.yml
Misalnya kita akan melakukannyaxtuner0.1.17
Lingkungan virtual diekspor dan informasi konfigurasinya adalah sebagai berikut:
Ini termasuknama lingkungan、Lokasi repositori online untuk paket lingkungan virtualDanKetergantungan lingkungan virtual . Nanti kami akan menggunakan metode penggunaan tingkat lanjut untuk memulihkan lingkungan virtual dengan cepat.
Pada bagian ini kami memperkenalkan beberapaconda
Danpip
Beberapa perbedaan:
Roda Ini adalah format paket instalasi Python.
Ini adalah format distribusi biner yang telah dikompilasi, mirip dengan biner yang dikompilasi di conda.
Keuntungan utama dari format Roda meliputi:
- Instalasi cepat: Karena sudah dikompilasi sebelumnya, tidak perlu melalui proses kompilasi seperti instalasi kode sumber saat instalasi, sehingga menghemat waktu.
- Konsistensi: Memastikan hasil instalasi konsisten di berbagai sistem dan lingkungan.
Misalnya, jika Anda ingin menginstal pustaka Python yang besar, menggunakan format Wheel dapat menghindari masalah instalasi yang disebabkan oleh perbedaan lingkungan kompilasi pada mesin yang berbeda. Selain itu, bagi sistem yang tidak memiliki lingkungan kompilasi atau memiliki kemampuan kompilasi yang lemah, format Wheel dapat membuat proses instalasi menjadi lebih lancar.
Bagian ini merupakan bagian lanjutan, karena menurut saya bagian ini sangat menarik dan praktis sekali, jadi jika anda tertarik bisa mempelajarinya.
Mari kita perkenalkan dulustudio-conda
, yang merupakan perintah bawaan mesin pengembangan dan diimplementasikan melalui skrip Shell. Apa itu skrip Shell?
Skrip cangkang File teks berisi serangkaian perintah yang disusun dalam urutan tertentu untuk mengotomatisasi tugas di Unix/Linux atau lingkungan sistem operasi serupa.
Skrip shell biasanya ditulis dalam bahasa Shell. Bahasa umum Shell seperti Bash, Sh, dll. adalah perintah dasar Linux yang kami perkenalkan sebelumnya, yang termasuk dalam bahasa Shell.
Ini memiliki beberapa fitur penting berikut:
Itustudio-conda
Ini adalah bagian dari otomatisasi. File konfigurasi lingkungan bash pengguna root di mesin pengembangan kami adalah.bashrc
, tetapi sebenarnya file konfigurasi utamanya adalah/share/.aide/config/bashrc
, ada beberapa perintah yang ditulis dalam file ini yang memungkinkan kita melakukan beberapa operasi dengan lebih cepat, seperti:
export no_proxy='localhost,127.0.0.1,0.0.0.0,172.18.47.140'
export PATH=/root/.local/bin:$PATH
export HF_ENDPOINT='https://hf-mirror.com'
alias studio-conda="/share/install_conda_env.sh"
alias studio-smi="/share/studio-smi"
export
digunakan untuk mengatur variabel lingkungan.alias
adalah menyalin file sh ke dalam variabel. Ini dapat dijalankan di terminal sebagai perintah kamistudio-conda
Itu dia.
Di Sinistudio-smi
Ini digunakan untuk memeriksa penggunaan memori virtual saat kita membuka/share/studio-smi
Filenya bisa dilihat:
#!/bin/bash
if command -v vgpu-smi &> /dev/null
then
echo "Running studio-smi by vgpu-smi"
vgpu-smi
else
echo "Running studio-smi by nvidia-smi"
nvidia-smi
fi
Script ini digunakan untuk memeriksa apakah ada a vgpu-smi
perintah, jika ada, itu akan dijalankanvgpu-smi
untuk menampilkan informasi status untuk GPU virtual (vGPU); jika tidak ada, maka akan berjalannvidia-smi
untuk menampilkan informasi status GPU NVIDIA. Seperti yang ditunjukkan di bawah ini:
nvidia-smi
adalah alat untuk memantau dan mengelola perangkat fisik GPU NVIDIA, danvgpu-smi
Dirancang untuk memantau dan mengelola sumber daya GPU yang divirtualisasikan melalui teknologi NVIDIA vGPU.
kita melihat/share/install_conda_env.sh
Isi filenya adalah sebagai berikut:
#!/bin/bash
# clone internlm-base conda env to user's conda env
# created by xj on 01.07.2024
# modifed by xj on 01.19.2024 to fix bug of conda env clone
# modified by ljy on 01.26.2024 to extend
XTUNER_UPDATE_DATE=`cat /share/repos/UPDATE | grep xtuner |awk -F= '{print $2}'`
HOME_DIR=/root
CONDA_HOME=$HOME_DIR/.conda
SHARE_CONDA_HOME=/share/conda_envs
SHARE_HOME=/share
list() {
cat <<-EOF
预设环境 描述
internlm-base pytorch:2.0.1, pytorch-cuda:11.7
xtuner Xtuner(源码安装: main $(echo -e "033[4mhttps://github.com/InternLM/xtuner/tree/main033[0m"), 更新日期:$XTUNER_UPDATE_DATE)
pytorch-2.1.2 pytorch:2.1.2, pytorch-cuda:11.8
EOF
}
help() {
cat <<-EOF
说明: 用于快速clone预设的conda环境
使用:
1. studio-conda env -l/list 打印预设的conda环境列表
2. studio-conda <target-conda-name> 快速clone: 默认拷贝internlm-base conda环境
3. studio-conda -t <target-conda-name> -o <origin-conda-name> 将预设的conda环境拷贝到指定的conda环境
EOF
}
clone() {
source=$1
target=$2
if [[ -z "$source" || -z "$target" ]]; then
echo -e "033[31m 输入不符合规范 033[0m"
help
exit 1
fi
if [ ! -d "${SHARE_CONDA_HOME}/$source" ]; then
echo -e "033[34m 指定的预设环境: $source不存在033[0m"
list
exit 1
fi
if [ -d "${CONDA_HOME}/envs/$target" ]; then
echo -e "033[34m 指定conda环境的目录: ${CONDA_HOME}/envs/$target已存在, 将清空原目录安装 033[0m"
wait_echo&
wait_pid=$!
rm -rf "${CONDA_HOME}/envs/$target"
kill $wait_pid
fi
echo -e "033[34m [1/2] 开始安装conda环境: <$target>. 033[0m"
sleep 3
tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}
wait_echo&
wait_pid=$!
conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
if [ $? -ne 0 ]; then
echo -e "033[31m 初始化conda环境: ${target}失败 033[0m"
exit 10
fi
kill $wait_pid
# for xtuner, re-install dependencies
case "$source" in
xtuner)
source_install_xtuner $target
;;
esac
echo -e "033[34m [2/2] 同步当前conda环境至jupyterlab kernel 033[0m"
lab add $target
source $CONDA_HOME/bin/activate $target
cd $HOME_DIR
echo -e "033[32m conda环境: $target安装成功! 033[0m"
echo """
============================================
ALL DONE!
============================================
"""
}
······
dispatch $@
salah satu diantara mereka*list
*()
Tunggu, itu sajastudio-conda
fungsi, yang dapat mengimplementasikan operasi tertentu, misalnya dapat kita gunakanstudio-conda env list
Untuk melihat lingkungan default:
di dalam*clone
*()
Fungsi utama dari fungsi ini adalah untuk menyalin lingkungan, tetapi hanya dapat disalin dari lingkungan default. Kode utamanya sebenarnya:
tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}
conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
Buka zip paket terkompresi dari lingkungan preset, lalu buat lingkungan virtual melalui klon. Namun, beberapa logika juga diatur dalam skrip Shell, tetapi ini hanya beberapa penilaian. Jika Anda familiar dengan bahasa pemrograman apa pun, Anda seharusnya bisa untuk memahaminya. Jika Anda tidak bisa memahaminya, itu juga bukan masalah besar.
Jadi bagaimana kita menambahkan lingkungan yang kita buat sendiristudio-conda
Bagaimana dengan tengah?
Langkah pertama adalah membuat lingkungan conda baru di /share/conda_envs
conda buat -p /bagikan/conda_envs/xxx python=3.1x
Langkah kedua adalah menyalin file di bawah /root/.conda/pkgs di mesin lokal ke /share/pkgs, kompres ulang dan ganti (langkah ini untuk menyimpan paket publik berukuran besar selama proses pembuatan conda untuk menghindari pengunduhan berulang)
cp -r -n /root/.conda/pkgs/* /berbagi/pkgs/
cd /berbagi dan tar -zcvf pkgs.tar.gz pkgs
Langkah ketiga adalah memperbarui fungsi daftar di install_conda_env.sh dan menambahkan deskripsi lingkungan conda baru.
Di atas adalah metode yang disediakan oleh mesin pengembangan secara default. Sebenarnya ada metode lain yang kami gunakan sebelumnyaconda
Dieksporxtuner0.1.17
File konfigurasi untuk lingkungan virtual, dapat kita gunakanconda env create -f xtuner0.1.17.yml
perintah untuk memulihkan lingkungan virtual.Mari kita tulis skrip Shell sederhana untuk mengimplementasikan operasi ini: Kita membuattest.sh
file, tulis konten berikut:
#!/bin/bash
# 定义导出环境的函数
export_env() {
local env_name=$1
echo "正在导出环境: $env_name"
# 导出环境到当前目录下的env_name.yml文件
conda env export -n "$env_name" > "$env_name.yml"
echo "环境导出完成。"
}
# 定义还原环境的函数
restore_env() {
local env_name=$1
echo "正在还原环境: $env_name"
# 从当前目录下的env_name.yml文件还原环境
conda env create -n "$env_name" -f "$env_name.yml"
echo "环境还原完成。"
}
# 检查是否有足够的参数
if [ $# -ne 2 ]; then
echo "使用方法: $0 <操作> <环境名>"
echo "操作可以是 'export' 或 'restore'"
exit 1
fi
# 根据参数执行操作
case "$1" in
export)
export_env "$2"
;;
restore)
restore_env "$2"
;;
*)
echo "未知操作: $1"
exit 1
;;
esac
Setelah kita menyelesaikan pembuatan skrip Shell, kita perlu memberikan izin pada skrip tersebut.chmod +x test.sh
, lalu masuk./test.sh restore xtuner0.1.17
Dan tekan Enter untuk memulihkan lingkungan virtual.
Namun hal ini tidak jauh berbeda dengan penggunaan langsung. Jika operasi ini dibandingkan dengan operasi di mesin pengembangan,studio-conda
Menggabungkan perintah akan sangat mudah, tetapi metode menyalin lingkungan berbeda.Oleh karena itu, jika Anda ingin menerapkannya, Anda perlu melakukannya/share/install_conda_env.sh
Logika file diubah.
Oke, itu saja konten level ini, semoga konten di atas dapat bermanfaat bagi semua orang di masa depan. Jika Anda ingin mempelajari lebih lanjut tentang Linux, Anda dapat membaca artikel blog saya , akan sangat membantu bagi kita untuk mempelajarinya. Model besar tidak berdampak banyak, tetapi jika Anda mempelajari Linux dengan baik, pembelajaran model besar Anda akan menjadi sangat lancar. Terakhir, jangan lupa untuk menyelesaikan level yang telah kita tentukan sebelumnya!
Tautan blog:Bahasa Indonesia: linux
Jalankan dengan hati-hati! ! ! !Semua data akan hilang. Ini hanya tersedia di platform InternStudio.
rm -rf /root
, perlu waktu sekitar 10 menit untuk menungguln -s /share /root/share
Untuk melewati misi level, Anda perlu mengambil tangkapan layar dengan langkah-langkah utama:
rincian misi | Waktu yang diperlukan untuk menyelesaikannya | |
---|---|---|
Misi | Selesaikan koneksi SSH dan pemetaan port lalu jalankanhello_world.py | 10 menit |
Tugas opsional 1 | Selesaikan perintah dasar Linux pada mesin pengembangan | 10 menit |
Tugas opsional 2 | Gunakan VSCODE untuk terhubung dari jarak jauh ke mesin pengembangan dan menciptakan lingkungan conda | 10 menit |
Tugas opsional 3 | Buat dan jalankantest.sh dokumen | 10 menit |