{"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\/pt\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","title":{"rendered":"Executando a linha de comando Linux no iOS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Executando a linha de comando Linux no iOS\" src=\"\/wp-content\/uploads\/2020\/10\/2cfc862c9912ac31e6af72bca74ceff1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVoc\u00ea sabia que \u00e9 poss\u00edvel rodar um terminal Linux em um dispositivo iOS? Voc\u00ea pode se perguntar: \u201cPor que eu precisaria usar aplicativos de texto no iPhone?\u201d Essa \u00e9 uma pergunta v\u00e1lida. Mas se voc\u00ea est\u00e1 lendo o Opensource.com, provavelmente j\u00e1 sabe a resposta: usu\u00e1rios de Linux querem ter a capacidade de trabalhar nele em qualquer dispositivo e desejam usar suas pr\u00f3prias configura\u00e7\u00f5es.<\/p>\n<p>Mas, mais do que tudo, eles anseiam por solu\u00e7\u00f5es para desafios complexos.<\/p>\n<p>Eu tenho um iPad Mini 2 de sete anos que ainda \u00e9 bom para ler e-books e realizar outras tarefas. No entanto, eu quero us\u00e1-lo tamb\u00e9m para acessar o terminal de aplicativos com meu conjunto de programas e scripts dos quais n\u00e3o posso abrir m\u00e3o. Eu preciso de um ambiente que estou acostumado, al\u00e9m do meu padr\u00e3o de ambiente de desenvolvimento. E aqui est\u00e1 como consegui isso.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Conectando um teclado<\/h2>\n<p>\nTrabalhar no terminal para programa\u00e7\u00e3o atrav\u00e9s do teclado virtual do telefone ou tablet \u00e9 bastante inconveniente. Eu recomendo conectar um teclado externo, seja via Bluetooth ou usando um adaptador de conex\u00e3o de c\u00e2mera para conectar um teclado com fio (eu escolhi o segundo). Conectando um teclado dividido Kinesis Advantage ao iPhone 6, voc\u00ea obt\u00e9m um dispositivo peculiar que se assemelha a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shadowruntabletop.com\/products\/setting-sourcebooks\/\">um ciberdeck corporativo<\/a><\/noindex> do cl\u00e1ssico <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/7\/free-rpg-day\">jogo de RPG<\/a><\/noindex> Shadowrun.<\/p>\n<h2>Instalando o shell no iOS<\/h2>\n<p>\nPara iniciar um sistema Linux totalmente funcional no iOS, existem duas op\u00e7\u00f5es:<\/p>\n<ul>\n<li>Secure shell (SSH), conectando-se a um computador com Linux<\/li>\n<li>Executar um sistema virtual usando Alpine Linux com iSH, que \u00e9 open source, mas deve ser instalado atrav\u00e9s do aplicativo propriet\u00e1rio TestFlight da Apple.<\/li>\n<\/ul>\n<p>\nAlternativamente, existem dois aplicativos de emulador de terminal open source que permitem trabalhar com ferramentas open source em um ambiente restrito. Esta \u00e9 a vers\u00e3o mais limitada \u2014 na verdade, voc\u00ea n\u00e3o est\u00e1 executando Linux, mas sim ferramentas do Linux. Ao usar esses aplicativos, existem restri\u00e7\u00f5es severas de funcionalidade, no entanto, voc\u00ea obt\u00e9m uma funcionalidade parcial da linha de comando.<\/p>\n<p>Antes de avan\u00e7ar para solu\u00e7\u00f5es mais complicadas, vou abordar a maneira mais simples.<\/p>\n<h3>Op\u00e7\u00e3o 1: shell na \u2018sandbox\u2019<\/h3>\n<p>\nUma das maneiras mais simples \u00e9 instalar um aplicativo para iOS <noindex><a rel=\"nofollow\" href=\"https:\/\/libterm.app\/\">LibTerm<\/a><\/noindex>. Este \u00e9 um <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ColdGrub1384\/LibTerm\">open source<\/a><\/noindex> um shell de comandos em um \"sandbox\" com suporte a mais de 80 comandos por zero d\u00f3lares. Inclui Python 2.7, Python 3.7, Lua, C, Clang e muito mais.<\/p>\n<p>Possui funcionalidades semelhantes <noindex><a rel=\"nofollow\" href=\"https:\/\/holzschu.github.io\/a-Shell_iOS\/\">a-Shell<\/a><\/noindex>, descrito pelos desenvolvedores como \"interface de usu\u00e1rio de teste para plataformas com entrada na tela\". O c\u00f3digo-fonte do a-Shell est\u00e1 dispon\u00edvel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/holzschu\/a-shell\/blob\/master\/LICENSE\">open source<\/a><\/noindex>, est\u00e1 em desenvolvimento ativo, fornece acesso ao sistema de arquivos e vem com Lua, Python, Tex, Vim, JavaScript, C e C++, assim como com Clang e Clang++. Ele at\u00e9 permite instalar pacotes Python com pip.<\/p>\n<h3>Op\u00e7\u00e3o 2: SSH<\/h3>\n<p>\nUm passo adiante em rela\u00e7\u00e3o ao download de um aplicativo \u00e9 configurar um cliente SSH. H\u00e1 muito tempo podemos usar qualquer uma das muitas aplica\u00e7\u00f5es de clientes SSH para iOS para nos conectar a um servidor rodando Linux ou BSD. A vantagem do uso do SSH \u00e9 que qualquer distribui\u00e7\u00e3o com qualquer software pode estar rodando no servidor. Voc\u00ea trabalha remotamente e os resultados simplesmente s\u00e3o transmitidos para um emulador de terminal no dispositivo iOS.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/blink.sh\">Blink shell<\/a><\/noindex> \u2014 \u00e9 um popular aplicativo SSH pago em <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/blinksh\/blink\/blob\/raw\/COPYING\">open source<\/a><\/noindex>. Se ignorarmos a pequena tela do dispositivo, o uso desse software \u00e9 semelhante a se conectar ao servidor atrav\u00e9s de qualquer outra linha de comando. O terminal Blink \u00e9 visualmente impressionante, possui muitos temas prontos e uma fun\u00e7\u00e3o para criar os seus pr\u00f3prios, incluindo a possibilidade de ajustar e adicionar novas fontes.<\/p>\n<h3>Op\u00e7\u00e3o 3: rodando Linux<\/h3>\n<p>\nUsar SSH para se conectar a um servidor com Linux \u00e9 uma \u00f3tima forma de acesso \u00e0 linha de comando, mas requer um servidor externo e conex\u00e3o de rede. Essa n\u00e3o \u00e9 a maior barreira, mas n\u00e3o pode ser ignorada, ent\u00e3o voc\u00ea pode precisar trabalhar com Linux sem um servidor.<\/p>\n<p>Se esse for o seu caso, voc\u00ea precisar\u00e1 dar mais um passo adiante. <noindex><a rel=\"nofollow\" href=\"https:\/\/testflight.apple.com\/\">TestFlight<\/a><\/noindex> \u2014 \u00e9 um servi\u00e7o propriet\u00e1rio para instalar aplicativos em desenvolvimento antes de serem disponibilizados na Apple App Store. O aplicativo TestFlight pode ser instalado pela App Store e, em seguida, utilizado para testar aplicativos. Os aplicativos no TestFlight permitem que um n\u00famero limitado de beta-testadores (geralmente at\u00e9 10.000) trabalhem com eles por um tempo limitado. Para baixar o aplicativo de teste, voc\u00ea precisa acessar, de seu dispositivo, um link que geralmente est\u00e1 no site do desenvolvedor do aplicativo de teste.<\/p>\n<h2>Iniciando o Alpine Linux com iSH<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">iSH<\/a><\/noindex> \u00e9 um aplicativo open-source TestFlight que executa uma m\u00e1quina virtual com uma distribui\u00e7\u00e3o pronta <noindex><a rel=\"nofollow\" href=\"https:\/\/alpinelinux.org\/\">Alpine Linux<\/a><\/noindex> (com um pouco de esfor\u00e7o, voc\u00ea pode executar outras distribui\u00e7\u00f5es tamb\u00e9m).<\/p>\n<p>Uma caracter\u00edstica importante: <em>o aplicativo \u00e9 experimental<\/em>. Como o iSH \u00e9 atualmente um aplicativo de teste, n\u00e3o espere um funcionamento constante e confi\u00e1vel. Os aplicativos TestFlight t\u00eam um tempo limitado. Minha vers\u00e3o atual funcionar\u00e1 por apenas 60 dias. Isso significa que, ap\u00f3s 60 dias, serei exclu\u00eddo e precisarei me juntar novamente \u00e0 pr\u00f3xima fase do teste do iSH. Al\u00e9m disso, eu perderei todos os meus arquivos, a menos que os exporte com o Files no iOS ou os copie para um host Git ou <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/9\/ssh\">via SSH<\/a><\/noindex>. Em outras palavras: <em>N\u00e3o espere que tudo isso continue funcionando! N\u00e3o coloque nada importante para voc\u00ea no sistema! Fa\u00e7a backup em um local separado!<\/em><\/p>\n<h3>Instalando iSH<\/h3>\n<p>\nComece pela instala\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/apps.apple.com\/us\/app\/testflight\/id899247664\">TestFlight<\/a><\/noindex> pela App Store. Em seguida, instale o iSH, <noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/#get\">obtendo o link de instala\u00e7\u00e3o<\/a><\/noindex> no site do aplicativo. H\u00e1 outra forma de instala\u00e7\u00e3o usando o AltStore, mas eu n\u00e3o experimentei. Ou, se voc\u00ea tiver uma conta de desenvolvedor paga, pode baixar o reposit\u00f3rio do iSH no GitHub e instal\u00e1-lo voc\u00ea mesmo.<\/p>\n<p>Usando o link do TestFlight, o aplicativo iSH ser\u00e1 instalado no seu dispositivo. Como acontece com qualquer outro aplicativo, um \u00edcone aparecer\u00e1 na tela.<\/p>\n<h3>Gerenciamento de pacotes<\/h3>\n<p>\no iSH executa um emulador x86 com Alpine Linux. Alpine \u00e9 uma distribui\u00e7\u00e3o pequena, com menos de 5 MB. Eu trabalhei com Alpine pela primeira vez, ent\u00e3o pensei que esse minimalismo seria irritante, mas na verdade eu gostei muito.<\/p>\n<p><img decoding=\"async\" alt=\"Executando a linha de comando Linux no iOS\" src=\"\/wp-content\/uploads\/2020\/10\/669478d0e58743a87f70e92c96feec9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nO Alpine usa o gerenciador de pacotes <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.alpinelinux.org\/wiki\/Alpine_Linux_package_management\">apk<\/a><\/noindex>, que \u00e9 mais simples do que at\u00e9 mesmo o apt ou pacman.<\/p>\n<p>Como instalar um pacote:<\/p>\n<pre><code class=\"bash\">apk add package<\/code><\/pre>\n<p>\nComo remover um pacote:<\/p>\n<pre><code class=\"bash\">apk del package<\/code><\/pre>\n<p>\nComo descobrir outros comandos e informa\u00e7\u00f5es:<\/p>\n<pre><code class=\"bash\">apk --help<\/code><\/pre>\n<p>\nAtualiza\u00e7\u00e3o do gerenciador de pacotes:<\/p>\n<pre><code class=\"bash\">apk update\napk upgrade<\/code><\/pre>\n<p><\/p>\n<h3>Instala\u00e7\u00e3o do editor de texto<\/h3>\n<p>\nO editor de texto padr\u00e3o do Alpine \u00e9 o Vi, mas eu prefiro o Vim, ent\u00e3o o instalei:<\/p>\n<pre><code class=\"bash\">apk add vim<\/code><\/pre>\n<p>\nSe desejar, voc\u00ea pode instalar o Nano ou o Emacs.<\/p>\n<h3>Mudan\u00e7a de shell<\/h3>\n<p>\nN\u00e3o sei quanto a voc\u00ea, mas eu precisava de <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/20\/3\/fish-shell\">fish shell<\/a><\/noindex>. Outras pessoas preferem <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-bash\">Bash<\/a><\/noindex> ou <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/9\/getting-started-zsh\">Zsh<\/a><\/noindex>. No entanto, o Alpine usa ash! Ash \u00e9 um fork do shell Dash, que por sua vez \u00e9 um fork do original ash, ou <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Almquist_shell\">Almquist shell<\/a><\/noindex>. Seu foco \u00e9 na velocidade. Decidi trocar velocidade por autocompletar embutido, cores, controle de teclas do Vim e realce de sintaxe que eu gosto e conhe\u00e7o do fish shell.<\/p>\n<p>Instala\u00e7\u00e3o do fish:<\/p>\n<pre><code class=\"bash\">apk add fish<\/code><\/pre>\n<p>\nSe voc\u00ea precisa do Bash com seus autocompletamentos e p\u00e1ginas man, instale-os:<\/p>\n<pre><code class=\"bash\">apk add bash bash-doc bash-completion<\/code><\/pre>\n<p>\nA ideologia minimalista do Alpine geralmente significa que alguns programas que em outras distribui\u00e7\u00f5es s\u00e3o um \u00fanico pacote, ser\u00e3o divididos em v\u00e1rios pacotes menores. Isso tamb\u00e9m significa que voc\u00ea pode personalizar e reduzir o tamanho do sistema exatamente como desejar.<\/p>\n<p>Mais informa\u00e7\u00f5es sobre a instala\u00e7\u00e3o do Bash podem ser encontradas neste <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cyberciti.biz\/faq\/alpine-linux-install-bash-using-apk-command\/\">tutorial<\/a><\/noindex>.<\/p>\n<h4>Mudan\u00e7a de shell padr\u00e3o<\/h4>\n<p>\nAp\u00f3s a instala\u00e7\u00e3o do fish, voc\u00ea pode alternar temporariamente para ele digitando <code>fish<\/code> e passando para o shell. Mas eu quero fazer do fish o shell padr\u00e3o, e o comando <code>chsh<\/code>, que usei em outras distribui\u00e7\u00f5es, n\u00e3o funcionou.<\/p>\n<p>Primeiro, vamos descobrir onde o fish foi instalado:<\/p>\n<pre><code class=\"bash\">which fish<\/code><\/pre>\n<p>\nAqui est\u00e1 o que eu obtive:<\/p>\n<pre><code class=\"bash\">\/usr\/bin\/fish<\/code><\/pre>\n<p>\nEm seguida, vamos mudar o login shell para fish. Voc\u00ea pode usar qualquer editor que lhe seja conveniente. Se voc\u00ea \u00e9 iniciante, instale o Nano (com o comando <code>apk add nano<\/code>), para que voc\u00ea possa editar arquivos de configura\u00e7\u00e3o e salv\u00e1-los usando CTRL+X, confirmando e saindo.<\/p>\n<p>Mas eu usei o Vim:<\/p>\n<pre><code class=\"bash\">vim \/etc\/passwd<\/code><\/pre>\n<p>\nMinha primeira linha era assim:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/bin\/ash<\/code><\/pre>\n<p>\nPara tornar o fish o shell padr\u00e3o, vamos mudar essa linha para:<\/p>\n<pre><code class=\"bash\">root:x:0:0:root:\/root:\/usr\/bin\/fish<\/code><\/pre>\n<p>\nEm seguida, salvamos o arquivo e sa\u00edmos.<\/p>\n<p>Tenho certeza de que h\u00e1 uma boa maneira de mudar o caminho do shell para que ele possa ser utilizado imediatamente. Mas n\u00e3o sei, por isso recomendo voltar ao navegador de aplicativos, for\u00e7ar a sa\u00edda do shell e, para garantir, desligar e reiniciar o iPad ou iPhone. Abra novamente o iSH e agora, al\u00e9m da mensagem \"Welcome to Alpine!\" e informa\u00e7\u00f5es sobre a inicializa\u00e7\u00e3o com o apk, voc\u00ea ver\u00e1 a mensagem padr\u00e3o de boas-vindas do login do fish: <em>Bem-vindo ao fish, o shell interativo amig\u00e1vel<\/em>. Uhul!<\/p>\n<p><img decoding=\"async\" alt=\"Executando a linha de comando Linux no iOS\" src=\"\/wp-content\/uploads\/2020\/10\/7780328bb48109302fc52060a81b1c3a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Configura\u00e7\u00e3o do Python e pip<\/h3>\n<p>\nDecidi adicionar <noindex><a rel=\"nofollow\" href=\"https:\/\/www.python.org\/\">Python<\/a><\/noindex> (a vers\u00e3o 3.x), n\u00e3o s\u00f3 para programar, mas tamb\u00e9m porque utilizo v\u00e1rios programas em Python. Vamos instal\u00e1-lo:<\/p>\n<pre><code class=\"bash\">apk add python3<\/code><\/pre>\n<p>\nEmbora o Python 2.x esteja obsoleto, tamb\u00e9m \u00e9 poss\u00edvel instal\u00e1-lo:<\/p>\n<pre><code class=\"bash\">apk add python<\/code><\/pre>\n<p>\nVamos instalar o gerenciador de pacotes do Python chamado pip e <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>\nA instala\u00e7\u00e3o e configura\u00e7\u00e3o do gerenciador de pacotes pode levar algum tempo, ent\u00e3o apenas aguarde.<\/p>\n<p>Em seguida, voc\u00ea poder\u00e1 baixar a ferramenta para transfer\u00eancia de arquivos pela rede <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>Lendo manuais<\/h3>\n<p>\nO fish usa um autocompletar integrado baseado em p\u00e1ginas man. Assim como outros usu\u00e1rios da linha de comando, utilizo o manual <code>man<\/code>, mas no Alpine ele n\u00e3o vem instalado. Portanto, eu o instalei com o paginador de terminal <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>\nAl\u00e9m do man, utilizo o excelente <noindex><a rel=\"nofollow\" href=\"https:\/\/tldr.sh\/\">projeto tldr pages<\/a><\/noindex>, que fornece p\u00e1ginas man simplificadas e mantidas pela comunidade.<\/p>\n<p>Instalei-o com pip:<\/p>\n<pre><code class=\"bash\">pip install tldr<\/code><\/pre>\n<p>\nTime <code>tldr<\/code> conecta-se \u00e0 web para obter p\u00e1ginas quando encontra um pedido por uma nova p\u00e1gina. Se voc\u00ea precisa entender como usar um comando, pode digitar algo como <code>tldr curl<\/code> e obter uma descri\u00e7\u00e3o em ingl\u00eas simples e bons exemplos de uso do comando.<\/p>\n<p>Claro, todo esse trabalho de instala\u00e7\u00e3o pode ser automatizado com <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/move-your-dotfiles-version-control\">dotfiles<\/a><\/noindex> ou um script de instala\u00e7\u00e3o, mas na verdade isso n\u00e3o est\u00e1 muito alinhado com a filosofia do Alpine \u2014 configurar uma instala\u00e7\u00e3o m\u00ednima claramente de acordo com suas necessidades. Al\u00e9m disso, levou tanto tempo assim, n\u00e3o \u00e9?<\/p>\n<h2>Informa\u00e7\u00f5es adicionais<\/h2>\n<p>\nNa Wiki do iSH, h\u00e1 uma p\u00e1gina \"<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/What-works%3F\">what works<\/a><\/noindex>\" com relat\u00f3rios sobre quais pacotes est\u00e3o funcionando atualmente. A prop\u00f3sito, parece que <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/issues\/874\">npm n\u00e3o est\u00e1 funcionando agora<\/a><\/noindex>.<\/p>\n<p>Em outra p\u00e1gina da wiki, explica-se como <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ish-app\/ish\/wiki\/View-iSH-files-in-Files-App\">acessar os arquivos do iSH<\/a><\/noindex> do aplicativo iOS Files. Este \u00e9 um dos m\u00e9todos pelos quais voc\u00ea pode mover e copiar arquivos.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode instalar o Git (sim! <code>apk add git<\/code> ) e enviar seu trabalho para um reposit\u00f3rio remoto ou transferi-lo para um servidor via SSH. E, claro, \u00e9 poss\u00edvel baixar e executar uma infinidade de projetos open-source incr\u00edveis do GitHub.<\/p>\n<p>Saiba mais sobre o iSH nesses links:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ish.app\/\">Site do 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\">Problemas do 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>Em nome da publicidade<\/h4>\n<p>\n<b>VDS<\/b> oferece <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\">servidores virtuais em Linux<\/a><\/noindex> ou Windows. Usamos exclusivamente <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/514570\/\">equipamentos de marca<\/a><\/noindex>, o melhor painel de controle de servidores desenvolvido internamente e alguns dos melhores data centers na R\u00fassia e na UE. N\u00e3o perca a oportunidade de fazer seu pedido!<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/cloud-servers?partner=habr124\"><img decoding=\"async\" alt=\"Executando a linha de comando Linux no iOS\" src=\"\/wp-content\/uploads\/2020\/10\/d9b1b757b593fff1dcd96c99fcf04ee8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Fonte: <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.5 - 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\/pt\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47 Iniciando o terminal Linux no iOS | ProHoster","description":"Voc\u00ea sabia que \u00e9 poss\u00edvel iniciar o terminal?","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/zapuskaem-komandnuyu-stroku-linux-na-ios","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/95906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=95906"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/95906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/95907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=95906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=95906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=95906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}