当你们有大量非拉丁字母文件,甚至是中文/日文文件时,你们是如何使用 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'