LINUX.ORG.RU

tinycmd — ввод нескольких символов вместо длинной команды в консоли

 


0

1

Бывало ли когда-нибудь так, что нужно было помочь кому-то из друзей или родственников, плохо разбирающихся в компьютерах, что-либо установить или настроить? Во многих случаях бывает довольно сложно объяснить, что нужно делать в графическом интерфейсе, поскольку нужно представлять себе, что происходит на экране у другого человека, а интерфейс у него на компьютере может выглядеть очень по-разному.

Гораздо проще в таких случаях просто попросить человека открыть терминал и набрать определённую строчку команд. Но как именно это сделать, если человек плохо знаком со столь привычными нам компьютерными понятиями? Если диктовать по телефону, то ему может быть сложно искать спец. символы на клавиатуре, и он может расставлять пробелы не в том месте, а если использовать текст, то может потребоваться сначала объяснить ему, что такое буфер обмена, и как выделять и копировать текст, а потом разбираться, почему команда не работает (а потом выяснить, что человек, например, скопировал команду целиком, за исключением последнего символа).

Только что я закончил работу над сервисом tinycmd. Этот сервис позволяет сокращать целую строчку команд до всего лишь нескольких символов, которые нужно набрать в терминале, и нажать Enter.

Такая команда может выглядеть например так:

t zx48v7

Здесь t — это команда tinycmd.

Помимо варианта с удалённой помощью сервис можно использовать для презентаций или мастер-классов, либо когда нужно написать для кого-либо инструкцию на бумаге.

Для того, чтобы добавить новую команду, которая становится доступна с любого компьютера, где установлен tinycmd, достаточно зайти на tinycmd.org.

И ещё доступен исходный код на Гитхабе. Поэтому tinycmd можно установить и использовать даже там, где по каким-то причинам невозможен доступ в Интернет, но есть, например, локальная сеть.

>>> Сайт tinycmd

Ответ на: комментарий от anonymous

зачем rm -rf / хранить по несколько раз?

Если один вариант уже спалили и не хотят запускать, всегда можно создать новый :3

vurdalak ★★★★★ ()

Обязательно напишу скрипт, который перебирает все возможные комбинации символов и пытается запускать команду с таким номером.

vurdalak ★★★★★ ()

Предлагаю добавить опцию --roulette

anonymous ()
Ответ на: комментарий от mCoRN

>не плохо было бы, если бы сервис блокировал заведомо вредоносные комманды еще на этапе их передачи на сервис..

Таких команд тысячи, если не больше. В интерпритаторе какого нибудь ЯП так вообще замаскировать можно под что угодно (вспомните однострочник на перле хотя бы).

Хотя у меня такая идея тоже сразу в голове возникла :)

soko1 ★★★★★ ()

>>> Сайт tinycmd

ужасен. похоже на гламурную соц. сеть.

капча low govnc как бе намекает...

anonymous ()

Несколько идей по поводу сервиса:
— Рейтинг популярности, топ, и режим «что бы мне сегодня ввести»;
— Режим «I'm feeling lucky», выполняющий случайную команду;
— Контекстное автодополненение, скажем «rm -rf --no-preserve-root /: Возможно, вас заинтересует также: photorec, rsync, cp -rpv /net/backup/* / »;
— Плейсхолдеры для параметров, чтобы в команду не было зашито намертво, скажем, что куда копировать, если это будет меняться постоянно;
— Сервис «скачать эту команду на свой мобильный» (+ монетизация);
— Услуга «выполнить у друга» (+ монетизация);

Smacker ★★★ ()

>Why to use tinycmd?

а facepalm of truly epic proportions


c: 1975 tlesons опять таки не без намека

anonymous ()

Идею поддерживаю! Реально временами такого не хватает.
Про безопасность говорить не буду :)

soko1 ★★★★★ ()

t 1h3

xzibit одобряэ

anonymous ()
Ответ на: комментарий от Cancellor

>Если...

может потребоваться сначала объяснить ему, что такое буфер обмена, и как выделять и копировать текст

... то что вообще эта обезьяна собралась делать с ЭВМ?


Поддерживаю. Если человек не в состоянии выделить текст в браузере|почтовике|IM и щёлкнуть средней кнопкой в эмуляторе терминала, то вообще не надо его пускать в консоль, к su и sudo, и тем более передавать ему команды через такой феерически небезопасный сервис. Пророчу этой поделке светлое будущее хостинга тупых шуток.

massimus ★★★ ()
Ответ на: комментарий от Smacker

>— Рейтинг популярности, топ, и режим «что бы мне сегодня ввести»

Это пять!

massimus ★★★ ()
Ответ на: комментарий от massimus

Можно ещё сделать форк баша tweebash, ограничивающий длину команды 140 символами.

Smacker ★★★ ()

Хрень какая-то

Deleted ()

Теперь подсунуть новичку волшебный патч еще проще!

pevzi ★★★★★ ()

Еще один вариант, написать скрипт который будет постоянно постить rm -fr/ на сайт заполняя все варианты кодов. Ошибка в одной букве кода будет стоить хомяку всей системы =)

rshadow ()

Феерическая задумка!!! Думаю, буду пользоваться её так же как и tinyurl - то есть никак.
SSH понятней. Даже через петлю, если кто-то за NATом.
А возможностей поглумиться над пользователем сего чуда немеряно. Хоть бы возможность расшифровки команды была...

fractaler ★★★★★ ()

ssh+miredo в особо запущеных случаях. Всё, больше для решения проблем при работающем интернете ничего не надо

lazyklimm ★★★★★ ()
Ответ на: комментарий от Smacker

На главной есть ссылка на это или найдено с помощью телепатии?

fractaler ★★★★★ ()

Кхм... А интересная задумка :))

Но на сколько я понял, он не может работать с локальной базой данных сокращений/альясов? Тогда не очень хорошо.

neocrust ★★★★★ ()

И да, как узнать, какие команды содержит то, или иное сокращение?

neocrust ★★★★★ ()

Отличная идея. Я уже придумал, как на этом можно заработать неплохие деньги.

Несколько замечаний:
1) измените дизайн у сайта, фиолетовый цвет раздражает очень многих (да и вообще глупо делать такой насыщенный дизайн у минималистичного сервиса);
2) не надо записывать уже имеющиеся команды в базу, прикрутите проверку на уникальность;
2.1) выполните обход БД и удалите дубли;
3) сделайте возможность легко и быстро посмотреть на сайте (и ключиком к утилите /usr/bin/t), что значат все эти «t 2zf0»;
4) с каким-нибудь ключиком (например, -v) утилита t должна запрашивать подтверждение, примерно так:

$ t 1qd
Linux ubuntu 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 21 21:21:21 UTC 2011 i686 GNU/Linux
$ t -v 1qd
Tinycmd is going to exec "uname -a". Press space to confirm, any other key to decline.
<escape> Escaped.
$ t -v 1qd
Tinycmd is going to exec "uname -a". Press space to confirm, any other key to decline.
<space> Confirmed. Executing "uname -a".
Linux ubuntu 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 21 21:21:21 UTC 2011 i686 GNU/Linux

Igron ★★★★★ ()
Ответ на: комментарий от anonymous

> Предлагаю добавить опцию --roulette

$ t -r
rm: cannot remove `/bin/dash': Permission denied
rm: cannot remove `/bin/bash': Permission denied
rm: cannot remove `/bin/sh': Permission denied
...
Igron ★★★★★ ()

- Алё! Да, пишу... Тэ... прабел... Один... эппл... мудак... херня... ENTER。~__________~ hmm.. Чо? Не Один, а цифрой? Единицей? Ò__________Ó ААААА!!! Бляяяя!!! Валера!!! ВАЛЕРАААААА!!!!!!!111111

mutronix ★★★★ ()
Ответ на: комментарий от anonymous

> Совместил бы кто ssh с xmpp...

Ты не поверишь.

Gukl ★★ ()
Ответ на: комментарий от Igron

Tinycmd is going to exec «uname -a», posted by $username ($userinfo) at 12:45 5/03/2011 Press space to confirm, any other key to decline.

Так победим. Правда мало что мешает подменить исполняемый файл у клиента-лоха...

Gukl ★★ ()

Всё очень интересно, конечно, но вот, например, команда ls будет выглядеть как t 1rw (5 символов вместо 2-х).

dncaps ()
Ответ на: комментарий от krakatau

> А предпросмотр команд можно сделать?

В последней версии на Гитхабе:

$ ./t --show 11b
echo hello world; uptime

Либо t -s 11b.

Спасибо Амперу. :)

MaGIc2laNTern ()
Ответ на: комментарий от anonymous

> Сервис этот ещё и команды записывает заново, которые уже там есть. Вы бы сделали проверку на то, есть идентичная команда в базе или нет, зачем rm -rf / хранить по несколько раз?

О, а вот это классная идея.

Спасибо. :)

MaGIc2laNTern ()

Техподдержки всего мира обожают тебя.

dikiy ★★☆☆☆ ()

Как вам такое? t 1up

исправляйте

anonymous ()
Ответ на: комментарий от anonymous

ps

ps. сам не пробывал - может и не сработает :) но возможность залить такой скрипт - уже плохо

anonymous ()

Показывать расшифрованную команду надо по дефолту, без дополнительных параметров. И так же по дефолту запрашивать подтверждение, а по тайм-ауту отменять исполнение.

Автоматическое исполнение делать только при наличии дополнительного длинного аргумента.

Это ж аксиомы «промышленного дизайна», не?

aff ()

t 1x4

А мне нравится, чо.

PS И не только мне, судя по комментариям выше =)

Dimanc ★★ ()

моё имхо, необходимо по дефолту сделать предпросмотр комманды. а, к примеру через «t -r 1y4» запуск. А то слишком не безопасно!!

atommixz ()
Ответ на: комментарий от Dimanc

Как вы ее получили?

Они по порядку добавляются. Добавляем что-нибудь, смотрим, какой номер получился (11p) и добавляем ещё одну со следующим номером (t 11q).

bloodredfrog ★★ ()

комманда t xhz без спец ключа должна просто делать эхо полной комманды на экран

terminat0r ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.