{"id":95906,"date":"2020-10-05T01:41:58","date_gmt":"2020-10-04T23:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios"},"modified":"2020-10-05T01:41:58","modified_gmt":"2020-10-04T23:41:58","slug":"zapuskaem-komandnuyu-stroku-linux-na-ios","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","title":{"rendered":"Lans\u0103m linia de comand\u0103 Linux pe iOS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Lans\u0103m linia de comand\u0103 Linux pe iOS\" src=\"\/wp-content\/uploads\/2020\/10\/2cfc862c9912ac31e6af72bca74ceff1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0218tia\u021bi c\u0103 este posibil s\u0103 rula\u021bi linia de comand\u0103 Linux pe un dispozitiv iOS? Poate v\u0103 \u00eentreba\u021bi: \u201eDe ce ar trebui s\u0103 folosesc aplica\u021bii text pe iPhone?\u201d O \u00eentrebare fireasc\u0103. Dar dac\u0103 citi\u021bi Opensource.com, probabil \u0219ti\u021bi r\u0103spunsul: utilizatorii Linux doresc s\u0103 poat\u0103 lucra cu acesta pe orice dispozitiv \u0219i s\u0103 utilizeze propriile set\u0103ri.<\/p>\n<p>Dar cel mai mult ei \u00ee\u0219i doresc solu\u021bii pentru sarcini complexe.<\/p>\n<p>Am un iPad 2 Mini de \u0219apte ani, care \u00eenc\u0103 se descurc\u0103 bine pentru citirea c\u0103r\u021bilor electronice \u0219i alte sarcini. Totu\u0219i, vreau s\u0103-l folosesc \u0219i pentru accesarea liniei de comand\u0103 a aplica\u021biilor cu setul meu de programe \u0219i scripturi f\u0103r\u0103 de care nu pot lucra. Am nevoie de un mediu la care sunt obi\u0219nuit, precum \u0219i de standardul meu de dezvoltare. Iat\u0103 cum am reu\u0219it s\u0103 fac acest lucru.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Conectarea la tastatur\u0103<\/h2>\n<p>\nLucrul cu linia de comand\u0103 pentru programare prin intermediul tastaturii pe ecranul telefonului sau al tabletei este destul de incomod. Recomand conectarea unei tastaturi externe, fie prin Bluetooth, fie folosind un adaptor de conectare pentru camer\u0103 pentru a conecta o tastatur\u0103 prin cablu (eu am ales cea de-a doua variant\u0103). C\u00e2nd conectezi tastatura divizat\u0103 Kinesis Advantage la iPhone 6, rezultatul este un dispozitiv ciudat care aminte\u0219te de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shadowruntabletop.com\/products\/setting-sourcebooks\/\">un cyberdeck corporativ<\/a><\/noindex> din clasicul <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/7\/free-rpg-day\">joc de rol<\/a><\/noindex> Shadowrun.<\/p>\n<h2>Instalarea unei shell pe iOS<\/h2>\n<p>\nPentru a rula un sistem Linux complet func\u021bional pe iOS exist\u0103 dou\u0103 op\u021biuni:<\/p>\n<ul>\n<li>Secure shell (SSH), conectat la un computer cu Linux<\/li>\n<li>Rularea unui sistem virtual cu Alpine Linux folosind iSH, care este open source, dar trebuie instalat printr-o aplica\u021bie proprietar\u0103 TestFlight de la Apple<\/li>\n<\/ul>\n<p>\n\u00cen alternativ\u0103, exist\u0103 dou\u0103 aplica\u021bii terminal emulator open source, care ofer\u0103 posibilitatea de a lucra cu instrumente open-source \u00eentr-un mediu restric\u021bionat. Aceasta este cea mai limitat\u0103 variant\u0103 - de fapt, rula\u021bi nu Linux, ci instrumente Linux. C\u00e2nd folosi\u021bi aceste aplica\u021bii, exist\u0103 restric\u021bii severe \u00een privin\u021ba capacit\u0103\u021bilor, totu\u0219i ob\u021bine\u021bi o func\u021bionalitate par\u021bial\u0103 a liniei de comand\u0103.<\/p>\n<p>\u00cenainte de a trece la solu\u021bii complexe, voi examina metoda cea mai simpl\u0103.<\/p>\n<h3>Op\u021biunea 1: shell \u00eentr-o \u201esandbox\u201d<\/h3>\n<p>\nUna dintre cele mai simple modalit\u0103\u021bi este s\u0103 instala\u021bi o aplica\u021bie pentru iOS <noindex><a rel=\"nofollow\" href=\"https:\/\/libterm.app\/\">LibTerm<\/a><\/noindex>. Aceasta <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ColdGrub1384\/LibTerm\">open source<\/a><\/noindex> Un shell de comand\u0103 \u00een \u201esandbox\u201d cu suport pentru peste 80 de comenzi, la pre\u021bul de zero dolari. Acesta vine \u00eempreun\u0103 cu Python 2.7, Python 3.7, Lua, C, Clang \u0219i multe altele.<\/p>\n<p>Func\u021bionalitate aproximativ similar\u0103 ofer\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/holzschu.github.io\/a-Shell_iOS\/\">a-Shell<\/a><\/noindex>, descris de dezvoltatori ca \u201einterfa\u021ba de utilizator de test pentru platforma cu introducere pe ecran\u201d. Sursele a-Shell sunt disponibile <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/holzschu\/a-shell\/blob\/master\/LICENSE\">open source<\/a><\/noindex>, este \u00een dezvoltare activ\u0103, ofer\u0103 acces la sistemul de fi\u0219iere \u0219i vine cu Lua, Python, Tex, Vim, JavaScript, C \u0219i C++, precum \u0219i cu Clang \u0219i Clang++. De asemenea, permite instalarea pachetelor Python folosind pip.<\/p>\n<h3>Variant\u0103 2: SSH<\/h3>\n<p>\nUn alt pas \u00eenainte fa\u021b\u0103 de desc\u0103rcarea aplica\u021biei este configurarea unui client SSH. De mult timp avem posibilitatea de a folosi oricare dintre numeroasele aplica\u021bii client SSH pentru iOS pentru a ne conecta la un server care ruleaz\u0103 Linux sau BSD. Avantajul utiliz\u0103rii SSH este c\u0103 pe server poate rula orice distribu\u021bie cu orice software. Lucrezi de la distan\u021b\u0103, iar rezultatele muncii tale sunt transmise pur \u0219i simplu emulatorului de terminal pe dispozitivul iOS.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/blink.sh\">Blink shell<\/a><\/noindex> \u2014 este o aplica\u021bie SSH pl\u0103tit\u0103 popular\u0103 \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blinksh\/blink\/blob\/raw\/COPYING\">open source<\/a><\/noindex>. Dac\u0103 nu \u021binem cont de ecranul mic al dispozitivului, utilizarea acestui software seam\u0103n\u0103 cu conectarea la un server prin orice alt terminal de comand\u0103. Terminalul Blink arat\u0103 grozav, are multe teme gata f\u0103cute \u0219i o func\u021bie de creare a propriilor teme, inclusiv posibilitatea de a personaliza \u0219i ad\u0103uga noi fonturi.<\/p>\n<h3>Variant\u0103 3: rularea Linux<\/h3>\n<p>\nUtilizarea SSH pentru a te conecta la un server Linux este o modalitate excelent\u0103 de acces la linia de comand\u0103, dar necesit\u0103 un server extern \u0219i o conexiune de re\u021bea. Aceasta nu este cea mai mare barier\u0103, dar nu poate fi complet ignorat\u0103, a\u0219a c\u0103 este posibil s\u0103 ai nevoie s\u0103 lucrezi cu Linux f\u0103r\u0103 un server.<\/p>\n<p>Dac\u0103 acesta este cazul t\u0103u, va trebui s\u0103 faci un alt pas \u00eenainte. <noindex><a rel=\"nofollow\" href=\"https:\/\/testflight.apple.com\/\">TestFlight<\/a><\/noindex> \u2014 este un serviciu proprietar pentru instalarea aplica\u021biilor \u00een dezvoltare \u00eenainte de a fi lansate \u00een Apple App Store. Aplica\u021bia TestFlight poate fi desc\u0103rcat\u0103 din App Store, iar apoi poate fi utilizat\u0103 pentru aplica\u021bii de testare. Aplica\u021biile din TestFlight permit unui num\u0103r limitat de beta-testeri (de obicei p\u00e2n\u0103 la 10.000) s\u0103 lucreze cu ele pentru o perioad\u0103 limitat\u0103 de timp. Pentru a desc\u0103rca aplica\u021bia de testare, trebuie s\u0103 accesa\u021bi linkul de pe dispozitivul dumneavoastr\u0103, care se afl\u0103 de obicei pe site-ul web al dezvoltatorului aplica\u021biei de testare.<\/p>\n<h2>Lansarea Alpine Linux cu iSH<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">iSH<\/a><\/noindex> \u2014 este o aplica\u021bie open-source TestFlight care ruleaz\u0103 o ma\u0219in\u0103 virtual\u0103 cu o distribu\u021bie gata preg\u0103tit\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/alpinelinux.org\/\">Alpine Linux<\/a><\/noindex> (cu pu\u021bin efort, se pot rula \u0219i alte distribu\u021bii).<\/p>\n<p>O caracteristic\u0103 important\u0103: <em>aplica\u021bia este experimental\u0103<\/em>. Deoarece iSH este acum o aplica\u021bie de testare, nu a\u0219tepta\u021bi o func\u021bionare constant\u0103 \u0219i fiabil\u0103. Aplica\u021biile TestFlight sunt limitate ca timp. Construc\u021bia mea actual\u0103 va func\u021biona doar 60 de zile. Acest lucru \u00eenseamn\u0103 c\u0103, dup\u0103 60 de zile, voi fi exclus \u0219i va trebui s\u0103 m\u0103 re\u00eenscriu pentru urm\u0103toarea etap\u0103 a test\u0103rii iSH. Mai mult, voi pierde toate fi\u0219ierele mele dac\u0103 nu le exportez utiliz\u00e2nd Files pe iOS sau nu le copiez pe un serviciu de gazduire Git sau <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/9\/ssh\">prin SSH<\/a><\/noindex>. Cu alte cuvinte: <em>Nu conta c\u0103 totul va continua s\u0103 func\u021bioneze! Nu stoca nimic important \u00een sistem! Efectua\u021bi backup \u00eentr-un loc separat!<\/em><\/p>\n<h3>Instalare iSH<\/h3>\n<p>\n\u00cencepe\u021bi prin a instala <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.apple.com\/us\/app\/testflight\/id899247664\">TestFlight<\/a><\/noindex> din App Store. Apoi instala\u021bi iSH, <noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/#get\">ob\u021bin\u00e2nd linkul de instalare<\/a><\/noindex> de pe site-ul aplica\u021biei. Exist\u0103 o alt\u0103 metod\u0103 de instalare folosind AltStore, dar nu am \u00eencercat-o. Sau, dac\u0103 ave\u021bi un cont de dezvoltator pl\u0103tit, pute\u021bi desc\u0103rca depozitul iSH de pe GitHub \u0219i s\u0103-l instala\u021bi manual.<\/p>\n<p>Prin linkul TestFlight, aplica\u021bia iSH va fi instalat\u0103 pe dispozitivul dumneavoastr\u0103. Asemenea oric\u0103rei alte aplica\u021bii, pe ecran va ap\u0103rea un iconi\u021b\u0103.<\/p>\n<h3>Gestionarea pachetelor<\/h3>\n<p>\niSH ruleaz\u0103 un emulator x86 cu Alpine Linux. Alpine este o distribu\u021bie mic\u0103 de mai pu\u021bin de 5 MB. Am lucrat prima dat\u0103 cu Alpine, a\u0219a c\u0103 m-am g\u00e2ndit c\u0103 acest minimalism va fi deranjant, dar de fapt mi-a pl\u0103cut foarte mult.<\/p>\n<p><img decoding=\"async\" alt=\"Lans\u0103m linia de comand\u0103 Linux pe iOS\" src=\"\/wp-content\/uploads\/2020\/10\/669478d0e58743a87f70e92c96feec9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00cen Alpine se folose\u0219te un manager de pachete <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.alpinelinux.org\/wiki\/Alpine_Linux_package_management\">apk<\/a><\/noindex>, care este mai simplu chiar dec\u00e2t apt sau pacman.<\/p>\n<p>Cum se instaleaz\u0103 un pachet:<\/p>\n<pre><code class=\"bash\">apk add package<\/code><\/pre>\n<p>\nCum se elimin\u0103 un pachet:<\/p>\n<pre><code class=\"bash\">apk del package<\/code><\/pre>\n<p>\nCum s\u0103 afli alte comenzi \u0219i informa\u021bii:<\/p>\n<pre><code class=\"bash\">apk --help<\/code><\/pre>\n<p>\nActualizarea managerului de pachete:<\/p>\n<pre><code class=\"bash\">apk update\napk upgrade<\/code><\/pre>\n<p><\/p>\n<h3>Instalarea editorului de text<\/h3>\n<p>\nEditorul de text standard pentru Alpine este Vi, dar eu prefer Vim, a\u0219a c\u0103 l-am instalat:<\/p>\n<pre><code class=\"bash\">apk add vim<\/code><\/pre>\n<p>\nDac\u0103 dori\u021bi, pute\u021bi instala Nano sau Emacs.<\/p>\n<h3>Schimbarea shell-ului<\/h3>\n<p>\nNu \u0219tiu despre voi, dar eu am avut nevoie de <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/3\/fish-shell\">fish shell<\/a><\/noindex>. Alte persoane prefer\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-bash\">Bash<\/a><\/noindex> sau <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/9\/getting-started-zsh\">Zsh<\/a><\/noindex>. Totu\u0219i, \u00een Alpine se folose\u0219te ash! Ash este un fork al shell-ului Dash, care este el \u00eensu\u0219i un fork al originalului ash, sau <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Almquist_shell\">Almquist shell<\/a><\/noindex>. Prioritatea sa este viteza. Am decis s\u0103 sacrific viteza pentru completarea automat\u0103 \u00eencorporat\u0103, culorile, controlul tastelor Vim \u0219i eviden\u021bierea sintaxei, pe care le iubesc \u0219i le \u0219tiu din fish shell.<\/p>\n<p>Instalarea fish:<\/p>\n<pre><code class=\"bash\">apk add fish<\/code><\/pre>\n<p>\nDac\u0103 ave\u021bi nevoie de Bash cu completarea automat\u0103 \u0219i paginile man, atunci le pute\u021bi instala:<\/p>\n<pre><code class=\"bash\">apk add bash bash-doc bash-completion<\/code><\/pre>\n<p>\nIdeologia minimalist\u0103 a Alpine \u00eenseamn\u0103, de obicei, c\u0103 unele programe care \u00een alte distribu\u021bii sunt un singur pachet, vor fi \u00eemp\u0103r\u021bite \u00een mai multe pachete mai mici. De asemenea, acest lucru \u00eenseamn\u0103 c\u0103 pute\u021bi personaliza \u0219i mic\u0219ora dimensiunea sistemului exact a\u0219a cum dori\u021bi.<\/p>\n<p>Mai multe informa\u021bii despre instalarea Bash pot fi g\u0103site \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cyberciti.biz\/faq\/alpine-linux-install-bash-using-apk-command\/\">acest tutorial<\/a><\/noindex>.<\/p>\n<h4>Schimbarea shell-ului implicit<\/h4>\n<p>\nDup\u0103 instalarea fish, pute\u021bi comuta temporar pe ea introduc\u00e2nd <code>fish<\/code> \u0219i trec\u00e2nd \u00een shell. Dar vreau s\u0103 fac fish shell-ul implicit, iar comanda <code>chsh<\/code>, pe care am folosit-o \u00een alte distribu\u021bii, nu a func\u021bionat.<\/p>\n<p>Mai \u00eent\u00e2i s\u0103 afl\u0103m unde s-a instalat fish:<\/p>\n<pre><code class=\"bash\">which fish<\/code><\/pre>\n<p>\nIat\u0103 ce am ob\u021binut:<\/p>\n<pre><code class=\"bash\">\/usr\/bin\/fish<\/code><\/pre>\n<p>\nApoi vom schimba login shell-ul \u00een fish. Pute\u021bi folosi orice editor care v\u0103 este convenabil. Dac\u0103 sunte\u021bi \u00eencep\u0103tor, instala\u021bi Nano (cu comanda <code>apk add nano<\/code>), pentru a putea edita fi\u0219ierele de configurare \u0219i a le salva prin CTRL+X, confirma\u021bi \u0219i ie\u0219i\u021bi.<\/p>\n<p>Dar eu am folosit Vim:<\/p>\n<pre><code class=\"bash\">vim \/etc\/passwd<\/code><\/pre>\n<p>\nPrima mea linie a fost:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/bin\/ash<\/code><\/pre>\n<p>\nPentru a face fish shell-ul implicit, vom schimba aceast\u0103 linie \u00een urm\u0103toarea:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/usr\/bin\/fish<\/code><\/pre>\n<p>\nApoi vom salva fi\u0219ierul \u0219i vom ie\u0219i.<\/p>\n<p>Sunt sigur c\u0103 exist\u0103 o metod\u0103 bun\u0103 de a schimba calea shell-ului pentru a-l putea folosi imediat. Dar eu nu o cunosc, a\u0219a c\u0103 recomand s\u0103 reveni\u021bi \u00een browserul aplica\u021biilor, s\u0103 for\u021ba\u021bi ie\u0219irea din shell \u0219i, pentru siguran\u021b\u0103, s\u0103 opri\u021bi \u0219i s\u0103 reporni\u021bi iPad-ul sau iPhone-ul. Redeschide\u021bi iSH \u0219i acum, pe l\u00e2ng\u0103 mesajul \u201eWelcome to Alpine!\u201d \u0219i informa\u021biile despre pornirea cu apk, ve\u021bi vedea mesajul standard de bun venit al login-ului fish: <em>Bine a\u021bi venit \u00een fish, shell-ul interactiv prietenos<\/em>. Ura!<\/p>\n<p><img decoding=\"async\" alt=\"Lans\u0103m linia de comand\u0103 Linux pe iOS\" src=\"\/wp-content\/uploads\/2020\/10\/7780328bb48109302fc52060a81b1c3a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Configurarea Python \u0219i pip<\/h3>\n<p>\nAm decis s\u0103 adaug <noindex><a rel=\"nofollow\" href=\"https:\/\/www.python.org\/\">Python<\/a><\/noindex> (versiunea 3.x), nu doar pentru a scrie cod, ci \u0219i pentru c\u0103 folosesc mai multe programe pe Python. S\u0103-l instal\u0103m:<\/p>\n<pre><code class=\"bash\">apk add python3<\/code><\/pre>\n<p>\nDe\u0219i Python 2.x este \u00eenvechit, \u00eel putem instala \u0219i pe acesta:<\/p>\n<pre><code class=\"bash\">apk add python<\/code><\/pre>\n<p>\nS\u0103 instal\u0103m managerul de pachete Python numit pip \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/pypi.org\/project\/setuptools\/\">setuptools<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">python3 -m ensurepip --default-pip<\/code><\/pre>\n<p>\nInstalarea \u0219i configurarea managerului de pachete vor dura un pic de timp, a\u0219a c\u0103 v\u0103 rog s\u0103 a\u0219tepta\u021bi.<\/p>\n<p>Apoi, vom putea desc\u0103rca instrumentul pentru transferul de fi\u0219iere prin re\u021bea <noindex><a rel=\"nofollow\" href=\"https:\/\/curl.haxx.se\/\">curl<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">apk add curl<\/code><\/pre>\n<p><\/p>\n<h3>Citind manualele<\/h3>\n<p>\nFish folose\u0219te completarea automat\u0103 integrat\u0103 bazat\u0103 pe paginile man. La fel ca al\u021bi utilizatori de linie de comand\u0103, eu folosesc manualul <code>man<\/code>, iar \u00een Alpine nu este instalat. A\u0219a c\u0103 l-am instalat cu pagerul terminalului <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Less_%28Unix%29\">less<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">apk add man man-pages less less-doc<\/code><\/pre>\n<p>\n\u00cen plus fa\u021b\u0103 de man, folosesc minunatul <noindex><a rel=\"nofollow\" href=\"https:\/\/tldr.sh\/\">proiect tldr pages<\/a><\/noindex>, care ofer\u0103 pagini man simplificate \u0219i gestionate de comunitate.<\/p>\n<p>L-am instalat cu ajutorul pip:<\/p>\n<pre><code class=\"bash\">pip install tldr<\/code><\/pre>\n<p>\nComanda <code>tldr<\/code> se conecteaz\u0103 la web pentru a ob\u021bine pagini atunci c\u00e2nd \u00eent\u00e2lne\u0219te o cerere pentru o nou\u0103 pagin\u0103. Dac\u0103 ave\u021bi nevoie s\u0103 \u0219ti\u021bi cum s\u0103 folosi\u021bi o comand\u0103, pute\u021bi scrie ceva de genul <code>tldr curl<\/code> \u0219i ob\u021bine\u021bi o descriere \u00een limba englez\u0103 simpl\u0103 \u0219i exemple bune de utilizare a comenzii.<\/p>\n<p>Desigur, toat\u0103 aceast\u0103 munc\u0103 de instalare poate fi automatizat\u0103 cu ajutorul <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/move-your-dotfiles-version-control\">dotfiles<\/a><\/noindex> sau al unui script de instalare, dar de fapt, asta nu se potrive\u0219te foarte bine cu ideologia Alpine \u2014 configurarea unei instal\u0103ri minime clar adaptate nevoilor tale. Mai mult, a luat at\u00e2t de mult timp, nu-i a\u0219a?<\/p>\n<h2>Informa\u021bii suplimentare<\/h2>\n<p>\n\u00cen Wiki iSH exist\u0103 o pagin\u0103 \"<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/What-works%3F\">what works<\/a><\/noindex>\" cu rapoarte despre ce pachete func\u021bioneaz\u0103 acum. Apropo, se pare c\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\/874\">npm nu func\u021bioneaz\u0103 acum<\/a><\/noindex>.<\/p>\n<p>Pe o alt\u0103 pagin\u0103 wiki se explic\u0103 cum s\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/View-iSH-files-in-Files-App\">accesa\u021bi fi\u0219ierele iSH<\/a><\/noindex> din aplica\u021bia iOS Files. Acesta este unul dintre modurile de a muta \u0219i copia fi\u0219iere.<\/p>\n<p>De asemenea, pute\u021bi instala Git (da! <code>apk add git<\/code> ) \u0219i \u00eenc\u0103rca\u021bi munca dvs. \u00een depozitul remote sau transfera\u021bi-o pe server prin SSH. \u0218i, desigur, pute\u021bi desc\u0103rca \u0219i rula orice num\u0103r de proiecte open-source minunate de pe GitHub.<\/p>\n<p>Mai multe informa\u021bii despre iSH pot fi g\u0103site la aceste linkuri:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">Website-ul iSH<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/ish\/\">Subreddit<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\">Probleme GitHub<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\">Wiki<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h4>\u00cen numele publicit\u0103\u021bii<\/h4>\n<p>\n<b>VDS<\/b> ofer\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\">servere virtuale pe Linux<\/a><\/noindex> sau Windows. Folosim doar <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/514570\/\">echipamente de marc\u0103<\/a><\/noindex>, cea mai bun\u0103 din categoria sa panou de control pentru servere dezvoltat de noi \u0219i unele dintre cele mai bune centre de date din Rusia \u0219i UE. Gr\u0103bi\u021bi-v\u0103 s\u0103 comanda\u021bi!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\"><img decoding=\"async\" alt=\"Lans\u0103m linia de comand\u0103 Linux pe iOS\" src=\"\/wp-content\/uploads\/2020\/10\/d9b1b757b593fff1dcd96c99fcf04ee8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/521676\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 iOS? \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u0435: \u00ab\u0417\u0430\u0447\u0435\u043c \u043c\u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 iPhone?\u00bb \u0421\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0447\u0438\u0442\u0430\u0435\u0442\u0435 Opensource.com, \u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0437\u043d\u0430\u0435\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442: \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 Linux \u0445\u043e\u0442\u044f\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0438\u043c \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0438 \u0445\u043e\u0442\u044f\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u041d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 iOS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-04T23:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-04T23:41:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lans\u0103m linia de comand\u0103 Linux pe iOS | ProHoster","description":"\u0218tia\u021bi c\u0103 pute\u021bi lansa linia de comand\u0103?","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 Linux \u043d\u0430 iOS | ProHoster","og:description":"\u0410 \u0432\u044b \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-04T23:41:58+00:00","article:modified_time":"2020-10-04T23:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95906","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:55:40","updated":"2022-09-27 15:44:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/95906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=95906"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/95906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/95907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=95906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=95906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=95906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}