Не доступен ли / dev / tty7 напрямую пользователям Ubuntu?

Чтобы уловить то, что я понял из комментариев Q, я собираюсь ответить, что «нет, невозможно делать то, что вы хотите, с diff и патч ", поскольку они должны включать контекст, который включает контент, который вы не можете распространять.

Учитывая, что вы не можете полагаться на присутствие ed , если вы можете полагаться на sed , чтобы быть там, тогда вы могли бы просмотреть измененные файлы и обновить каждый из них. с выражением sed :

$ cp input tempfile && \
$ sed \
    -e '2s/.*/It is kinda awesome./' \
    -e '4s/.*/No really, this is line 4/' \
  tempfile > input && \
$ rm tempfile

Я разбил команды, чтобы намекнуть на возможность написания сценария сценария, который будет генерировать вышеуказанные команды, заменив «ввод» именем файла, которое необходимо изменить, и строки "-e ..." с содержимым, которое необходимо изменить. Здесь я меняю все, что находится в строке 2 и строке 4, соответствующим текстом.

Если вас беспокоит конфликт «временного файла» с существующим именем, посмотрите, есть ли в этой спартанской системе mktemp . Вы можете сэкономить несколько циклов mktemp, создав один временный файл для (повторного) использования для каждого входного файла.

Если в этой системе ed-less есть sed, который поддерживает флаг -i , то вы можете упростить этот пакет до:

$ sed -i.orig \
    -e '2s/.*/It is kinda awesome./' \
    -e '4s/.*/No really, this is line 4/' \
  input

mikeserv поднимает хороший вопрос с помощью команды sed 'c'; GNU sed, похоже, принимает заменяющий текст в той же строке, что и команда 'c', но на всякий случай, если ваш нет, вот один вариант:

$ cat > patch.sed
2c\
this is the new line two
4c\
this is an awesomer line four
^D
$ sed -f patch.sed input > output ## or sed -i.orig -f patch.sed input

1
14.12.2018, 14:34
1 ответ

В выпусках Ubuntu до 17.10 Ubuntu имеет 6 виртуальных консолей tty1 -tty6, доступ к которым осуществляется с помощью комбинаций клавиш Ctrl + Alt + F1 до Ctrl + Alt + F6 . Для доступа к графическому интерфейсу из любой виртуальной консоли нажмите комбинацию клавиш Ctrl + Alt + F7 .

Начиная с Ubuntu 17.10, которая позволяла пользователю выбирать Xorg или Wayland при входе в систему, доступ к виртуальным консолям осуществляется с помощью комбинаций клавиш Ctrl + Alt + F3 - Ctrl + Alt + F6 . Для доступа к графическому интерфейсу из любой виртуальной консоли нажмите комбинацию клавиш Ctrl + Alt + F2 .

/dev/tty— это управляющий tty текущего процесса для любого процесса, который фактически открывает этот специальный файл. Это не обязательно виртуальная консоль. Например, запуск команды echo hello > /dev/ttyв терминале возвращает hello, но запуск sudo echo hello > /dev/tty0до sudo echo hello > /dev/tty7возвращает сообщение об ошибке, подобноеbash: /dev/tty0: Permission denied

getty, сокращение от «get tty», представляет собой программу Unix, работающую на хост-компьютере, которая управляет физическими или виртуальными терминалами (TTY ). Когда он обнаруживает соединение, он запрашивает имя пользователя и запускает программу входа в систему для аутентификации пользователя.Википедия В большинстве систем Debian tty7 используется системой X Window, поэтому, если вы хотите добавить больше getty, продолжайте, но пропустите tty7, если вы используете X.

0
28.01.2020, 00:23

Теги

Похожие вопросы