Есть 2 возможности.Первый заключается в использовании rlwrap для обертывания библиотеки истории readline вокруг вашей netcat
программы. Другой вариант — использовать socat , в который встроен readline -.
Например, если вы используете telnet с помощью netcat, вы можете просто сказать
rlwrap nc -t remotehost 23
, а затем каждая введенная вами строка сохраняется в файле ~/.nc_history
и может перемещаться с помощью обычных клавиш чтения строки. Повторное выполнение той же команды сохраняет существующую историю.
При socat
нет возможности использовать telnet, но для других типов подключения вы можете использовать, например,
socat readline,history=$HOME/.socat.hist TCP4:remotehost:port
Если у вас нет rlwrap
, вы можете использовать socat для запуска netcat:
socat readline,history=$HOME/.socat.hist exec:'nc -t remotehost 23'
Третья возможность, если у вас нет ни одной из этих программ, но есть оболочка bash
со встроенным -в readline, состоит в том, чтобы заставить bash читать команды с терминала и отправлять их на стандартный ввод netcat. Ниже приведен довольно упрощенный пример сценария для этого с использованием той же команды nc
и сохранением и восстановлением истории в файле /tmp/myhistory
.
#!/bin/bash
# emulate rlwrap nc -t localhost 23
HISTFILE=/tmp/myhistory
history -r # read old history
while IFS= read -p 'netcat> ' -e # sets REPLY, -e enables readline
do history -s "$REPLY" # add to history
history -w # save to file
echo "$REPLY" # write to netcat
done |
nc -t remotehost 23
Если у вас есть второй (не -безголовый )компьютер поблизости и доступный последовательный порт на каждом из ваших компьютеров, а также нуль -модем (кабель последовательной консоли ), вы можете сказать grub (и, возможно, ядру )для вывода на последовательную консоль. А затем используйте свой второй компьютер, чтобы выбрать, какую ОС вы хотите загрузить из меню grub. Несмотря на то, что это не специально для CentOS, в Arch Wiki есть хорошая страница о последовательной консоли :https://wiki.archlinux.org/index.php/working_with_the_serial_console
.В противном случае вы можете настроить grub так, чтобы выбранная ОС сохранялась в grubenv, а затем извлекалась из grubenv при следующей загрузке. В этом вопросе есть несколько советов, как это сделать для разных дистрибутивов :Как сообщить GRUB, что я хочу перезагрузиться в Windows, до перезагрузки? Ссылка, которую только что разместил @doneal24, тоже хороша.
GRUB2 ссылка:https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config