如何通过命令行卸载语言环境?

Eon*_*nil 23 uninstall locale

我的系统上有 5 个未使用的语言环境。如何通过命令行删除它们?我用过,localepurge但没用。

enz*_*tib 29

您可以列出语言环境

localedef --list-archive
Run Code Online (Sandbox Code Playgroud)

或与

locale -a
Run Code Online (Sandbox Code Playgroud)

对应的文件大小由

ls -lh /usr/lib/locale/locale-archive
Run Code Online (Sandbox Code Playgroud)

要删除未使用的语言环境,您可以执行

sudo locale-gen --purge it_IT.UTF-8 en_US.UTF-8 && echo Success!
Run Code Online (Sandbox Code Playgroud)

whereit_IT.UTF-8en_US.UTF-8我想要仅有的两个语言环境。在&& echo "Success!"因为到底是有用的locale-gen,如果不可用或错误的区域是在命令行通过不报告错误。

  • 在 bash 中,`"Succes!"` 字符串中的感叹号会触发 bash 历史扩展。为了避免这个问题,你必须将 `'Success!'` 包含在单引号中或者(奇怪的是!)删除引号。来自 [bash 手册](http://www.gnu.org/software/bash/manual/bashref.html#History-Interaction):_History 扩展是由历史扩展字符的出现引入的,即“!” 默认情况下。只有 `\ ` 和 `'` 可以用来转义历史扩展字符。_ (7认同)
  • --purge 在我的情况下不起作用并且没有记录...... (3认同)