如何在幀緩衝區控制台中使用非拉丁字母字元?

如何在幀緩衝區控制台中使用非拉丁字母字元?

當你有大量非拉丁字母甚至中文/日文檔案時,你們如何使用 Linux?我對 Windows 沒有任何問題,因為我在 GUI 中完成所有操作(很難不這樣做),並且只需短暫安裝即可使用備用語言輸入。

然而在 Linux 中,我主要透過幀緩衝區控制台/ssh 與它交互,主要是因為這就是我使用它的目的,而且我並不真正相信 X 在我需要它時能夠工作。在這些環境中,輸入中文/日文來 cd 到該目錄似乎是不可能的 - 我必須使用 X 中的 GUI 文件管理器才能進入那裡並開始對文件執行我需要執行的任何操作。或者是嗎?有針對這個的解決方法嗎?

答案1

我可以在 Putty 視窗中透過 ssh 輕鬆輸入 UTF-8 字元。但是,我通常使用 ASCII 檔案名,並且僅在檔案內容中使用 UTF-8 字元。它使我免於各種問題(例如,被unicode 標準化所困擾:您可以有2 個具有視覺上相同名稱的文件,因為一個名稱包含+ 重音符號作為一個字符,而另一個名稱包含它們作為兩個字元)。

答案2

現在大多數 shell 都支援自動完成文件名,我已經能夠使用它來刪除幾乎所有意外創建的具有奇怪名稱的文件*。

在 Bash 中,您可以透過轉義來避免直接輸入複雜的檔案名稱:

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

* 嘗試以下指令進行挑戰:

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

相關內容