107.3 - Comandos clave: Localizacion e internacionalizacion

Variables de locale

VariableControlaPrioridad
LC_ALLTODO (sobreescribe todas las demas)Maxima
LC_CTYPEClasificacion de caracteresMedia
LC_MESSAGESIdioma de mensajes del sistemaMedia
LC_NUMERICFormato de numerosMedia
LC_TIMEFormato de fecha y horaMedia
LC_COLLATEOrden de clasificacion (sort)Media
LC_MONETARYFormato de monedaMedia
LC_PAPERTamano de papelMedia
LANGValor por defecto si LC_* no esta definidaMinima

Orden de prioridad

LC_ALL  >  LC_*  >  LANG

Formato de locale

idioma_PAIS.CODIFICACION
es_ES.UTF-8        # Espanol Espana UTF-8
en_US.UTF-8        # Ingles USA UTF-8
C / POSIX          # Locale minimo (ASCII, ingles)

Comandos de locale

ComandoDescripcion
localeMostrar configuracion actual de locale
locale -aListar todos los locales disponibles
locale -k LC_TIMEMostrar claves de una categoria
localectl statusVer locale y layout de teclado (systemd)
localectl set-locale LANG=es_ES.UTF-8Cambiar locale del sistema
localectl list-localesListar locales disponibles
localectl set-keymap esCambiar layout de teclado
locale-genGenerar locales (Debian)
dpkg-reconfigure localesConfigurar locales interactivamente (Debian)

Archivos de configuracion de locale

ArchivoDistribucion
/etc/locale.confRed Hat, Fedora, Arch (systemd)
/etc/default/localeDebian, Ubuntu
/etc/locale.genLista de locales a generar (Debian)

Codificaciones de caracteres

CodificacionBitsDescripcion
ASCII7 bits (128 chars)Solo ingles basico, sin acentos
ISO-8859-1 (Latin-1)8 bits (256 chars)Europa Occidental
ISO-8859-15 (Latin-9)8 bits (256 chars)Como Latin-1 + simbolo euro
UTF-81-4 bytes variableTodos los idiomas, estandar actual

iconv - Conversion de codificaciones

ComandoDescripcion
iconv -f ISO-8859-1 -t UTF-8 entrada.txt > salida.txtConvertir Latin-1 a UTF-8
iconv -f UTF-8 -t ISO-8859-15 -o salida.txt entrada.txtConvertir UTF-8 a Latin-9
iconv -lListar codificaciones disponibles
iconv -f UTF-8 -t ASCII//TRANSLITConvertir con transliteracion
iconv -f UTF-8 -t ASCII//IGNOREConvertir ignorando errores
OpcionDescripcion
-fCodificacion de origen (from)
-tCodificacion de destino (to)
-oArchivo de salida (output)
-lListar codificaciones
//TRANSLITTransliterar caracteres no disponibles
//IGNOREIgnorar caracteres no convertibles

Zona horaria - Archivos

RutaDescripcion
/usr/share/zoneinfo/Directorio con archivos de zonas horarias
/etc/localtimeEnlace simbolico a la zona activa
/etc/timezoneNombre de la zona en texto (Debian)
TZVariable de entorno para zona horaria temporal

Zona horaria - Comandos

ComandoDescripcion
timedatectlVer fecha, hora, zona horaria y NTP
timedatectl set-timezone Europe/MadridCambiar zona horaria (systemd)
timedatectl list-timezonesListar zonas disponibles
timedatectl set-time "2026-05-26 14:30:00"Establecer fecha/hora
timedatectl set-ntp trueActivar sincronizacion NTP
tzselectSeleccionar zona interactivamente (NO cambia config)
dpkg-reconfigure tzdataConfigurar zona (Debian interactivo)
ln -sf /usr/share/zoneinfo/ZONA /etc/localtimeCambiar zona manualmente

Variable TZ

TZ="America/New_York" date    # Hora en Nueva York
TZ="Asia/Tokyo" date          # Hora en Tokio
TZ="UTC" date                 # Hora UTC
export TZ="Europe/Madrid"     # Para toda la sesion

date con locale y zona horaria

date                                    # Fecha segun locale actual
LC_TIME=en_US.UTF-8 date              # Fecha en ingles
TZ="America/New_York" date            # Fecha en otra zona
date +"%d/%m/%Y %H:%M:%S"             # Formato personalizado

Resumen de configuracion

Cambiar locale

localectl set-locale LANG=es_ES.UTF-8     # systemd
# o editar /etc/locale.conf (Red Hat) o /etc/default/locale (Debian)

Cambiar zona horaria

timedatectl set-timezone Europe/Madrid     # systemd
# o: ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
# Debian: dpkg-reconfigure tzdata