Самый легкий способ сделать это должно включить монитор в порт для GPU, который Вы хотите использовать и не включаете монитор в порт для GPU, который Вы не хотите использовать. Затем запустите компьютер.
Причина, по которой в Vim он представлен как [118504]^_[118505], заключается в том, что Vim является интерактивным редактором. Он может свободно отображать непечатаемые символы, как ему заблагорассудится, при условии, что правильный двоичный символ записан на диск.
Вы не можете получить такого же поведения в оболочке, потому что программы оболочки Unix написаны для работы и передачи простого текста друг другу. Когда вы [118506]cat[118507] записываете файл, текст, который записывается на терминал, должен быть тем, что на самом деле находится в файле.
Vim и некоторые другие редакторы отображают их, поэтому их можно редактировать. Как вы заметили, [118524]cat -v[118525] отображает их тоже. На man-странице видно, что [118526]-v[118527] - это короткая форма [118528]- show-nonprinting[118529], что приводит к замене непечатаемых символов на печатаемое представление, которое не является оригинальным содержимым файла и поэтому может вызвать проблемы, если вывод будет на самом деле осуществлен в другой программе.
Представление, которое вы уже видите, намекает на то, что это управляющий символ: символ, дополненный [118530]^[118531], является общей нотацией для [118532]Ctrl[118533] + символ, который является комбинацией клавиш, генерирующей этот символ в терминале. [118534]Ctrl[118535]+[118536]_[118537] позволяет, например, ввести разделитель устройств в формате vim. Но другой редактор или какая-нибудь программа для просмотра графического интерфейса может отображать шестнадцатеричный код, плацдарм или что-то совершенно другое.
Таким образом, чтобы показать символы на терминале, нет другого способа, кроме как использовать программу, которая заменяет разделитель устройств каким-либо символом для печати.[118145].
Немного позади других (очень хороших) ответов, если вы хотите изменить только управляющий символ ^_
при отображении содержимого файла, вы можете захотеть перевести его, используя утилиту tr
(и немного баш-совместимого синтаксиса):
# Replace the control character US (^_) by *one* other character
$ cat my.file | tr $'\c_' ':'
Если вам нужно заменить этот управляющий символ на его "расширенный" вид, вам понадобится sed
вместо:
# Replace the control character US (^_) by any string
cat /tmp/f | sed s/$'\c_'/^_/g
Пожалуйста, обратите внимание на синтаксис $'\cX'
: этот синтаксис информирует ваш (bash-совместимый shell) о замене соответствующего управляющего символа. Смотрите в Википедии список псевдонимов управляющих символов с использованием "caret notation". Если вам не нравится этот синтаксис, вы можете предпочесть использовать восьмеричную $'\037'
или шестнадцатиричную $'\x1f'
нотацию вместо этого.