Что такое / bin / red

13

Я пытался получить доступ, redis-cliно потому что я такой ленивый, я redдважды набрал и нажал клавишу Tab, но я заметил, что на самом деле есть бинарный файл, redкоторый находится под /bin/.

Когда я сделал

cat /bin/red

это показало

#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"

Есть идеи, что это?

Заметка. когда я выполняю red, он просто ожидает ввода и что бы я ни набрал, он либо сохраняет его и ждет другого приглашения, либо возвращает ?, заметьте, что только при нажатии qон завершается. также при вводе цифр от 0 до 9 и продолжении ввода он показывает каждый введенный вами ввод, когда он сохранил то, что вы набрали ранее

пример:

a <<<-- input
bsa <<< input taken without ?
^C <<<--- hitting ctrl-c
?  <<<--- output

example2:

v
?
b
?
a
qwrefdf <<-- saved because it didn't output ? after typing "a" up
^C
?
 <<- waiting for input

поэтому «h» выводит в «неверный адрес» и только «a», «x», «c» и «i» принимают ввод. все остальное, кроме чисел, приводит к?

M03
источник
3
Что бы это ни стоило, вы можете ответить на этот вопрос самостоятельно, выполнив команду dpkg -S /bin/red. Это скажет вам, что файл является частью edпакета, и apt-cache show edдаст вам описание этого пакета.
Дэвид
3
Очень важно: не выполняйте вслепую какое-то приложение, которое вы не знаете. Даже в Linux есть вредоносное ПО ...
Гуфалит
7
Ed - стандартный текстовый редактор. gnu.org/fun/jokes/ed-msg.html
IMSoP
4
Или еще проще: man red.
OrangeDog
@IMSoP Мне нравится, как в анекдоте они сделали смехотворно большим видео на 1.3MB. Перемотка вперед почти 30 лет, и двоичный файл vim в моей системе на самом деле в два раза больше шутки при 2,7 МБ: ')
marcelm

Ответы:

28

redнаходится edв ограниченном режиме.

$ whatis red
red (1)              - line-oriented text editor

$ man red
shows `ed` man page.

Кроме того, код показывает, что выполняется ed --restrictedизbindir всех аргументов ( "$@").

Для руководства по ed и его команд, запустите info Ed.

В главе Invoking ed:

Формат для запуска 'ed':

 ed [OPTIONS] [FILE]
 red [OPTIONS] [FILE]

[...]

'-r' '--restricted' Запустить в ограниченном режиме. Этот режим отключает выпуск файлов из текущего каталога и выполнение команд оболочки.

pLumo
источник
Полезные команды для получения некоторой информации в этом ответе: file /bin/redи cat /bin/red(поскольку fileпоказывает, что это «сценарий оболочки POSIX, текстовый исполняемый файл ASCII).
Приостановлен до дальнейшего уведомления.