Technology sharing

Level I: De Linux

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Praefatio

Articulus hic est notae tertiae magnae exemplar praxis castrorum pro scholaribus hosted a Shanghai Intelligentia Artificialis Laboratory est solum a singulis et docendis adiutoribus cum corrigendis congue sem.Tutorial original link
Ad subcriptio, quaere "Tertium Scholaris Exemplar Exercitium Castra" in WeChat.
Nota haec nota personaliter annotata modificata ex originali tutorial.

Linux+InternStudio level

😀Hello大家好,欢迎来到Scholaris magnae exemplarCastra practica, hic cursus fundamentalis praeparatur a castris practicis studentibus qui primum participent castra practica, et studentes ex variis industriis qui nullam habent scientiam fundamentalem LinuxInternStudio evolutionis machinaet magister quidam basicsLinux scientia ita ut omnes nihil sentiant ubi in sequentibus hisce cursus committitur. Munera aliqua in aequo paravimus tibi hic labores.Sit scriptor committitur!

1. Introductio ad machinam evolutionis InternStudio

InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。

Si plura scire vis de InternStudio, potes sequentia documenta inspicere: InternStudio

https://studio.intern-ai.org.cn/

Primum nexum superius aperi ut InternStudio ingrediaris. Post colligationem in sponte salies ad interfaciem consolatorium, ut in figura infra ostendetur.

Insert imaginem descriptionis hic

Dicam tibi functiones paginarum singulis numerorum serialium respondens:

  1. Hic potes creareProgressio machinaevolutionis machinae conformationem ac visum tigna evolutionis mitigare, etc.

Insert imaginem descriptionis hic

  1. Bene hicVisualization Tabulas et folder inspice in machina evolutionis. Si duas machinas evolutionis creas, eadem nube disco utuntur. (Quia singula machinae progressus est Docker continens, unus nubes reposita orbis annectitur. Ad explicationes vocabulorum professionalium, videbis: Explicatio terminorum professionalium) Hic potes fasciculos vel folders, fasciculos creare, et tabellas occultas considerare.

Insert imaginem descriptionis hic

  1. Haec nova functio machinae evolutionis est. Si consilium vis facere, opes ab adiutore petere potesShared computatis opibus,避免造成资源浪费。(毕竟烧的可都是💴啊)
  2. Hoc adhibetur configurareSSH keyquo uti postea dicemus.
  3. Ultimus locus est ad informationes personales tuas emendas et reprehendo tuumopibus computatispeculiarem usum.

Haec brevis introductio ad InternStudio suggestum est. Videamus quomodo machinam evolutionis efficiat.Creare progressus machina

Insert imaginem descriptionis hic

Hic eligimus crearepersonali machina, nominetestCudaVersio 12.2;Resource destinatioLego X% et default durationis est finis.

Post creationem completum estProgressio machinaVidere potes machinam evolutionis quae modo creata est in interface.

Insert imaginem descriptionis hic

Post ingressus machinam evolutionis, videre potes primam paginam evolutionis machinae.JupyterLab, Terminatio et VScode

Insert imaginem descriptionis hic

in:

  1. JupyterLab: programmatio interactive et ambitus docendi cum structuris terminalibus qui facile fasciculos inspicere possunt, codicem exequi, etc.
  2. terminatio(Terminal, levissimum): Maxime ad mandatum lineae operationes, vel scripta currit et programmata simplicia
  3. VSCode: VSCode in pagina interretiali inserta etiam remotius per SSH nexum in VSCode locali explicari potest. Sequentia explicabit quomodo nexum remotum configurare potest.

Insert imaginem descriptionis hic

  1. Haec est usus subsidii, quae in sequentibus adhibebitur.

2. SSH et portum mapping

Nos supra induximusInternStudio Platformac quomodo machinam evolutionis efficiatSSHQuid utor remotis iunctio, Quomodo uti SSHremotis iunctioMachina progressio, quid est?Port Mappinget quomodoPort Mapping

2.1 Quid est SSH?

SSHPlenum nomen est Secure Testa, quod in Sinica translatum est sicut testa firmanetwork securitatem protocol , fac securam accessum ac file translationem ac alia officia per encryptionem et authenticas machinas. Protocollum SSH operas retis secures praebet in ambitu retis insecuris per encrypting et authenticas retis notitias.

SSH est (C/S architectura) byserveretclientisUt securam alveum SSH constituam, utraque pars nexum TCP constituendum primum opus est, deinde numerum versionis tractandum et algorithmorum variarum usum, eundemque generandum.sessionem clavis propter encryption symmetrica subsequent. Authenticatione peracta, utraque pars sessionem pro notitia commutationis constituere potest.

Deinde in subsequenti usu volumusConfigurare SSH claves, clavis configurationis est ut saepe tesseram ingredi non debeamus cum machinae evolutionis remotius coniungimus, deindeCur iungo remotius?

Commodum nexus remotae est quod, si remota officio uteris, remotius coniungere potes machinae evolutionis per SSH, ut localiter evolvere possis. Et si opus est ut aliquo codice loci currere et ambitum non habere, nexus remotior valde necessarius est.

2.2 Quomodo SSH uti ad machinam evolutionis remote coniungere?

2.2.1 Usus password pro SSH remota connexione

Primum modum ingrediendi tesseram pro SSH nexu remoto utimur. Postea loquemur quomodo ad login liberum tesseram configurare debemus.

Peracta creatione machinae evolutionis, necesse est ut potentiae nostrae computatorii et usus terminatio aperiaturVincere+R Utere brevibus clavis ut capsam procursum aperias, powerShell intra, et potestatemShell terminalem aperi. (Si curris Linux vel Mac operandi ratio, vestigia sequentes idem sunt)

Redimus ad machinam evolutionis suggestum et intramusProgressio machinaInvenire machinam evolutionis in pagina et click creavimusSSH nexum

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

tum effingoLogin imperium, 37367 hic est portus SSH usus machinae evolutionis. Fere portus 22 adhibetur. Sine portu isto numero, ad SSH coniungere non potes, et portus omnium diversus est, ergo si machinam evolutionis coniungas Si coniungere non potes. , reprehendo an portus erras.

Crustulum mandatum transcriptum in potestaria et premunt Intra.Nota quod, exscriptum tesseram, ius-click ad crustulum illudshift+insTessera conglutinata hic non ostendetur, hoc normale est.

Demum torcular Intra et sequenti contenta apparet, successum indicans;

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Postquam machinam evolutionis coniungimus, uti possumushostnameApparatus progressus ad nomen videre, utereuname -aUt videre nuclei informationem machinae evolutionis, uterelsb_release -aAd informationem versionem machinae evolutionis inspicere, uterenvidia-smiGPU informationes perscribe. De his mandatis postea loquemur. Si vis remotam connexionem exire, bis intrant.exitId est.

2.2.2 Configure SSH key pro SSH nexu remoto

Sed cum enucleamus ac studemus, molestum est signum in omni tempore longinquo ingredissh-keygeniubes generare clavem

Clavis SSH tuta et opportuna methodus login authenticas est, adhibita ad authenticas et encryptas communicationis in protocollo SSH.

ssh-keygenTum RSA et DSA claves authenticas adiuvat.

Communiter parametri includit:

  • -t: Specificare clavem generis, ut dsa, ecdsa, ed25519, rsa.
  • -b: speciem clavis longitudinem.
  • -C: commenta add.
  • -f-: Specificare tabella nominis clavis servare.
  • -i: Read unencrypted ssh-v2 compatible private/public key files.

Hic utimur algorithmus RSA ad clavem generandam, praeceptum est;

ssh-keygen -t rsa
  • 1

Post ingressus imperiumIntra omnem viamId est, clavis hic defalta generatur~/.ssh/sub presul;~Significat directorium domus, si fenestrae sunt, estC:Users{your_username} .Potest in powerShellGet-ContentMandatum videre clavem generatam, quae adhiberi potest si ratio operativa Linux estcatOrdo.

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Tunc revertamur ad suggestum evolutionis machinae et click configurationis in pagina protocollumSSH Key, tunc deprimeAdde SSH publica clavis

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Effingo clavem quam modo generatam et conglutinatam in arca publica clavis. Nomen automatice cognoscetur. Denique preme Add Nunc et SSH Clavis figura completa est.

Insert imaginem descriptionis hic

Post expletum SSH Key creatio, sileoterminatioCum e longinquo connectens, gradus tesserae ingrediendi omittendus erit.

2.2.3 Usus VScode pro SSH remota connexione

Utique, utaris coniunctionis SSH remotae uti potes, ut:Windterm、Xterminal manere. Hic utimur VScode ad remotam connexionem. Commodum utendi VScode est illud codicis editor, quod ad modificationem et alias operationes codicem accommodatissimum est.

Si in VScode remotius coniungere velimus, etiam statutum obturaculum-ins instituere debes. (vscode in machina evolutionis hoc obturaculum inquirere non potest, sed loci vscode potest)

Insert imaginem descriptionis hic

Si VScode instituisti, deprime in pagina extensionis sinistrae et "SSH" in arca inquisitionis intrare.

Insert imaginem descriptionis hic

Post obturaculum in insertis, preme nexum remotam iconem in parte laterali, preme "+" bullam in SSH, et adde mandatum login pro SSH connexione machinae evolutionis.

Insert imaginem descriptionis hic

Mandatum login imitamur, deinde mandatum crustulum in fenestra pop-upi, ac tandem prelum Intra:

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Lima configurationis defalta tenuis est. Utique, id quoque mos est.

Host ssh.intern-ai.org.cn #主机ip也可以是域名
  HostName ssh.intern-ai.org.cn #主机名
  Port 37367 #主机的SSH端口
  User root #登录SSH使用的用户
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Si vis aliquas optiones configurationis sequentis manuale addere, debes partes respondentes secundum formam superius mutare.

Si *StrictHostKeyChecking noetUserKnownHostsFile* /dev/nullDelere pop-up fenestram, quae pop sursum pro fingerprints verificationem:

Insert imaginem descriptionis hic

StrictHostKeyChecking no Significat strictam exercitum clavem reprimendorum debilitatum esse. Hoc significat quod cum novo SSH servo coniungens, clavem exercitus servi non stricte verificabitur, quod certum periculum securitatis inponere potest.

UserKnownHostsFile /dev/nullHospes clavem limam usori /dev/nulli notam ponit, quae per se memoriam et usum clavium exercitus notarum notarum ignorat.

Tamen, in usu securitatis generalis, non commendatur ad libitum inactivandi strictam exercitum clavem tenendo.

Deprime "Iungo" in fenestra prompta, quae pops sursum in angulo dextro inferiori, ut remote conectere cum machina evolutionis.

Insert imaginem descriptionis hic

Insert imaginem descriptionis hic

Post remotam connexionem peractam, folder ut aperias eligere potes, quod etiam directorium operarium vocari potes.nubes orbis

Cum remotam connexionem proximo tempore feceris, mandata login aliaque informationes intrare non debes. Tantum opus est nexum remotum vscode aperire ad informationem machinae evolutionis primae nexus videndi, ut sequiturrootSignificat quod cum primum machinam evolutionis coniungimus, utimur/rootOpus album.

Insert imaginem descriptionis hic

Et in pictura infra->Indicat opus esse te reselectare directorium operationis postquam machinam evolutionis ingrediens:

Insert imaginem descriptionis hic

Et in pictura infra->Indicat ingrediens directorium laboris electum per ultimam machinam evolutionis:

Insert imaginem descriptionis hic

Operatio directorium unumquodque tempus electum sub informatione machinae evolutionis ostendetur: (addita est operandi directorium pro lagent hic)

Insert imaginem descriptionis hic

Deinde introducemus cumPort Mapping

2.3.

2.3.1 Quid est portus destinata?

Port Mapping Res technologiae retis est quae portum quemlibet in retis extraneis ad portum correspondentem in retis internis describere potest ut communicationem inter retem internum et retem externam cognoscat. Per portum destinata, officia vel applicationes in intraneum possunt ab retis externi accedere ad communicationem convenientem trans retis consequendam.

Cur ergo opus est portum destinata efficere cum machina evolutionis utens?

Quia in sequentibus agemus exemplaweb_demo In praxi in instruere, in hoc processu, verisimile est tibi problema incompletae oneratione interretialis occurrere ui.Causa est, quia cum web_demo in evolutionis machina Web IDE currit, directe accessus ad http/https ministerium in machina evolutionis problemata procuratorem potest occurrere.ui opibusNon oneratus omnino.

Ad hanc igitur quaestionem solvendam, nexum currentem interretialem acNexus retis externi ad nostrum localem exercitum provisi sunt adhibemus nexum localem accessum ad solvendam hanc quaestionem procuratorem. Nunc id agamus.

Insert imaginem descriptionis hic

Prius intellegamus quomodo machinae evolutionis operas mappings in schemate fundatae sint:

Gradus practici infra sunt.

ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
  • 1

Praeceptum est mandatum mapping portum. Curre hoc praeceptum in exercitu ad portum destinata perficiendum.

Insert imaginem descriptionis hic

PC personale remotius coniunget ad portum unicum expositum 37367 machinae evolutionis (hoc in SSH memoratur et portus expositus cuiuslibet machinae evolutionis differt), et optiones cuniculi pone. Portus expositi servit stationem transitivam ad mercaturam procuret.

  • -C: Compressionem activare ad redigendum moles notitia transfertur.
  • -N: remota imperia non facit, cuniculos tantum instituit.
  • -g: Sinite remotas turmas coniungere portubus localiter transmissis.

Cum hoc mandatum SSH exercetur in PC personale, client SSH audiet de portu 7860 machinae localis.

Quaelibet negotiatio ad portum localem 7860 mittenda ab SSH cuniculo ad portum 7860 mittenda in inscriptione servo remota 127.0.0.1.

Hoc significat, etiamsi hic portus evolutionis machinae retis externi non directe pateat, tuto accessum ad officia in remoto servo per hoc cuniculum posse. .

2.3.2 Quomodo portum destinata praestare?
2.3.2.1 Usus ssh imperium ad portum mapping

Adhuc ingredimur ad machinam evolutionis interfaciei, machinam nostram evolutionis invenimus, et deprimeCustom servicesimitare primum imperium;
Insert imaginem descriptionis hic

ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
  • 1

Cuique parti praecepti significationem ei inducamus:

  • -p 37367: portum designat pro SSH connexione ad 37367, de quo supra dictum est.
  • [email protected]: Indicat uti root User identitatem coniungitssh.intern-ai.org.cn hunc exercitum.
  • -CNg
    • -C Typice ad enable cogo.
    • -N Indicat, remotis mandatis non exsecutioni mandandis, sed tantum necessariis constitutis ad portum transmittuntur, etc.
    • -g Patitur remotas turmas coniungere ad portus localiter transmittantur.
  • -L {本地机器_PORT}:127.0.0.1:{开发机_PORT}: Hoc est constituere portum localem procuret ut certum portum machinae localis transmittat (per " {本地机器_PORT} represents) remotum exercitum transmittere (here i.e.ssh.intern-ai.org.cn)of* 127.0.0.1 (i.e. localis loopback oratio) et certa progressio machinae portum (definitum per "{开发机_PORT} exprimere).
  • -o StrictHostKeyChecking=no: Clavem militiae stricte averte reprehendo ad vitandum suggerit vel errores ob claves hospes ignotae cum primum connectens.

Cum demo interretialem curris, hoc praecepto uti potes ad portum destinata perficiendum, exempli gratia:

Fasciculum hello_world.py creamus (dextera-click in instrumento evolutionis machinae ad limam creandam et nomen ad hello_world.py mutandum) et sequenti tabella contentum imple:

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

Memento post recenserectrl+ssalvare

Priusquam codicem currit, uti debespip install gradio==4.29.0Mandatum ut sequentes fasciculi dependentiae instituantur (exemplar et crustulum mandatum in terminale), et deinde unum in termino Web IDE curruntpython hello_world.pyOrdo

Insert imaginem descriptionis hic

Si portus tabularum faciendarum non est, adiri non potest IP localis usus.

Insert imaginem descriptionis hic

Hoc intrare possum in powerShell utens mandato sequenti:

ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
  • 1

Insert imaginem descriptionis hic

Agitur de successu. (Notice: Hoc mandatum non refert aliqua contenta, quae significat portum mapping currere, et tunc videre potes per telam ui interfaciendi aperiendo nexum in pagina interreti)

Insert imaginem descriptionis hic

2.3.2.2 Usus vscode ad portum mapping

Utique, si alia tela UIs currimus, mandata identidem ingredi debemus, quae valde molesta sunt, et VScode uti necesse est.Conteximus machinam evolutionis remote per SSH. VScode praebet automatae portum destinata. Non opus est ut manually configurare possimus.Excitare terminumportus bene reperiuntur a dextra terminali parte;

Insert imaginem descriptionis hic

Hic portum tabularum informationum inspicere potes. Si portum mutare debes, numerum portum in columna mutare potes.

3. Basic Linux imperat

In hac parte tibi accipiam nonnulla de LinuxBasic res ac instrumentis uti. Ut quisque eam per se solvere possit cum difficultates amittas.

quia utimurProgressio machinararo usus estprocuratio auctoritatis sic non introducemus. (Sequentiae operationes omnes in VScode terminatio aguntur)

3.1 File procuratio

In Linux, commune fasciculi administratio operationum complectitur:

  • Creare lima: Potest uti touch imperium lima vacua creat.
  • Creare Directory: usus mkdir Ordo.
  • Directory commutatione: ususcdOrdo.
  • Monstrare directorium: ususpwdOrdo.
  • Visum file contenta: Si usus cat Directe totam tabellae contenta ostendunt,more etless In paginis videri potest.
  • Fasciculus recensere: sicut vi or *vim Expecta editorem.
  • Effingo lima: usus cp Ordo.
  • Create file link: ususlnOrdo.
  • Movere files: pass mv Ordo.
  • Tabularia Delere: usus rm Ordo.
  • delete Directoryrmdir(Tantum inanis directoria deleri possunt) vel rm -r(Notationes vacua non deleri possunt).
  • Invenire files: Potest uti find Ordo.
  • View details de lima vel Directory: ususlsimperium, ut usura ls -lVisum detailed informationem de files in indicem.
  • Processus files: Ad fasciculi implicati operationes, uti potessedOrdo.

Hic plura praecepta utemur in cursu;

3.1.1 tactus

Tactu uti possumus ad files cito creandos, ideo non habemus ut manually strepat ut eas creans.Exempli gratia, creare volumusdemo.pydocumentum:

3.1.2 mkdir

Eodem modo, si limam nominatam creare vistestDirectorium:

Insert imaginem descriptionis hic

3.1.3 cd

Hoc mandatum erit communissimum mandatum.

Insert imaginem descriptionis hic

Quod utimur nunc estrootdirectorium, quod est etiam directorium domus radicis usoris.~In Linux operating ratio/Repraesentat radicem directoriumrootpresul, in quo.Repraesentat hodiernam directorium,.. Directorium parentis repraesentatum est.Si nunctestet ad DirectoryrootDirectorium hoc facere possumus:

3.1.4 pwd

uti possumuspwdMandatum ad videndum directorium hodiernam: Hoc facilius nobis est determinare utri directorio in praesenti sumus.

Insert imaginem descriptionis hic

3.1.5 cattus

catPraeceptum tabellae videre potest, et plura mandata adhiberi possunt--helpMandatum ad visum:

  • -a, omnia aequivalet -vET
  • b, -number-non blank numerus non-inanis output lineae, overrides -n
  • -e, equivalent to -vE
  • -E, monstra -end$ in fine cuiusque lineae
  • -n, -number omnes lineae output
  • -s, --crick-blank supprimit saepe vacua output lineae
  • -t aequivalet isti -vT
  • -t, --show-tabs ostendit tab characteres ut ^I
  • -v, exhibeat usus non-excudendi ^ et M-notationem, exceptis LFD et TABq
3.1.6 vi vel vim

Ea uti possumus cum files recensere opus estvior *vimimpera, cum fasciculum in quamcumque emendum intras, tres sunt modi;

Insert imaginem descriptionis hic

Intra recensere modus utendiicommoditas vim est ut modificationes simplices fasciculi in terminali facere possis.

3.1.7 CP et ln (emphasis)

**cp**Praeceptum saepe adhibebitur in sequentibus.

  • Effingo lima:cp 源文件 目标文件
  • Exemplar directorium:cp -r 源目录 目标目录

Sed si exemplari uti velimus, haec operatio multum spatii orbis capiet, sic plerumque utimurln impera, hoc idem quod fenestrae brevis. Duo sunt genera nexuum in Linux:difficile link(Durum link) cummollis link Vinculum durum significat fasciculum plura nomina habere posse, dum nexus nexus mollis specialem fasciculum generat, cuius contenta demonstrat locum alterius fasciculi. Nexus duros in eadem ratio lima exstant, sed nexus molles systemata fasciculi diversis spatiis intercludere possunt.

Ergo coniunctionibus mollibus plerumque utimur.

ln [参数][源文件或目录][目标文件或目录]
  • 1

Parametri sunt:

  • -s: Creare nexus molles (symbolices nexus) etiam frequentissime adhibetur;
  • -f-: Force execution, overwrite existentium clypeo lima ;
  • -i: Modus Interactive, si tabella exstiterit, utens suggeretur an rescribere eam;
  • -n: tractare nexus symbolicos sicut directorias generales;
  • -v: Propono processus detailed.
3.1.8 mv et rm *

mvimperium and *rmSimili modo imperata, sedmvSolet lima vel directoria movere, et etiam nominari potest.rmPraeceptum adhibetur lima vel directoria delere.

Communiter modi sunt hae:

  • mv imperium

Communiter parametri:

  • -i: Lingva modus, roga ante overwriting.
  • -f: vi coverage.
  • -u: Move tantum si scapus fons recentior est quam fasciculus scopo.

Exemplum usus:

  • mv file1.txt dir1/: Movere tabella file1.txt Movere Directorydir1 medium.

  • mv file1.txt file2.txt: Movere tabella file1.txt Rename tofile2.txt

  • rm imperium

Communiter parametri:

  • -i: Lingva modum, delendo prius roga.
  • -f: deletionem coactam, neglectis non existentibus files, sine admonitione confirmationis.
  • -r: Recursively delere directorium et contenta.

Exemplum usus:

  • rm file.txt: Delere Lima file.txt
  • rm -r dir1/: Recursively delere directoriis dir1 et omnibus suis contentis.

Mandatum ad delere directorium etiam adhiberi potestrmdir

3.1.9 invenire

findPraeceptum fasciculi validum instrumentum quaerendi in systemate Linux potest invenire lima vel directoria quae condiciones in certa directorio eiusque subdirectoria conveniant et operationes debitas perficiant.

Hoc estfindCommunes usus praecepti;

  1. Invenies per lima nomen: usus-name optionem ad inveniendum lima nomen lima. Exempli gratiafind /path/to/directory -name "file.txt"scrutabitur certa directoria et subdirectoria nominatafile.txtdocumentum.
  2. Invenies per lima genus: usus-type optionem ad inveniendum lima genus lima. Exempli gratiafind /path/to/directory -type fOmnes tabulae ordinariae in directorio determinato eiusque subdirectoria invenientur.
  3. Find a lima amplitudo: usus-size optionem ad inveniendum fasciculos lima amplitudo. Exempli gratiafind /path/to/directory -size +100MLima maiora quam 100MB invenies in directorio definito eiusque subdirectoria.
  4. Investigare per modificationem temporis: usus-mtime-atimeor *-ctime Optiones tabellarum inveniunt secundum eorum modificationem tempus, accessum temporis, status mutationis tempus. Exempli gratiafind /path/to/directory -mtime -7Tabularia invenies in directorio determinato eiusque subdirectoria quae intra 7 dies mutata sunt.
  5. Find a file permissiones: usus-perm optio inveniendi files fundatur in file permissiones. Exempli gratiafind /path/to/directory -perm 755Tabularia cum licentia 755 invenies in directorio praefinito et subdirectoria.
  6. Find a user vel coetus: usus-useror *-group Optiones lima a domino suo vel coetui invenias. Exempli gratiafind /path/to/directory -user usernameInvestigabo determinatum directorium eiusque subdirectorias ad usoris pertinentesusernamedocumentum.
  7. res praestare: usus-exec Optiones operationes respondentes in files inventis facere possunt. Exempli gratiafind /path/to/directory -name "*.txt" -exec rm {} ;delebo omnes inveni ending in.txtlima in fine.
3.1.10 ls

lsPraeceptum adhiberi potest ad contenta directorii recenseresingula

Usitatius parametri et modi usus sunt haec:

  • -a: Exhibe omnia documenta et directoria, inter fasciculos occultos (supra.file seu directorium quod incipit cum.).
  • -l: detailed informationes ostendit in longa forma, inter quas permissiones fasciculi, possessoris, magnitudinis, temporis modificationis, etc.
  • -h:et-lIn compositione usus est ad magnitudinem tabellae exhibendam in modo humano-readabili (v.g.KMGmanere).
  • -R: Enumera contenta subdirectoria recursively.
  • -t : Exhibe ordinem file modificationis temporis. ,

Insert imaginem descriptionis hic

3.1.11 but

sedPraeceptum rivus editor est, praesertim textus processus adhibitus. Saepe usus est cum incomprehensibilium lima operationum processus adhibebitur.sedUsitatius parametri et usus praeceptorum exempla sunt haec:

  • Parameter Description:
    • -e<script> or *--expression=<script>: Specificare scripta directe in linea mandatorum pro textu processus.
    • -f<script文件> or *--file=<script文件>: Lege scriptum ex certo scripto lima pro text processui.
    • -n or *--quiet or *--silent: Tantum imprimendi output proventus per scripturam processit, nec lineas singulares imprimes.
  • Actio descriptio:
    • a: Adde chorda determinata textui ad lineam proximam lineae hodiernae.
    • c: Reponit certum range linearum cum certo textu filum.
    • d: Delere certo ordine.
    • i: Adde filum illud determinatum ad lineam praecedentem lineae hodiernae.
    • p : imprime lineae selectae.plerumque with-n Adhibentur una cum parametris, lineis tantum congruentibus impressis.
    • s : Utere expressionibus regularibus ad textum repositum. Exempli gratias/old/new/g Repone omnes "InternLM" cum "InternLM yyds".
  • Exemplum:

Insert imaginem descriptionis hic

in exemplumechohoc idem est quod in PythoneprintEadem, contenta imprimendi, tibia charactere hic utebantur>Print InternLM ad fasciculum fasciculi<et|, e.ggrepMandatum videre installed in pythonosInvolucrum agri:

Insert imaginem descriptionis hic

grep Instrumentum quaestionis textus potens est. Communiter parametri sunt haec:

  • -i: quaere pro causa.
  • -v: invertit compositus, i.e., ostentat unmatched lines.
  • -n: Propono lineam numerum.
  • -c: Numera lineas matching.

3.2 Processus administratione

Processus procuratioMandata magni momenti instrumenta ad administrationem rationum vigilantiam et processum pertinent.

  • ps: View currit processuum
  • top: Dynamic processuum ostentationem currit
  • pstree: View currit processus in arbore visum
  • pgrep: Ad inveniendum processuum
  • nice: Muta prius processus
  • jobs "Propono processus relatas informationes
  • bg et fg *: Movere processus in background
  • Occidere: processus occiditis

Est etiam mandatum speciale in machina evolutionisnvidia-smi , quod est instrumentum lineae mandatum pro NVIDIA Systemate Management Interface, monitori usus est et machinas NVIDIA GPU administrare. Velox viam praebet ad explorandum informationes quales sunt GPU status, usus, temperatus, memoria usus, potentia usus, processus in GPU currentes.

Usus cuiusque praecepti haec sunt exempla;

  • ps : Enumera processus in systemate currenti. Diversae informationes processus exhiberi possunt diversis optionibus utentes, ut:
    • ps aux  # 显示系统所有进程的详细信息
      
      • 1
  • top : Dynamice propono statum processuum in systemate. Processum album in reali tempore addit, cum processibus supremis CPU et memoriae usu ostendit.
    • top  # 启动top命令,动态显示进程信息
      
      • 1
  • pstree: Processus currentes praesentes et parentelas suas relationes in specie arboris figurae ostendit.
    • pstree  # 显示进程树
      
      • 1
  • pgrep : Reperio processuum priorum re- gularum. Potes quaerere processus nomine processu, usuario et aliis conditionibus.
    • pgrep -u username  # 查找特定用户的所有进程
      
      • 1
  • nice: muta prioritatem processus.nice Inferior valor, superior processus prioratus.
    • nice -n 10 long-running-command  # 以较低优先级运行一个长时间运行的命令
      
      • 1
  • jobs: Indicem operis ostendit in sessione terminali hodiernae, inter processuum in curriculo currentium.
    • jobs  # 列出当前会话的后台作业
      
      • 1
  • bg etfgbg Processus suspensus pone ad currendum in curriculo;fg Produc processus curriculi ad corporis fabrica.
    • bg  # 将最近一个挂起的作业放到后台运行
      fg  # 将后台作业调到前台运行
      
      • 1
      • 2
  • kill: signum mittere ad processum determinatum, solere processus interficere.
    • kill PID  # 杀死指定的进程ID
      
      • 1
    • Animadverte,kill Mandatum mittitur per defaltamSIGTERM Signum, quod adhiberi potest si processus non respondet-9ususSIGKILL Signum processus fortiter interficit;

    • kill -9 PID  # 强制杀死进程    
      
      • 1

SIGTERM Signum (signal Termination) signum est vexillum signum in Unix et Unix-similis systemata operativa ad terminationem processus petendi. Hoc signum solet mitti cum ratio vel usor volet processum deprimere eleganter.etSIGKILLSigna differunt;SIGTERM Capi possunt signa et tractari per processum, permittens processum ad mundandum antequam exiret. (A Internet)

Hoc est nvidia-smi Praecipua quaedam praecepti usus imperii;

  • Propono informationes summary de GPU status:
    • nvidia-smi
      
      • 1
  • Status notitia detailed GPU:
    • nvidia-smi -l 1
      
      • 1
    • Hoc mandatum renovabit status informationes singulas 1 secundas.

  • GPU ostende usum historiae:
    • nvidia-smi -h
      
      • 1
  • Enumera omnia GPUs et eorum PIDs et processum nomina ostendunt:
    • nvidia-smi pmon
      
      • 1
  • GPU processus fortiter terminus certa:
    • nvidia-smi --id=0 --ex_pid=12345
      
      • 1
    • Hic processus cum PID 12345 in GPU ID 0 fortiter terminabit.

  • Set modus perficientur GPU:
    • nvidia-smi -pm 1
      nvidia-smi -i 0 -pm 1
      
      • 1
      • 2
    • Primum praeceptum omnes GPUs ad modum perficiendi ponet, secundum imperium solum GPU cum ID 0 peltat.

  • GPU sileo:
    • nvidia-smi --id=0 -r
      
      • 1
    • Hoc sileo GPU cum ID 0 .

  • Auxilium monstrare informationes:
    • nvidia-smi -h
      
      • 1

Sequens introductio ad GPU informationem per imaginem est:

Insert imaginem descriptionis hic

3.3 Instrumentum usus

Hic instrumentum estTMUXTMUX terminatio multiplexer est. Facile efficit ut inter plures terminales mutes, eas disiungas (hoc terminales non occidit, in curriculo currunt) easque in alias terminales reiungunt. Quorsum hoc instrumentum introducis?Quod fiet posteaXtunerCum exemplar incedit, diu eritTmuxIs condicionem solvere potest ubi programmata interrumpitur et occidit.

Quia machina progressionis systematis operantis utitur Decuria, uti poteslsb_release -a Mandatum ad considerandam Decuria systematis informationes:

Insert imaginem descriptionis hic

tum utiapt install tmuxMandatum ut tmux instituatur.tmuxPotes uti tmux cum imperio.Ctrl+d"Brevis clavis.

In machina evolutionis, tantum fasciculi sub /radice viae continenter reponuntur. Software sub aliis itineribus installatus, post restarting reset erunt.

Imprimis usus modi spectari possunt ad:

https://www.ruanyifeng.com/blog/2019/10/tmux.html

4. Introductio ad Condam et Testam (Additional)

Conda fons apertus est sarcina procuratio et ambitus administrandi ratio quae in Windows, macOS et Linux decurrit. Celeriter inaugurat, decurrit ac updates fasciculos programmata eorumque clientelas. Conda utens facile potes creare, nisi, onerare et commutare varios ambitus in machina locali tuo.

Iam installed in machina evolutioniscondadirecte uti possumus, estque etiam una in machina evolutionis constructacondaOrdostudio-conda, infra inferemuscondaBasic usus, etstudio-condaQuomodo uti et inducerestudio-condaQuomodo effectum est.

Id nos in partes sequentes introducemus;

  1. conda occasus
  2. conda environment procuratio
  3. conda et pituitam
  4. Studio-conda adhibetur cum Testa (extensio)

4.1 conda occasus

uti possumusconda --versionut videre hodiernam evolutionis machinamcondanotitia versionis:

Insert imaginem descriptionis hic

quando volumus uterecondaTardissimum erit cum involucrum inaugurare. Domesticas referre possumus ad meliorem institutionem celeritatem constituere.

#设置清华镜像
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Sed plerumque utimurpipInvolucrum insertis, postea introducemuspipetcondadifferentiam.

Si informationem condam configurationis videre velimus, uti possumusconda config --showmandatum, si defectus occasus machinae evolutionis sit, redibit: (pars percontationum)

Insert imaginem descriptionis hic

Hae figurationes inCondaConfiguratio ambitus afficiet modos et eventus involucrum programmatum programmatum, updates, ambitus administrationes ceterasque operationes.

4.2 conda environment procuratio

Haec pars estconda中非常重要的一部分,掌握了这一部分大家就可以将开发环境玩转到飞起了😀。

4.2.1 virtualis environment

uti possumusconda create -n name python``=3.10 Facere ambitum virtualem, quod significat virtualem environment cum Pythone versionis 3.10 et nomen creatum est.Post creationem potes.condasub indicemenvsInvenitur in presul.

Insert imaginem descriptionis hic

Cum versio pythonis non specificata sit, virtualis environment in recentissima pythonis versione automatice creata erit. Eodem tempore, dum virtualis ambitus creando fasciculis necessariis instituere possumus:conda create -n name numpy matplotlib python=3.10(Sed non suadeo ut hoc modo utaris)

Communes parametri ad ambitum virtualem creandi sunt hae:

  • -n vel --name: Specificare nomen ambitus creandi.
  • -c vel --channel: Specificare additional canales sarcina.
  • -clone: ​​Clone environment ad novum ambitum exsistens.
  • -p vel --praefixum: specificare institutionem viam ambitus (non-default locus).
4.2.2 Perscriptio quae virtualis ambitus sunt

Si vis videre quas prope ambitus habemus, hoc imperio uti possumus:

conda env list
conda info -e
conda info --envs
  • 1
  • 2
  • 3

Insert imaginem descriptionis hic

Eodem tempore etiam videre possumus indicem ubi situs situs est.

4.2.3 Activum et exiens virtualis environment

Post creare virtualis environment possumus uticonda activate name mandatum ut activate virtualis ambitus, quomodo inspicias num transitum proficiat?Facile est, vide(base)Sitne nomen prope ambitum creatum.

Insert imaginem descriptionis hic

Si vis virtualis environment exire, uti potes:

conda activate
conda deactivate
  • 1
  • 2

Utrumque imperium reddetbaseamet, quodbasePraecipuum ambitus condaei est.baseDirectorium ambitus altior est quam ceterae virtualis environment directoria.

4.2.4 Delete et export virtualis environment

Si vis virtualis environment delere, uti potesconda remove --name name --all, si vel unam vel aliquas fasciculos in ambitu virtuali deleas , uti potesconda remove --name name package_name

Rectum ambitum educendi valde necessarium est ad certum ambitum, quia dependentiae aliquarum fasciculorum programmatum valde implicatae sunt, et molestum erit eam te recreare et configurare. et configurationem cum aliis communicare potes.

#获得环境中的所有配置
conda env export --name myenv > myenv.yml
#重新还原环境
conda env create -f  myenv.yml
  • 1
  • 2
  • 3
  • 4

Exempli gratiaxtuner0.1.17Ambitus virtualis exportatur et indicio conformatio talis est:

Insert imaginem descriptionis hic

Haec includitnomen ametLocus e promptuario online virtualis environment packagesetLorem ipsum elit clientelae . Postea methodis adhibitis provectis utemur ad ambitum virtualem cito restituendum.

4.3 conda et pituitam

In hac parte nonnulla introducimuscondaetpipDifferentiae nonnullae:

  1. conda fasciculos non pythones administrare potest, et pituitam tantum fasciculos pythones administrare potest.
  2. conda adhiberi potest ad virtualem environment creare, pituita autem non potest et indiget fasciculis niti sicut virtualenv.
  3. In sarcina installed a conda compilavitbinarii file, fasciculi dependens sponte instituentur per fasciculorum fasciculorum institutionem ;rota vel source codedependentiae praeter linguam Pythonem durante processu institutionis non sustinebunt.
  4. Sarcinae a conda inauguratae indicem ad hodiernam virtualem environment respondentem, et semel et multiplex temporibus recipi possunt. pituitam directe ad respondentem environment downloaded.

Rota Pythonis forma institutionis sarcina est.

Forma distributionis binaria praecomiuncta est, similis binariis in conda compilatis.

Praecipua commoditates Rotae format:

  1. Fast institutionem: Quia pre-compilatum est, per processum compilationem non opus est ut fons codicis institutionem durante institutione, salvis temporibus.
  2. Constantia: Ensures institutionis eventus per varios systemata et ambitus constantes sunt.

Exempli gratia, si vis magnam bibliothecam Pythonis instituere, forma Rota utens difficultates institutionis vitare potest ex diversis machinis in compilation causatis differentiis. Praeterea, pro illis systematibus quae ambitum ambitum non habent vel facultates compilation infirmas habent, Rota forma institutionis processum levius facere potest.

4.4 Studio-conda usus et Testa (extensio)

Haec pars protracta est, quia hanc partem valde interesting et valde practicam puto, ita, si interest, scire potes.

Lets primum inducerestudio-conda quae est machinae evolutionis constructae et per scripturam Testam impletur. Quid est scriptor Testa?

Testa script Fasciculus textus continens seriem mandatorum ordine certo dispositam ad officia automandi in ambitu Unix/Linux vel similes systematis operandi.

Scripta testarum solent in lingua Testa scripta.

Hoc magni momenti notas habet:

  1. automation : Repetitae series, operationes implicatae ut scriptionem possunt scribi et tunc simpliciter currunt ut automate has operationes, salvis temporibus et erroribus reducendis. Exempli gratia, scriptum est quod cotidianis fasciculis in ordinem remittit.
  2. Systema Management : administrandi systema configurationem, permissiones utentis, processum imperium, etc. Exempli gratia: scriptum quod novum usorem creat et eorum licentias ponit.
  3. Batch processus : Facultas processus multiplex lima vel notitia eodem tempore. Exempli gratia, scriptum quod fasciculum imaginum imaginum ab una forma in aliam convertitur.
  4. processus imperium: Iudicium conditionale (si - aliud), ansa (pro, dum), etc., ut scripta diversis operationibus pro diversis adiunctis exerceant.

Quodstudio-condaPars est automationis.bashrcsed file configurationem principalem est/share/.aide/config/bashrcsunt quaedam mandata in hoc fasciculo scripta quae citius aliquas operationes peragere nos sinunt, ut:

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"
  • 1
  • 2
  • 3
  • 4
  • 5

exportadhibetur ut amet variables.aliasest tabellam sh in variabilem effingerestudio-condaId est.

hic "studio-smiUsus est ad reprimendam virtualem memoriam usus/share/studio-smiTabella videri potest;

#!/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Hoc scriptum est ad reprehendo an sit a vgpu-smi praeceptum, si praesens erit, curratvgpu-smi ut status informationes pro virtuali GPU (vGPU exhibeat);nvidia-smi NVIDIA GPU status notitia ostendere. Ut infra patebit:

Insert imaginem descriptionis hic

nvidia-smi Instrumentum est vigilantia et curandi machinas physicas NVIDIA GPU etvgpu-smi Disposita est monitor et administrare facultates GPU virtualizatas per NVIDIA vGPU technicas.

nos view/share/install_conda_env.shContenta tabella sunt haec:

#!/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 $@
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97

unus eorum*list*()Exspecta, actum eststudio-condamunus, quod operationes quasdam efficiant, exempli gratia uti possumusstudio-conda env listUt videre default environment:

Insert imaginem descriptionis hic

in*clone*()Praecipuum munus muneris in ambitu effingo, sed solum ex defectu ambitus exscribi potest.

tar --skip-old-files -xzvf /share/pkgs.tar.gz -C ${CONDA_HOME}

conda create -n $target --clone ${SHARE_CONDA_HOME}/${source}
  • 1
  • 2
  • 3

Unzip sarcina pressae ambitus praesentis, et inde virtualem ambitum crea per clone. Sed quaedam logica etiam in scripto conchae ponitur, sed iustum est iudicium aliquod Si intellegere non potes, magna quaestio non est.

Ita quomodo addimus proprium ambitum creatum ad?studio-condaQuid de medio?

Primus gradus est novum conda environment sub /share/conda_envs creare

conda creo -p /share/conda_envs/xxx python=3.1x

Secundus gradus est effingere limas sub /root/.conda/pkgs machinae localis ad /share/pkgs, recomprimere ac subrogare (hic gradus est magnas publicas sarcinas in conda creationis processu ad vitandum iteratas downloads) condere.

cp -r -n /root/.conda/pkgs/* /share/pkgs/

cd /share && tar -zcvf pkgs.tar.gz pkgs

Tertius gradus est munus album renovare in install_conda_env.sh et novam condam ambitus descriptionem addere.

Haec est methodus quae per evolutionem machinae per defaltam valetcondaemiturxtuner0.1.17Configurationis lima pro ambitus virtualis, uti possumusconda env create -f xtuner0.1.17.yml imperium restituere virtualis environment.Scribamus simplicem Testam scripturam ad hanc operationem efficiendam: Creamustest.shlima, sequenti contenta scribe;

#!/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

Postquam scripturam Testae creationem absolvimus, licentias scripto concedere debes.chmod +x test.sh Ergo intrare./test.sh restore xtuner0.1.17Ac preme Intra ut virtualem environment restituat.

Insert imaginem descriptionis hic

Sed hoc non multum differt a recto usu.studio-conda Coniungendo mandata commodissima erunt, sed modi ambitus describendi diversi sunt.Ergo, si vis efficere, debes/share/install_conda_env.shTabula logica modificatur.

Bene, ut omnia argumenta huius gradus sunt. Spero quod superius contentum omnibus in futurum utile erit , iuvabit nobis discere. Magnae exempla non multum habent momenti, sed si bene discas Linux, doctrina tua magnarum exemplorum levissima faciet. Denique noli oblivisci gradus quos antea proposuimus absolvere!

Blogus nexus:linux

communis quaestio

1. Ambitus machinae evolutionis internStudio fracta est. Quomodo initializet machinae evolutionis ambitum?

Diligenter exequi! ! ! !Omnia data interciderunt. Hoc solum praesto est in suggestu InternStudio.

  • Primus gradus est coniungere locorum terminalium machinae evolutionis per ssh (iungi debet per ssh ad operandum, non per telam !!!)
  • Secundus gradus supplicium rm -rf /root, De X minuta exspectare tollet
  • Tertius gradus est ut machinam evolutionis sileo.
  • quartus gradus ln -s /share /root/share

Level missio

Ut missionem planam transeas, eenshotsscras in clavis gradibus accipere debes;

missionem detailsTempus requiritur ad perficiendam
MissionisComplete SSH nexum et portum destinata et procursuhello_world.py10min
Opus libitum 1Perficere basic Linux imperium in evolutionis machina10min
Opus libitum 2Utere VSCODE remotius coniungere ad machinam evolutionis et condam environment creare10min
Opus libitum 3Create et curreretest.shdocumentum10min