我系统上有5个未使用的区域设置。如何通过命令行删除它们?我尝试了localepurge,但没有起作用。
localedef --list-archive
locale -a
ls -lh /usr/lib/locale/locale-archive
sudo locale-gen --purge it_IT.UTF-8 en_US.UTF-8 && echo 'Success!'
我只想要 it_IT.UTF-8
和 en_US.UTF-8
这两个语言环境。在末尾加上 && echo 'Success!'
是有用的,因为如果在命令行中传递了一个不可用或错误的语言环境,locale-gen
不会报告错误。
localedef --list-archive
,不带s
。 - anatoly techtonik"Succes!"
字符串中的感叹号会触发bash历史扩展。为了避免这个问题,你必须将'Success!'
放入单引号中,或者(奇怪地!)删除引号。根据bash手册:历史扩展是通过历史扩展字符的出现来引入的,默认情况下该字符是‘!’。只有\
和'
可以用来转义历史扩展字符。 - Michelelocaledef --list-archive
列出)-其中一个是捷克语cs_CZ.utf8
,其余的只是英语的变体,例如en_CA.utf8
,en_GB.utf8
,en_US.utf8
等等。但是当我运行BleachBit(一个图形界面的文件清理工具)时,它在各个位置(例如/usr/share/man/
,/usr/share/help/
)找到了各种语言的区域设置和本地化文件,这些语言并未在localedef
的列表中列出,总共约500 MB的数据。我不确定为什么它们会被安装,也许是一些安装程序没有检查启用了哪些区域设置? - undefined