{"id":30531,"date":"2019-10-31T21:36:03","date_gmt":"2019-10-31T18:36:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/termux-shag-za-shagom-chast-2\/"},"modified":"2019-10-31T21:36:03","modified_gmt":"2019-10-31T18:36:03","slug":"termux-shag-za-shagom-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/termux-shag-za-shagom-chast-2","title":{"rendered":"Termux hap pas hapi (Pjesa 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>N\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444950\/\">pjes\u00ebn e kaluar<\/a><\/noindex> Ne tak long\u00eb u njoftuam me komandat baz\u00eb t\u00eb Termux-it, konfigurim SSH me PC-n\u00eb, m\u00ebsuam t\u00eb krijojm\u00eb alias dhe instalova disa utilitare t\u00eb dobishme. K\u00ebt\u00eb her\u00eb na pret nj\u00eb hap edhe m\u00eb t\u00eb thell\u00eb, ne do t\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>do t\u00eb m\u00ebsojm\u00eb p\u00ebr Termux:API<\/li>\n<li>instalojm\u00eb Python dhe nano, si dhe do t\u00eb shkruajm\u00eb 'Hello, world!' n\u00eb Python<\/li>\n<li>do t\u00eb m\u00ebsojm\u00eb p\u00ebr skriptet bash dhe do t\u00eb shkruajm\u00eb nj\u00eb skript duke p\u00ebrdorur Termux:API<\/li>\n<li>duke p\u00ebrdorur nj\u00eb skript bash, Termux:API dhe Python do t\u00eb shkruajm\u00eb nj\u00eb program t\u00eb thjesht\u00eb <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Tani q\u00eb kuptojm\u00eb se \u00e7far\u00eb b\u00ebjn\u00eb komandat e futura, nga ky hap e tutje nuk do t\u00eb shpjegoj \u00e7do veprim aq n\u00eb detaje, por atje ku mund t\u00eb ket\u00eb v\u00ebshtir\u00ebsi, do t\u00eb jap shpjegime patjet\u00ebr.<\/p>\n<p><\/p>\n<p>Un\u00eb shpesh p\u00ebrdor alias, prandaj shkurtesat e p\u00ebrdorura n\u00eb k\u00ebt\u00eb pjes\u00eb jan\u00eb treguar k\u00ebtu:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">alias updg='apt update &amp;&amp; apt upgrade'\nalias py='python'<\/code><\/pre>\n<p><\/p>\n<p>Plani \u00ebsht\u00eb gati, mund t\u00eb fillojm\u00eb! Dhe natyrisht mos harroni p\u00ebr 'magjiken Tab' (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444950\/\">Shihni Pjes\u00ebn 1<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h2>Hapi 4<\/h2>\n<p><\/p>\n<h3>Nisemi n\u00eb t\u00eb thell\u00ebn e krimbit Termux:API<\/h3>\n<p><\/p>\n<p><i>API, sa shum\u00eb ka n\u00eb k\u00ebt\u00eb fjal\u00eb q\u00eb bashkohet n\u00eb zemr\u00ebn e programuesit<\/i><\/p>\n<p><\/p>\n<p>N\u00ebse nuk prekim tem\u00ebn Termux:API, t\u00eb gjitha hapat tan\u00eb mund t\u00eb p\u00ebrmblidhen n\u00eb nj\u00eb p\u00ebrmbledhje t\u00eb thjesht\u00eb t\u00eb nj\u00eb broshure si 'Linux p\u00ebr fillestar\u00eb', si\u00e7 \u00ebsht\u00eb theksuar me t\u00eb drejt\u00eb n\u00eb komentet e pjes\u00ebs s\u00eb par\u00eb.<\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb filluar, le t\u00eb instalojm\u00eb Termux:API nga Google Play Market (pas k\u00ebsaj nuk do t\u00eb d\u00ebmtonte t\u00eb rinisnim Termux-in):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/415e25a8ddefc5d4f1741c97d742eeb1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>M\u00eb pas na duhet t\u00eb instalojm\u00eb paket\u00ebn API n\u00eb konsol\u00ebn e Termux-it:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">updg # Mos harroni p\u00ebr alias-e\napt install termux-api<\/code><\/pre>\n<p><\/p>\n<p>P\u00ebr eksperimente, un\u00eb po p\u00ebrdor Android 5.1.1, p\u00ebr pronar\u00ebt e Android 7 nevojitet t\u00eb 'mbrohet' Termux:API, duke hyr\u00eb n\u00eb 'Cil\u00ebsimet' &gt; 'Aplikacione t\u00eb Mbrojtura', nd otherwise calls like <code>termux-battery-status<\/code>, do t\u00eb ngecin. (Shihni. <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.termux.com\/wiki\/Termux:API\">wiki e projektit<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p>Tani \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb njihemi m\u00eb af\u00ebr me funksionalitetet e fituara. P\u00ebrshkrimi m\u00eb i ri dhe m\u00eb i detajuar i Termux:API mund t\u00eb gjendet te <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.termux.com\/wiki\/Termux:API\">wiki e projektit<\/a><\/noindex>. Un\u00eb do t\u00eb p\u00ebrpiqem t\u00eb zgjedh at\u00eb q\u00eb \u00ebsht\u00eb m\u00eb ilustrues dhe interesant, q\u00eb do t\u00eb lejoj\u00eb t\u00eb punoni m\u00eb vet\u00eb n\u00eb t\u00eb ardhmen.<\/p>\n<p><\/p>\n<h3>Disa shembuj t\u00eb Termux:API <\/h3>\n<p><\/p>\n<ul>\n<li>termux-battery-status<br \/>\nKthen statusin e bateris\u00eb<br \/>\n<img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/9a5f793d1b028905b3ee9ceab0fbcdec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>termux-brightness<br \/>\nCakton ndri\u00e7imin e ekranit nga 0 n\u00eb 255<br \/>\n<img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/23e5f3726607921d7f52d5d0de543968.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>termux-toast<br \/>\nShfaq nj\u00eb njoftim t\u00eb p\u00ebrkohsh\u00ebm<br \/>\n<img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/5c75ad9b678773801ea9975b23422384.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>termux-torch<br \/>\nAktivizon lamp\u00ebn e dor\u00ebs<br \/>\n<img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/7695202f5972e93e5b7a8f4bd952882c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>termux-wifi-scaninfo<br \/>\nKthen informacionin mbi skanimin e fundit t\u00eb rrjeteve Wi-Fi<br \/>\n<img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/f10669f8e7dff1046ab4f9b7d68228e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ul>\n<p><\/p>\n<p>Nuk \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb v\u00ebrehet se vlerat e kthyer jan\u00eb strings, dictionaries, lista dictionaries, n\u00eb p\u00ebrgjith\u00ebsi lloje t\u00eb dh\u00ebnash, me t\u00eb cilat Python punon shum\u00eb mir\u00eb, k\u00ebshtu q\u00eb hapi tjet\u00ebr do t\u00eb jet\u00eb ta instalojm\u00eb.<\/p>\n<p><\/p>\n<h2>Hapi 5<\/h2>\n<p><\/p>\n<h3>Do ta installojm\u00eb Python dhe nano<\/h3>\n<p><\/p>\n<p>P\u00ebr t\u00eb instaluar Python, shkruajm\u00eb n\u00eb terminal:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">updg\napt install python\napt install python2<\/code><\/pre>\n<p><\/p>\n<p>Tani kemi instaluar Python 2 dhe 3.<\/p>\n<p><\/p>\n<p>Gjat\u00eb pun\u00ebs mbi k\u00ebt\u00eb artikull, zbulova nj\u00eb editor tjet\u00ebr teksti, nano, i cili m\u00eb p\u00eblqeu m\u00eb shum\u00eb se vim; le t\u00eb q\u00ebndrojm\u00eb ta instalojm\u00eb:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt install nano<\/code><\/pre>\n<p><\/p>\n<p>P\u00ebrdorimi i tij \u00ebsht\u00eb m\u00eb i thjesht\u00eb se ai i vim-it dhe nano ka nj\u00eb nd\u00ebrfaqe m\u00eb miq\u00ebsore. <i>Kurse n\u00eb nj\u00eb pajisje Android \u00ebsht\u00eb m\u00eb e leht\u00eb me vim.<\/i><\/p>\n<p><\/p>\n<h3>HelloWorld n\u00eb Python n\u00eb Termux<\/h3>\n<p><\/p>\n<p>P\u00ebr ta th\u00ebn\u00eb hapur, mund ta kalonim k\u00ebt\u00eb pik\u00eb, por t\u00eb vendos\u00ebsh Python n\u00eb Termux dhe t\u00eb mos shkruash HelloWorld, \u00ebsht\u00eb nj\u00eb mosp\u00ebrputhje n\u00eb mendimin tim.<\/p>\n<p><\/p>\n<p>Nuk kam p\u00ebr q\u00ebllim t\u00eb m\u00ebsoj dik\u00eb n\u00eb Python, k\u00ebshtu q\u00eb ata q\u00eb nuk e din\u00eb mund t\u00eb kopjojn\u00eb kodin (ose t\u00eb fillojn\u00eb t\u00eb studiojn\u00eb vet\u00eb, fatmir\u00ebsisht, literatur\u00eb ka mjaft), nd\u00ebrsa ata q\u00eb e din\u00eb mund t\u00eb krijojn\u00eb di\u00e7ka vet\u00eb. Dhe un\u00eb 'nderkohe' do t\u00eb tregoj nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb futur tekst n\u00eb terminal pa redaktor.<\/p>\n<p><\/p>\n<pre><code class=\"bash\">cat &gt;hello-world.py     \n# N\u00ebse nuk e specifikoni burimin (po e kujtoj cat 1.txt &gt; 2.txt)\n# at\u00ebher\u00eb cat do t\u00eb marr\u00eb t\u00eb dh\u00ebnat nga rrjedha standarde e hyrjes,\n# t\u00eb th\u00ebn\u00eb ndryshe, nga ajo q\u00eb shkruani n\u00eb tastier\u00eb.\n\nstr = 'Hello, world!' # i jepim variabl\u00ebs str vler\u00ebn \"Hello, world!\"\nprint (str) # e shfaqim n\u00eb ekran vler\u00ebn nga variabla str\n\n# Ctrl + D p\u00ebr t\u00eb p\u00ebrfunduar hyrjen dhe p\u00ebr t\u00eb ruajtur skedarin (hello-world.py)\n\npy hello-world.py # e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c skedarin (py \u00ebsht\u00eb alias p\u00ebr python)<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/e9086da1ce27f723681f142dad11d878.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00ebse gjat\u00eb hyrjes nuk e keni v\u00ebrejtur nj\u00eb gabim dhe tashm\u00eb keni shtypur Enter, nuk mund t\u00eb kaloni n\u00eb vij\u00ebn e sip\u00ebrme; p\u00ebr k\u00ebt\u00eb, p\u00ebrfundojeni hyrjen duke shtypur Ctrl + D (mund ta nd\u00ebrprisni fare me Ctrl + Z) dhe p\u00ebrs\u00ebrisni t\u00eb gjitha nga fillimi. Duke qen\u00eb se e p\u00ebrdor\u00ebm \u2018&gt;\u2019, skedari do t\u00eb rishkruhet plot\u00ebsisht. P\u00ebr k\u00ebt\u00eb arsye, nuk e rekomandoj k\u00ebt\u00eb metod\u00eb hyrjeje, n\u00ebse nuk jeni t\u00eb sigurt se do t\u00eb shkruani kodin menj\u00ebher\u00eb pa gabime.<\/p>\n<p><\/p>\n<h2>Hapi 6<\/h2>\n<p><\/p>\n<h3>Bash-skripte<\/h3>\n<p><\/p>\n<p>Bash-skripte jan\u00eb nj\u00eb m\u00ebnyr\u00eb e shk\u00eblqyer p\u00ebr automatizimin e pun\u00ebs me terminalin. Skripti p\u00ebrb\u00ebhet nga nj\u00eb skedar me p\u00ebrcaktimin .sh (p\u00ebrcaktimi nuk \u00ebsht\u00eb detyrues) q\u00eb p\u00ebrmban nj\u00eb s\u00ebr\u00eb komandash t\u00eb terminalit, disa prej t\u00eb cilave i kemi studiuar tashm\u00eb. Ja <noindex><a rel=\"nofollow\" href=\"https:\/\/tproger.ru\/translations\/bash-cheatsheet\/\">lista e shumic\u00ebs s\u00eb komandave<\/a><\/noindex>, gjith\u00e7ka duhet t\u00eb funksionoj\u00eb, por vini re se kjo \u00ebsht\u00eb nj\u00eb list\u00eb p\u00ebr 't\u00eb rriturin' Linux, jo p\u00ebr Termux-in, dhe ndryshe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/325522\/\">material fantastik p\u00ebr bash-skripte<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Me ndihm\u00ebn e skripteve, mund t\u00eb automatizojm\u00eb praktikisht t\u00eb gjitha veprimet monotone. Le t\u00eb shkruajm\u00eb nj\u00eb skript t\u00eb thjesht\u00eb bash q\u00eb shfaq vler\u00ebn nga variabla q\u00eb krijon vet\u00eb, un\u00eb do t\u00eb p\u00ebrdor p\u00ebrs\u00ebri cat-in, por ju mund t\u00eb p\u00ebrdorni nj\u00eb redaktues t\u00eb zakonsh\u00ebm teksti, dhe ata q\u00eb d\u00ebshirojn\u00eb t\u00eb praktikojn\u00eb mund t\u00eb p\u00ebrdorin echo.<\/p>\n<p><\/p>\n<pre><code class=\"bash\">cat &gt;test.sh\n\nexport str=\"P\u00ebrsh\u00ebndetje, Habr!\"\n# export krijon variabl\u00ebn str\n# dhe i jep asaj vler\u00ebn \"P\u00ebrsh\u00ebndetje, Habr!\"\n# Mos vendosni hap\u00ebsira p\u00ebrpara dhe pas \u2018=\u2019\n\necho $str # P\u00ebr t\u00eb aksesuar variablat, para tyre vendoset \u2018$\u2019\n\n# Ctrl + D\n\n# .\/test.sh p\u00ebr t\u00eb ekzekutuar skriptin, por n\u00ebse e b\u00ebni tani do t\u00eb ket\u00eb nj\u00eb gabim\n# p\u00ebr t\u00eb eliminuar gabimin, duhet ta b\u00ebni skedarin test.sh ekzekutues\n\nchmod +x test.sh\n# chmod ndryshon t\u00eb drejtat e aksesit (+ shto \/ - hiq)\n# \u2018+x\u2019 do t\u00eb thot\u00eb se e b\u00ebjm\u00eb skedarin ekzekutues\n\n.\/test.sh # Fillojm\u00eb ekzekutimin e skriptit ton\u00eb<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/7c56f1aaf938a711f3a30dd3eed3eec7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3>Bash-skripti me Termux:API<\/h3>\n<p><\/p>\n<p>T\u00eb shkruajm\u00eb tashm\u00eb di\u00e7ka q\u00eb dallon nga t\u00eb famshmet HelloWorld, por po aq t\u00eb pavlera. Skripti yn\u00eb do t\u00eb jet\u00eb:<\/p>\n<p><\/p>\n<ol>\n<li>t\u00eb kryej\u00eb nj\u00eb k\u00ebrkes\u00eb API termux-battery-status<\/li>\n<li>t\u00eb ruaj\u00eb t\u00eb dh\u00ebnat e marra n\u00eb skedarin test.txt<\/li>\n<li>t\u00eb shfaq\u00eb t\u00eb dh\u00ebnat nga skedari n\u00eb ekran<\/li>\n<li>t\u00eb ekzekutoj\u00eb programin e shkruar m\u00eb par\u00eb hello-world.py<\/li>\n<li>t\u00eb ruaj\u00eb t\u00eb dh\u00ebnat nga programi n\u00eb skedarin test.txt<\/li>\n<li>t\u00eb shfaq\u00eb t\u00eb dh\u00ebnat nga skedari n\u00eb ekran<\/li>\n<li>t\u00eb transferoj\u00eb t\u00eb dh\u00ebnat nga skedari n\u00eb clipboard<\/li>\n<li>t\u00eb shfaq\u00eb n\u00eb ekran p\u00ebrmbajtjen e clipboard-it<\/li>\n<li>t\u00eb shfaq\u00eb nj\u00eb mesazh t\u00eb k\u00ebndsh\u00ebm me t\u00eb dh\u00ebnat nga clipboard-i<\/li>\n<\/ol>\n<p><\/p>\n<p>S\u00eb pari, le t\u00eb krijojm\u00eb nj\u00eb dosje p\u00ebr pun\u00eb dhe t\u00eb kopjojm\u00eb hello-world.py si test.py, krijojm\u00eb n\u00eb k\u00ebt\u00eb dosje skedar\u00ebt test.sh dhe test.txt:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">mkdir bashscript\n\ncat hello-world.py &gt;&gt; bashscript\/test.py\n\ncd bashscript\/\n\ntouch test.sh test.txt # touch krijon skedar\u00eb\n\nchmod +x test.sh<\/code><\/pre>\n<p><\/p>\n<p>Tani, me \u00e7do m\u00ebnyr\u00eb t\u00eb p\u00ebrshtatshme, t\u00eb shkruajm\u00eb skriptin n\u00eb skedarin test.sh:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">#!\/bin\/bash\n\n# \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c #! (\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0448\u0435\u0431\u0430\u043d\u0433)\n# \u043f\u043e\u0441\u043b\u0435 \u0438\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0430 \u0448\u0435\u043b\u043b \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u043a\u0440\u0438\u043f\u0442\n\nclear # \u043e\u0447\u0438\u0441\u0442\u0438\u043c \u043e\u043a\u043d\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430\n\ntermux-battery-status &gt; test.txt # \u043f\u0443\u043d\u043a\u0442\u044b 1 \u0438 2 \u0438\u0437 \u043d\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430\n\ncat test.txt # \u043f\u0443\u043d\u043a\u0442 3\n\npython test.py &gt; test.txt # \u043f\u0443\u043d\u043a\u0442 4 \u0438 5\n\ncat test.txt # \u043f\u0443\u043d\u043a\u0442 6\n\ncat test.txt | termux-clipboard-set # \u043f\u0443\u043d\u043a\u0442 7\n# | \u044d\u0442\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440. \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0432\u044b\u0445\u043e\u0434\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043d\u0430 \u0432\u0445\u043e\u0434 \u0434\u0440\u0443\u0433\u043e\u0433\u043e\n\ntermux-clipboard-get # \u043f\u0443\u043d\u043a\u0442 8\n\ntermux-clipboard-get | termux-toast # \u043f\u0443\u043d\u043a\u0442 9<\/code><\/pre>\n<p><\/p>\n<p>Tani, duke qen\u00eb n\u00eb dosjen bashscript, shkruajm\u00eb <code>.\/test.sh<\/code> v\u00ebzhgojm\u00eb n\u00eb terminal n\u00eb pajisjen Android:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Termux hap pas hapi (Pjesa 2)\" src=\"\/wp-content\/uploads\/2019\/03\/44c6632c7a3903dad1113017dc81ee61.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00ebshtu, ne krijuam skriptin bash t\u00eb planifikuar. Mund ta zbukuroni me shfaqjen e informacionit n\u00eb konsol\u00eb p\u00ebr p\u00ebrfundimin e \u00e7do veprimi (p\u00ebrdorimin e echo), k\u00ebt\u00eb do ta l\u00eb p\u00ebr lexuesit.<\/p>\n<p><\/p>\n<h2>Hapi 7<\/h2>\n<p><\/p>\n<h3>T\u00eb b\u00ebjm\u00eb di\u00e7ka t\u00eb dobishme<\/h3>\n<p><\/p>\n<p><i>Relativisht e dobishme<\/i><\/p>\n<p><\/p>\n<p>T\u00eb formulojm\u00eb detyr\u00ebn teknike<br \/>\nAplikacioni duhet, pas ekzekutimit, t\u00eb vendos\u00eb nj\u00eb varg rast\u00ebsor nga skedari n\u00eb clipboard dhe t\u00eb njoftoj\u00eb p\u00ebr k\u00ebt\u00eb me nj\u00eb mesazh t\u00eb k\u00ebndsh\u00ebm.<\/p>\n<p><\/p>\n<p>Si baz\u00eb do t\u00eb marrim skriptin bash, dhe vargun rast\u00ebsor nga skedari do ta nxjerrim p\u00ebrmes nj\u00eb n\u00ebnprogrami n\u00eb Python. T\u00eb hartojm\u00eb planin e pun\u00ebs s\u00eb skriptit:<\/p>\n<p><\/p>\n<ol>\n<li>T\u00eb ekzekutojm\u00eb n\u00ebnprogramin<\/li>\n<li>Shkruani rezultatin e funksionit n\u00eb mbajt\u00ebsin e duarve<\/li>\n<li>Shfaq nj\u00eb mesazh dritare<\/li>\n<\/ol>\n<p><\/p>\n<p>T\u00eb p\u00ebrcaktojm\u00eb emrat e drejtorive dhe skedave t\u00eb aplikacionit:<\/p>\n<p><\/p>\n<ul>\n<li>directory rndstr n\u00eb direktorin\u00eb e sht\u00ebpis\u00eb\n<ul>\n<li>source \u2014 skedari nga i cili do t\u00eb marrim rreshtat<\/li>\n<li>rndstr.py \u2014 funksioni q\u00eb jep nj\u00eb varg t\u00eb rast\u00ebsish\u00ebm n\u00eb konsol\u00eb nga skedari source<\/li>\n<li>rndstr.sh \u2014 skedari i skriptit<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Krijojm\u00eb drejtorin\u00eb e aplikacionit dhe, duke u zhvendosur atje, krijojm\u00eb skedar\u00ebt.<\/p>\n<p><\/p>\n<p>Dy pik\u00eb t\u00eb para t\u00eb planit t\u00eb skriptit mund t\u00eb mblidhen me nj\u00eb tub, n\u00eb p\u00ebrfundim, duke p\u00ebrdorur Termux:API marrim:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">#!\/bin\/bash\n\npython ~\/rndstr\/rndstr.py | termux-clipboard-set # 1 \u0438 2 \u043f\u0443\u043d\u043a\u0442\u044b \u043f\u043b\u0430\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u044b\n\ntermux-toast \"OK\" # 3 \u043f\u0443\u043d\u043a\u0442. \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \"\u041e\u041a\"<\/code><\/pre>\n<p><\/p>\n<p>N\u00eb skedarin source mund t\u00eb vendosni \u00e7far\u00ebdo teksti t\u00eb ndar\u00eb logjikisht n\u00eb rreshta, un\u00eb vendosa t\u00eb vendos aforizmat:<\/p>\n<p>\n<b class=\"spoiler_title\">Listing i skedarit source<\/b><\/p>\n<pre><code class=\"plaintext\">Sinqeriteti s'\u00ebsht\u00eb e v\u00ebrtet\u00eb. L. Lavelle\nDuroni dhe p\u00ebrmbahuni. Epikteti\nVet\u00ebm ajo q\u00eb \u00ebsht\u00eb e pafavorshme \u00ebsht\u00eb e ndershme. J. Labruy\u00e8re\nB\u00ebhu i men\u00e7ur dhe trim. B. Gracian\nBenevolenca \u00ebsht\u00eb m\u00eb e mir\u00eb se bukuria. G. Heyne\nP\u00ebr veprat e m\u00ebdha nevojitet nj\u00eb q\u00ebndrim i palodhur. F. Voltaire\nN\u00ebse d\u00ebshiron q\u00eb t\u00eb tjer\u00ebt t\u00eb t\u00eb p\u00eblqejn\u00eb gjithmon\u00eb, sh\u00ebrbeji vetes. B. Franklin\nSkrom\u00ebsia e tepruar nuk \u00ebsht\u00eb gj\u00eb tjet\u00ebr ve\u00e7se nj\u00eb krenari e fshehur. A. Shenier\nNjer\u00ebzit shum\u00eb inteligjent\u00eb nuk besohen, n\u00ebse shohin ng\u00ebr\u00e7in e tyre. F. Nietzsche\nVarf\u00ebria tregon munges\u00ebn e mjeteve, jo munges\u00ebn e nderit. D. Boccaccio\nDuhet t\u00eb ruhemi nga \u00e7uarja e skrom\u00ebsis\u00eb n\u00eb nj\u00eb shkall\u00eb t\u00eb n\u00ebnshtrimit. A. Bakihanov\nAi q\u00eb heq dor\u00eb nga shum\u00eb, mund t\u00eb lejoj\u00eb shum\u00eb p\u00ebr vete. J. Chardon\nKur na paguajn\u00eb p\u00ebr nj\u00eb akt t\u00eb ndersh\u00ebm, ai na merret. N. Chamfort\nT\u00eb mos e marr\u00ebsh fare - nuk \u00ebsht\u00eb e frikshme, por t\u00eb humbas\u00ebsh at\u00eb q\u00eb ke marr\u00eb \u00ebsht\u00eb e dhimbshme. Klavdi Elian\n\u00cbsht\u00eb m\u00eb leht\u00eb t\u00eb durosh durimin at\u00eb q\u00eb nuk mund ta rregullosh. Horaci\nU lodhe t\u00eb pres\u00ebsh, por sa m\u00eb keq do ishte, n\u00ebse do t\u00eb nuk kishit asgj\u00eb p\u00ebr t\u00eb pritur. B. Shaw\nT\u00eb gjitha vijn\u00eb n\u00eb koh\u00eb, n\u00ebse njer\u00ebzit din\u00eb t\u00eb presin. F. Rabelais\nMe durimin ton\u00eb mund t\u00eb arrijm\u00eb m\u00eb shum\u00eb sesa me forc\u00ebn. E. Burke\nDuhet t\u00eb dijm\u00eb t\u00eb durojm\u00eb at\u00eb q\u00eb nuk mund t\u00eb shmangim. M. Montaigne\nAi q\u00eb \u00ebsht\u00eb guximtar n\u00eb pun\u00eb, nuk do t\u00eb friksohet nga fjal\u00ebt. Sofokliu\nUn\u00eb nuk p\u00eblqej t\u00eb luftoj, un\u00eb p\u00eblqej t\u00eb fitoj. B. Shaw\nNj\u00eb mace e ngacmuar dhe e shtyr\u00eb n\u00eb mur shnd\u00ebrrohet n\u00eb tig\u00ebr. M. Cervantes\nNj\u00eb njeri i denj\u00eb nuk shkon n\u00eb gjurm\u00ebt e tjer\u00ebve. Konfuci\nNj\u00eb mendje e madhe do t\u00eb tregoj\u00eb forc\u00ebn e saj jo vet\u00ebm n\u00eb aft\u00ebsin\u00eb p\u00ebr t\u00eb menduar, por edhe n\u00eb aft\u00ebsin\u00eb p\u00ebr t\u00eb jetuar. R. Emerson\nLavdia \u00ebsht\u00eb nj\u00eb mall t\u00eb cilin \u00ebsht\u00eb e v\u00ebshtir\u00eb ta ruash. Kushton shtrenj\u00eb, ruhet keq. O. Balzac\nShtypja dhe p\u00ebrshtatja n\u00eb biseda jan\u00eb m\u00eb shum\u00eb se elokuenca. F. Bacon\nKush nuk di t\u00eb hesht, nuk \u00ebsht\u00eb i aft\u00eb as t\u00eb flas\u00eb. Seneka i Riu\nManer\u00ebt e mira p\u00ebrb\u00ebhen nga sakrifica t\u00eb vogla. F. Chesterfield\nNj\u00eb njeri i mir\u00eb nuk \u00ebsht\u00eb ai q\u00eb di t\u00eb b\u00ebj\u00eb t\u00eb mira, por ai q\u00eb nuk di t\u00eb b\u00ebj\u00eb keq. V. Klyuchevsky\nMos jepni gjykime t\u00eb pakthyeshme! Augustin\nAsgj\u00eb e tep\u00ebrt! Soloni<\/code><\/pre>\n<p><\/p>\n<p>Na mbetet t\u00eb krijojm\u00eb nj\u00eb podprogram q\u00eb nxjerr nj\u00eb varg t\u00eb rast\u00ebsish\u00ebm nga skedari source.<br \/>\nDo t\u00eb p\u00ebrshkruajm\u00eb algoritmin e funksionimit t\u00eb podprogramit:<\/p>\n<p><\/p>\n<ol>\n<li>Hap skedarin source<\/li>\n<li>Num\u00ebrojm\u00eb numrin e rreshtave n\u00eb skedarin e hapur<\/li>\n<li>Mbyllim skedarin (nuk ka nevoj\u00eb ta mbajm\u00eb hapur m\u00eb gjat\u00eb se kaq)<\/li>\n<li>Gjenerojm\u00eb nj\u00eb num\u00ebr t\u00eb rast\u00ebsish\u00ebm t\u00eb plot\u00eb brenda numrit t\u00eb rreshtave t\u00eb dosjes source<\/li>\n<li>Hap skedarin source<\/li>\n<li>Shfaqim rreshtin me numrin e numrit t\u00eb gjeneruar<\/li>\n<li>Mbyllim dosjen<\/li>\n<\/ol>\n<p><\/p>\n<p>Implementojm\u00eb algoritmin n\u00eb Python (po shkruaj p\u00ebr Python 3.7):<\/p>\n<p><\/p>\n<pre><code class=\"python\">import random  # importojm\u00eb p\u00ebr gjenerimin e numrave t\u00eb rast\u00ebsish\u00ebm\nimport os  # p\u00ebr marrjen e rrug\u00ebs\n\npath = os.path.abspath(__file__)  # marrim rrug\u00ebn e drejtp\u00ebrdrejt\u00eb p\u00ebr dosjen rndstr.py\npath = os.path.dirname(path)  # e konvertojm\u00eb n\u00eb rrug\u00eb p\u00ebr dosjen\npath = path  + ' \/source'  # e konvertojm\u00eb n\u00eb rrug\u00eb p\u00ebr dosjen source\n\nf = open(path)  # hapim dosjen\ni = 0  # fillojm\u00eb num\u00ebrimin\nfor str in f: i+=1  # num\u00ebrojm\u00eb rreshtat e dosjes\nf.close  # mbyllim dosjen\n\nj = int(round(i * random.random()))  # gjenerojm\u00eb nj\u00eb num\u00ebr t\u00eb plot\u00eb t\u00eb rast\u00ebsish\u00ebm nga 0 deri n\u00eb i\n\nf = open(path)  # hapim dosjen\ni = 0  # fillojm\u00eb num\u00ebrimin\nfor str in f:  # kalojm\u00eb p\u00ebrmes rreshtave t\u00eb dosjes\n    if i == j:  # n\u00ebse numri i rreshtave \u00ebsht\u00eb i barabart\u00eb me numrin e gjeneruar\n        print (str, end='')  # shfaqim rreshtin pa kaluar n\u00eb nj\u00eb t\u00eb re\n        break  # dalim nga cikli\n    i+=1  # rrisim num\u00ebrimin me 1\nf.close  # mbyllim dosjen<\/code><\/pre>\n<p><\/p>\n<p>Pasi q\u00eb skedar\u00ebt t\u00eb jen\u00eb krijuar dhe shkruar, duhet t'i jepni t\u00eb drejtat p\u00ebr ekzekutimin e skedarit <code>rndstr.sh<\/code>, dhe t\u00eb krijoni nj\u00eb alias p\u00ebr ekzekutim t\u00eb shpejt\u00eb.<\/p>\n<p><\/p>\n<pre><code class=\"bash\">alias rnst=\"~\/rndstr\/rndstr.sh\"<\/code><\/pre>\n<p><\/p>\n<p>Tani, duke futur n\u00eb terminal <code>rnst<\/code> do t\u00eb marrim n\u00eb clipboard nj\u00eb aforiz\u00ebm t\u00eb rast\u00ebsish\u00ebm, i cili, p\u00ebr shembull, mund t\u00eb p\u00ebrdoret n\u00eb komunikim.<\/p>\n<p><\/p>\n<p>K\u00ebtu kemi shkruar di\u00e7ka t\u00eb dobishme. Relativisht t\u00eb dobishme.<\/p>\n<p><\/p>\n<h3>P.s.<\/h3>\n<p><\/p>\n<p>Q\u00ebllimisht, n\u00eb hapin e fundit nuk e p\u00ebrfshiva nj\u00eb screenshot dhe nuk shqyrtova disa veprime n\u00eb detaje, duke p\u00ebrshkruar vet\u00ebm p\u00ebrmbajtjen e skedar\u00ebve, p\u00ebr t\u00eb dh\u00ebn\u00eb lexuesve mund\u00ebsin\u00eb t\u00eb punojn\u00eb vet\u00eb.<\/p>\n<p><\/p>\n<p>Me k\u00ebt\u00eb 'Termux hap pas hapi', mendoj se ka p\u00ebrfunduar. Sigurisht, k\u00ebto jan\u00eb vet\u00ebm hapat e par\u00eb, por tani mund t\u00eb ecni p\u00ebrpara vet\u00eb.<\/p>\n<p><\/p>\n<p>Fillimisht planifikoja t\u00eb tregoj n\u00eb k\u00ebt\u00eb cik\u00ebl se si t\u00eb p\u00ebrdor nmap, sqlmap, por pa mua tashm\u00eb ka shum\u00eb artikuj mbi k\u00ebt\u00eb tem\u00eb. N\u00ebse keni d\u00ebshir\u00eb q\u00eb un\u00eb t\u00eb vazhdoj ciklin 'Termux hap pas hapi', at\u00ebher\u00eb posht\u00eb ka nj\u00eb anket\u00eb dhe n\u00eb komentet mund t\u00eb propozoj\u00eb \u00e7far\u00eb tjet\u00ebr t\u00eb shkruaj.<\/p>\n<p class=\"for_users_only_msg\">Vet\u00ebm p\u00ebrdoruesit e regjistruar mund t\u00eb marrin pjes\u00eb n\u00eb anket\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Hyni<\/a><\/noindex>, ju lutem.<\/p>\n<h2 class=\"default-block__polling-title\">T\u00eb vazhdojm\u00eb \"Termux hap pas hapi\"?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Po.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Jo<\/p>\n<\/li>\n<\/ul>\n<p>    Kemi votuar 2 p\u00ebrdorues. Asnj\u00eb abstenim.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445868\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 Termux&#8217;\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 SSH \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u041f\u041a, \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c alias&#8217;\u044b \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0430\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0448\u0430\u0433\u043d\u0443\u0442\u044c \u0435\u0449\u0435 \u0434\u0430\u043b\u044c\u0448\u0435, \u043c\u044b \u0441 \u0432\u0430\u043c\u0438: \u0443\u0437\u043d\u0430\u0435\u043c \u043f\u0440\u043e Termux:API \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c Python \u0438 nano, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c &#171;Hello, world!&#187; \u043d\u0430 Python \u0443\u0437\u043d\u0430\u0435\u043c \u043f\u0440\u043e bash-\u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0438 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22529,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30531","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 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 Termux&#039;\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 SSH \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u041f\u041a, \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c alias&#039;\u044b \u0438.\" \/>\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\/sq\/blog\/administrirovanie\/termux-shag-za-shagom-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\udd47Termux \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 Termux&#039;\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 SSH \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u041f\u041a, \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c alias&#039;\u044b \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/termux-shag-za-shagom-chast-2\" \/>\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=\"2019-10-31T18:36:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:36:03+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\udd47Termux hap pas hapi (Pjesa 2) | ProHoster","description":"N\u00eb pjes\u00ebn e kaluar ne u njoh\u00ebm me komandat bazike t\u00eb Termux-it, konfigurimm\u00eb SSH lidhjen me PC-n\u00eb, m\u00ebsuam t\u00eb krijojm\u00eb alias\u00eb dhe.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/termux-shag-za-shagom-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\udd47Termux \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster","og:description":"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 Termux'\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 SSH \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u041f\u041a, \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c alias'\u044b \u0438.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/termux-shag-za-shagom-chast-2","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":"2019-10-31T18:36:03+00:00","article:modified_time":"2019-10-31T18:36:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30531","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"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":"2026-01-21 01:39:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:16:48","updated":"2026-08-11 12:50:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30531"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30531\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/22529"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}