Как использовать символы нелатинского алфавита в консоли фреймбуфера?

Как использовать символы нелатинского алфавита в консоли фреймбуфера?

Как вы, ребята, используете Linux, когда у вас много файлов с нелатинскими алфавитами или даже китайскими/японскими? У меня нет проблем с Windows, потому что я делаю все в графическом интерфейсе (трудно не делать этого), а альтернативный языковой ввод находится всего в нескольких минутах установки.

Однако в Linux я взаимодействую с ним в основном через консоль фреймбуфера/ssh, в основном потому, что я использую его именно для этого, и я не очень доверяю X, когда он мне нужен. И в этих средах ввод на китайском/японском языке для cd в этот каталог кажется невозможным - мне приходится использовать файловый менеджер с графическим интерфейсом в X, чтобы попасть туда и начать делать все, что мне нужно с файлами. Или это так? Есть ли решение этой проблемы?

решение1

Я могу легко вводить символы UTF-8 через ssh в окне Putty. Однако я обычно использую имена файлов ASCII и использую только символы UTF-8 в содержимом файлов. Это спасает меня от различных проблем (например, меня укусила нормализация unicode: у вас может быть 2 файла с визуально одинаковыми именами, потому что одно имя содержит + как один символ, а другое содержит их как два символа).

решение2

Большинство оболочек в наши дни поддерживаютавтодополнениеимен файлов, и мне удалось использовать это, чтобы избавиться практически от любого случайно созданного файла со странным именем*.

В Bash вы можете избежать ввода сложных имен файлов напрямую, экранируя их:

find . -print0 | while read -r -d ''; do printf %q "$REPLY"; done

* Попробуйте следующую команду для проверки:

touch -- $'--$`\\! *@ \a\b\E\f\r\t\v\"\' \n'

Связанный контент