Linux Professional Institute Learning Logo.
Ir para o conteúdo principal
  • Home
    • Todos os recursos
    • LPI Materiais Didáticos
    • Colabore Conosco
    • Publishing Partners
    • Seja um Publishing Partner
    • Quem Somos
    • FAQ
    • Colaboradores
    • Contato
  • LPI.org
107.3 Lição 1
Tópico 105: Shells e scripts do Shell
105.1 Personalizar e trabalhar no ambiente shell
  • 105.1 Lição 1
  • 105.1 Lição 2
  • 105.1 Lição 3
105.2 Editar e escrever scripts simples
  • 105.2 Lição 1
  • 105.2 Lição 2
Tópico 106: Interfaces de usuário e Desktops
106.1 Instalar e configurar o X11
  • 106.1 Lição 1
106.2 Desktops gráficos
  • 106.2 Lição 1
106.3 Acessibilidade
  • 106.3 Lição 1
Tópico 107: Tarefas administrativas
107.1 Administrar contas de usuário, grupos e arquivos de sistema relacionados
  • 107.1 Lição 1
  • 107.1 Lição 2
107.2 Automatizar e agendar tarefas administrativas de sistema
  • 107.2 Lição 1
  • 107.2 Lição 2
107.3 Localização e internacionalização
  • 107.3 Lição 1
Tópico 108: Serviços essenciais do sistema
108.1 Manutenção da data e hora do sistema
  • 108.1 Lição 1
  • 108.1 Lição 2
108.2 Log do sistema
  • 108.2 Lição 1
  • 108.2 Lição 2
108.3 Fundamentos de MTA (Mail Transfer Agent)
  • 108.3 Lição 1
108.4 Configurar impressoras e impressão
  • 108.4 Lição 1
Tópico 109: Fundamentos de Rede
109.1 Fundamentos de protocolos de internet
  • 109.1 Lição 1
  • 109.1 Lição 2
109.2 Configuração persistente de rede
  • 109.2 Lição 1
  • 109.2 Lição 2
109.3 Soluções para problemas simples de rede
  • 109.3 Lição 1
  • 109.3 Lição 2
109.4 Configurar DNS cliente
  • 109.4 Lição 1
Tópico 110: Segurança
110.1 Tarefas administrativas de segurança
  • 110.1 Lição 1
110.2 Configurar a segurança do host
  • 110.2 Lição 1
110.3 Proteção de dados com criptografia
  • 110.3 Lição 1
  • 110.3 Lição 2
How to get certified
  1. Tópico 107: Tarefas administrativas
  2. 107.3 Localização e internacionalização
  3. 107.3 Lição 1

107.3 Lição 1

Certificação:

LPIC-1

Versão:

5.0

Tópico:

107 Tarefas Administrativas

Objetivo:

107.3 Localização e internacionalização

Lição:

1 de 1

Introdução

Todas as principais distribuições Linux podem ser configuradas para usar configurações de localização personalizadas. Essas configurações incluem definições relacionadas à região e ao idioma, como fuso horário, idioma da interface e codificação de caracteres, e podem ser modificadas durante a instalação do sistema operacional ou a qualquer momento depois disso.

Os aplicativos contam com variáveis de ambiente, arquivos de configuração do sistema e comandos para decidir o formato de data e hora e o idioma adequados a empregar; assim, a maioria das distribuições Linux compartilha uma maneira padronizada de ajustar as configurações de data, hora e localização. Esses ajustes são importantes não somente para aprimorar a experiência do usuário, mas também para garantir que o tempo dos eventos do sistema — importante, por exemplo, para relatar problemas relacionados à segurança — seja calculado corretamente.

Para serem capazes de representar qualquer texto escrito, independentemente da língua falada, os sistemas operacionais modernos precisam de um padrão de codificação de caracteres de referência, e os sistemas Linux não fogem à regra. Como os computadores só conseguem lidar com números, um caractere de texto nada mais é do que um número associado a um símbolo gráfico. Plataformas de computação distintas podem associar valores numéricos distintos ao mesmo caractere e, portanto, um padrão comum de codificação de caracteres é necessário para torná-los compatíveis. Um documento de texto criado em um sistema só será legível em outro sistema se ambos concordarem quanto ao formato de codificação e aos números associado a cada caractere, ou pelo menos se souberem converter entre os dois padrões.

A natureza heterogênea das configurações de localização nos sistemas baseados em Linux resulta em diferenças sutis entre as distribuições. Apesar dessas diferenças, todas as distribuições compartilham as mesmas ferramentas e conceitos básicos para configurar os aspectos de internacionalização de um sistema.

Fusos horários

Os fusos horários são faixas distintas da superfície da Terra, aproximadamente proporcionais, abrangendo o equivalente a uma hora, ou seja, regiões do mundo que experimentam a mesma hora do dia no mesmo momento. Uma vez que não existe uma única longitude que possa ser considerada como o início do dia para o mundo inteiro, os fusos horários são relativos ao meridiano primário, onde o ângulo de longitude da Terra foi definido como 0. O tempo no primeiro meridiano é chamado de Tempo Universal Coordenado, por convenção abreviado para UTC. Por razões práticas, os fusos horários não seguem a distância longitudinal exata a partir do ponto de referência (o meridiano principal). Em vez disso, eles são artificialmente adaptados de forma a seguir as fronteiras dos países ou outras subdivisões significativas.

As subdivisões políticas são tão relevantes que os fusos horários recebem nomes que homenageiam algum agente geográfico importante daquela área específica, geralmente com base no nome de um grande país ou cidade dentro da zona. No entanto, os fusos horários são divididos de acordo com seu deslocamento de tempo em relação a UTC; esse deslocamento também pode ser usado para indicar o fuso em questão. O fuso horário GMT-5, por exemplo, indica uma região na qual o horário UTC está cinco horas à frente, ou seja, essa região está 5 horas atrás do UTC. Da mesma forma, o fuso horário GMT+3 indica uma região na qual o horário UTC está três horas atrás. O termo GMT — de Greenwich Mean Time — é usado como sinônimo de UTC nos nomes de fusos horários que indicam a diferença de hora.

Uma máquina conectada pode ser acessada de diferentes partes do mundo, de forma que é aconselhável definir o relógio do hardware para UTC (o fuso horário GMT+0) e deixar a escolha do fuso horário para cada caso particular. Os serviços em nuvem, por exemplo, costumam ser configurados para usar UTC, o que pode ajudar a mitigar eventuais inconsistências entre o horário local e o horário dos clientes ou de outros servidores. Por outro lado, os usuários que abrem uma sessão remota no servidor podem querer usar seu fuso horário local. Assim, caberá ao sistema operacional configurar o fuso horário correto de acordo com cada caso.

Além da data e hora atuais, o comando date também exibe o fuso horário atualmente configurado:

$ date
Mon Oct 21 10:45:21 -03 2019

O deslocamento em relação a UTC é dado pelo valor -03, que indica que a hora exibida é três horas a menos que UTC. Portanto, o horário UTC está três horas à frente, e assim GMT-3 é o fuso horário correspondente para as configurações de tempo especificadas. O comando timedatectl, disponível em distribuições que usam o systemd, mostra mais detalhes sobre a data e hora do sistema:

$ timedatectl
                      Local time: Sat 2019-10-19 17:53:18 -03
                  Universal time: Sat 2019-10-19 20:53:18 UTC
                        RTC time: Sat 2019-10-19 20:53:18
                       Time zone: America/Sao_Paulo (-03, -0300)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Como vemos na entrada Time zone, nomes de fusos horários baseados em localidades — como America/Sao_Paulo — também são aceitos. O fuso horário padrão para o sistema é mantido no arquivo /etc/timezone, seja com o nome descritivo ou com a diferença de hora em relação a UTC. Os nomes genéricos de fusos horários indicados pela diferença em relação a UTC devem incluir Etc na primeira parte do nome. Assim, para definir o fuso horário padrão como GMT+3, o nome do fuso horário deve ser Etc/GMT+3:

$ cat /etc/timezone
Etc/GMT+3

Embora os nomes de fusos horários com base em localidades não exijam a indicação da diferença de hora para funcionar, eles não são tão fáceis de escolher. A mesma zona pode ter mais de um nome, sendo assim mais difícil de lembrar. Para mitigar este problema, o comando tzselect oferece um método interativo que guia o usuário na definição correta do fuso horário. O comando tzselect deve estar disponível por padrão em todas as distribuições Linux, já que é fornecido pelo pacote que contém utilitários necessários relacionados à Biblioteca GNU C.

O comando tzselect será útil, por exemplo, para um usuário que deseja identificar o fuso horário da “Cidade de São Paulo” no “Brasil”. O tzselect começa perguntando qual a macrorregião do local desejado:

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
 1) Africa
 2) Americas
 3) Antarctica
 4) Asia
 5) Atlantic Ocean
 6) Australia
 7) Europe
 8) Indian Ocean
 9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 2

A opção 2 refere-se a locais da América do Norte e do Sul, não necessariamente no mesmo fuso horário. Também é possível especificar o fuso horário com coordenadas geográficas ou com a notação de deslocamento, também conhecida como formato Posix TZ. A etapa seguinte é escolher o país:

Please select a country whose clocks agree with yours.
 1) Anguilla              19) Dominican Republic    37) Peru
 2) Antigua & Barbuda     20) Ecuador               38) Puerto Rico
 3) Argentina             21) El Salvador           39) St Barthelemy
 4) Aruba                 22) French Guiana         40) St Kitts & Nevis
 5) Bahamas               23) Greenland             41) St Lucia
 6) Barbados              24) Grenada               42) St Maarten (Dutch)
 7) Belize                25) Guadeloupe            43) St Martin (French)
 8) Bolivia               26) Guatemala             44) St Pierre & Miquelon
 9) Brazil                27) Guyana                45) St Vincent
10) Canada                28) Haiti                 46) Suriname
11) Caribbean NL          29) Honduras              47) Trinidad & Tobago
12) Cayman Islands        30) Jamaica               48) Turks & Caicos Is
13) Chile                 31) Martinique            49) United States
14) Colombia              32) Mexico                50) Uruguay
15) Costa Rica            33) Montserrat            51) Venezuela
16) Cuba                  34) Nicaragua             52) Virgin Islands (UK)
17) Curaçao               35) Panama                53) Virgin Islands (US)
18) Dominica              36) Paraguay
#? 9

O território brasileiro abrange quatro fusos horários; portanto, o nome do país por si só não basta para definir o fuso horário. Na etapa seguinte, o tzselect pede que o usuário especifique a região local:

Please select one of the following time zone regions.
 1) Atlantic islands
 2) Pará (east); Amapá
 3) Brazil (northeast: MA, PI, CE, RN, PB)
 4) Pernambuco
 5) Tocantins
 6) Alagoas, Sergipe
 7) Bahia
 8) Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)
 9) Mato Grosso do Sul
10) Mato Grosso
11) Pará (west)
12) Rondônia
13) Roraima
14) Amazonas (east)
15) Amazonas (west)
16) Acre
#? 8

Nem todos os nomes de localidade estão presentes, mas escolher a região mais próxima já basta. As informações fornecidas serão então usadas pelo tzselect para exibir o fuso horário correspondente:

The following information has been given:

        Brazil
        Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)

Therefore TZ='America/Sao_Paulo' will be used.
Selected time is now:   sex out 18 18:47:07 -03 2019.
Universal Time is now:  sex out 18 21:47:07 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
        TZ='America/Sao_Paulo'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Sao_Paulo

O nome do fuso horário resultante, America/Sao_Paulo, também pode ser usado como o conteúdo de /etc/timezone para informar o fuso horário padrão para o sistema:

$ cat /etc/timezone
America/Sao_Paulo

Conforme declarado na saída de tzselect, a variável de ambiente TZ define o fuso horário da sessão do shell, qualquer que seja o fuso horário padrão do sistema. Se adicionarmos a linha TZ='America/Sao_Paulo'; export TZ ao arquivo ~/.profile, America / Sao_Paulo se tornará o fuso horário das sessões futuras do usuário. A variável TZ também pode ser modificada temporariamente durante a sessão atual, a fim de exibir a hora em um fuso horário diferente:

$ env TZ='Africa/Cairo' date
Mon Oct 21 15:45:21 EET 2019

No exemplo, o comando env executa o comando fornecido em uma nova sessão de sub-shell com as mesmas variáveis de ambiente da sessão atual, exceto pela variável TZ, modificada pelo argumento TZ='Africa/Cairo'.

Horário de verão

Muitas regiões adotam o horário de verão — quando os relógios são normalmente adiantados em uma hora —  em parte do ano, o que pode levar um sistema mal configurado a relatar a hora errada durante aquela estação do ano.

O arquivo /etc/localtime contém os dados usados pelo sistema operacional para ajustar seu relógio corretamente. Os sistemas Linux padrão têm arquivos para todos os fusos horários no diretório /usr/share/zoneinfo/, de modo que /etc/localtime é apenas um link simbólico para o arquivo de dados real dentro desse diretório. Os arquivos em /usr/share/zoneinfo/ são organizados pelo nome do fuso horário correspondente, então o arquivo de dados para o fuso horário America/Sao_Paulo será /usr/share/zoneinfo/America/Sao_Paulo.

Como as definições de horário de verão podem mudar, é importante manter em dia os arquivos de /usr/share/zoneinfo/. O comando de atualização da ferramenta de gerenciamento de pacotes fornecida pela distribuição deve atualizá-los sempre que uma nova versão estiver disponível.

Idioma e codificação de caracteres

Os sistemas Linux podem funcionar com uma ampla variedade de idiomas e codificações de caracteres não ocidentais, definições conhecidas como localidades (em inglês, locales). A configuração de localidade mais básica é a definição da variável de ambiente LANG, a partir da qual a maioria dos programas do shell identificam o idioma a ser usado.

O conteúdo da variável LANG segue o formato ab_CD, onde ab é o código do idioma e CD é o código da região. O código do idioma deve seguir o padrão ISO-639 e o código da região, o padrão ISO-3166. Um sistema configurado para usar o português do Brasil, por exemplo, deve ter a variável LANG definida como pt_BR.UTF-8:

$ echo $LANG
pt_BR.UTF-8

Conforme visto na saída deste exemplo, a variável LANG também contém a codificação de caracteres destinada ao sistema. O ASCII, abreviação de American Standard Code for Information Interchange, foi o primeiro padrão de codificação de caracteres amplamente usado para comunicação eletrônica. No entanto, como o ASCII tem uma gama muito limitada de valores numéricos disponíveis e foi baseado no alfabeto inglês, ele não contém caracteres usados por outros idiomas ou um conjunto extenso de símbolos não-alfabéticos. A codificação UTF-8 é um Padrão Unicode para os caracteres ocidentais comuns, além de diversos outros símbolos não convencionais. Conforme afirmado pelo Unicode Consortium, mantenedor do Padrão Unicode, ele deve ser adotado por padrão para garantir a compatibilidade entre as plataformas de computação:

O padrão Unicode atribui um número exclusivo a cada caractere, em qualquer plataforma, dispositivo, aplicativo ou idioma. Ele foi adotado por todos os provedores de software modernos e agora permite que os dados sejam transportados através de muitas plataformas, dispositivos e aplicativos diferentes sem corrupção. O suporte a Unicode forma a base para a representação de idiomas e símbolos em todos os principais sistemas operacionais, mecanismos de pesquisa, navegadores, laptops e smartphones — além da Internet e da World Wide Web (URLs, HTML, XML, CSS, JSON, etc.). (…​) o Padrão Unicode e a disponibilidade de ferramentas de suporte estão entre as mais recentes tendências globais de tecnologia de software.

— The Unicode Consortium
What is Unicode?

Alguns sistemas ainda podem usar padrões definidos pelo ISO — como o padrão ISO-8859-1 — para a codificação de caracteres não-ASCII. No entanto, esses padrões de codificação de caracteres devem ser preteridos em favor dos padrões de codificação Unicode. Todos os principais sistemas operacionais tendem a adotar o Unicode por padrão.

As configurações de localidade de todo o sistema são definidas no arquivo /etc/locale.conf. A variável LANG e outras variáveis relacionadas à localidade são atribuídas neste arquivo como uma variável de shell comum, por exemplo:

$ cat /etc/locale.conf
LANG=pt_BR.UTF-8

Os usuários podem empregar uma configuração de localidade personalizada redefinindo a variável de ambiente LANG. Isso pode ser feito apenas para a sessão atual ou para sessões futuras, adicionando a nova definição ao perfil Bash do usuário em ~/.bash_profile ou ~/.profile. Entretanto, até que o usuário efetue login, a localidade padrão do sistema ainda será usada por programas independentes do usuário, como a tela de login do gerenciador de exibição.

Tip

O comando localectl, disponível em sistemas que empregam o systemd como gerenciador de sistema, também pode ser usado para consultar e alterar a localidade do sistema. Por exemplo: localectl set-locale LANG=en_US.UTF-8.

Além da variável LANG, outras variáveis de ambiente afetam aspectos específicos da localidade, como o símbolo monetário ou o separador de milhar correto para números:

LC_COLLATE

Define a ordem alfabética. Uma de suas finalidades é definir a ordem em que os arquivos e diretórios são listados.

LC_CTYPE

Define como o sistema tratará certos conjuntos de caracteres. Ele define, por exemplo, quais caracteres considerar como maiúsculas ou minúsculas.

LC_MESSAGES

Define o idioma para exibir as mensagens de programas (principalmente programas do GNU).

LC_MONETARY

Define a unidade monetária e o formato da moeda.

LC_NUMERIC

Define o formato numérico para valores não-monetários. Sua finalidade principal é definir os separadores de milhar e decimais.

LC_TIME

Define o formato de hora e data.

LC_PAPER

Define o tamanho padrão do papel.

LC_ALL

Sobrepõe todas as outras variáveis, incluindo LANG.

O comando locale mostra todas as variáveis definidas na configuração de localidade atual:

$ locale
LANG=pt_BR.UTF-8
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY=pt_BR.UTF-8
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_ALL=

A única variável indefinida é LC_ALL, que pode ser usada para substituir temporariamente todas as outras configurações locais. O exemplo a seguir mostra como o comando date — sendo executado em um sistema configurado para a localidade pt_BR.UTF-8 — modifica sua saída de forma a cumprir a nova variável LC_ALL:

$ date
seg out 21 10:45:21 -03 2019
$ env LC_ALL=en_US.UTF-8 date
Mon Oct 21 10:45:21 -03 2019

A modificação da variável LC_ALL fez com que ambas as abreviações de dia da semana e nome do mês fossem mostradas em inglês americano (en_US). Não é obrigatório, entretanto, definir a mesma localidade para todas as variáveis. É possível, por exemplo, ter a linguagem definida como pt_BR e o formato numérico (LC_NUMERIC) no padrão americano.

Algumas configurações de localização alteram a forma como os programas lidam com a ordem alfabética e formatos de numeração. Embora os programas convencionais geralmente sejam capazes de escolher corretamente uma localidade comum para essas situações, os scripts podem se comportar de forma inesperada ao tentar ordenar corretamente uma lista de itens em ordem alfabética, por exemplo. Por este motivo, recomenda-se definir a variável de ambiente LANG para a localidade comum C, como em LANG=C, para que o script produza resultados inequívocos, independentemente das definições de localização usadas no sistema onde é executado. A localidade C realiza apenas uma comparação simples de bytes e, portanto, também terá um desempenho melhor do que as outras.

Conversão de codificação

Um texto pode aparecer com caracteres ilegíveis quando exibido em um sistema com uma configuração de codificação de caracteres diferente do sistema onde o texto foi criado. O comando iconv ajuda a resolver este problema, convertendo o arquivo de sua codificação de caracteres original para a desejada. Por exemplo, para converter um arquivo de nome original.txt da codificação ISO-8859-1 no arquivo converted.txt utilizando a codificação UTF-8, o seguinte comando pode ser usado:

$ iconv -f ISO-8859-1 -t UTF-8 original.txt > converted.txt

A opção -f ISO-8859-1 (ou --from-code=ISO-8859-1) define a codificação do arquivo original e a opção -t UTF-8 (ou --to-code=UTF-8) define a codificação do arquivo convertido. Para listar todas as codificações suportadas pelo comando iconv, usamos o comando iconv -l ou iconv --list. Ao invés de usar o redirecionamento de saída, como no exemplo, a opção -o converted.txt ou --output converted.txt também faz o serviço.

Exercícios Guiados

  1. Com base na seguinte saída do comando date, qual é o fuso horário do sistema na notação GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019
  2. Para qual arquivo o link simbólico /etc/localtime deve apontar a fim de tornar Europe/Brussels o fuso horário local padrão do sistema?

  3. Os caracteres dos arquivos de texto podem não ser exibidos corretamente em um sistema com uma codificação de caracteres diferente da usada na criação do documento de texto. Como o iconv pode ser usado para converter o arquivo old.txt, codificado em WINDOWS-1252, no arquivo new.txt, que usa a codificação UTF-8?

Exercícios Exploratórios

  1. Qual comando tornará Pacific/Auckland o fuso horário padrão para a sessão do shell atual?

  2. O comando uptime mostra, entre outras coisas, a carga média do sistema em números fracionários. Ele usa as configurações de localidade atuais para decidir se o separador de casas decimais deve ser um ponto ou uma vírgula. Se, por exemplo, o local atual estiver definido como de_DE.UTF-8 (o local padrão da Alemanha), o uptime usará uma vírgula como separador. Sabendo que no idioma inglês americano o ponto é usado como separador, qual comando fará com que o uptime exiba as frações usando um ponto ao invés de uma vírgula no resto da sessão atual?

  3. O comando iconv substitui todos os caracteres que não pertencem ao conjunto de caracteres de destino por um ponto de interrogação. Se //TRANSLIT for anexado à codificação de destino, os caracteres não representados no conjunto de caracteres de destino serão substituídos (transliterados) por um ou mais caracteres de aparência semelhante. Como esse método pode ser usado para converter um arquivo de texto UTF-8 chamado readme.txt em um arquivo ASCII simples chamado ascii.txt?

Resumo

Esta lição aborda a maneira de configurar um sistema Linux para trabalhar com idiomas e configurações de data e hora personalizadas. Também abordamos conceitos e configurações de codificação de caracteres, fundamentais para exibir corretamente o conteúdo de texto. A lição abrange os seguintes tópicos:

  • Como os sistemas Linux selecionam o idioma para exibir as mensagens do shell.

  • Compreender como os fusos horários afetam a hora local.

  • Como identificar o fuso horário apropriado e modificar as configurações do sistema de acordo.

  • O que são as codificações de caracteres e como converter entre elas.

Os comandos e procedimentos abordados foram:

  • Variáveis de ambiente relacionadas a localidade e tempo, como LC_ALL, LANG e TZ.

  • /etc/timezone

  • /etc/localtime

  • /usr/share/zoneinfo/

  • locale

  • tzselect

  • timedatectl

  • date

  • iconv

Respostas aos Exercícios Guiados

  1. Com base na seguinte saída do comando date, qual é o fuso horário do sistema na notação GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019

    Trata-se do fuso horário Etc/GMT+5.

  2. Para qual arquivo o link simbólico /etc/localtime deve apontar a fim de tornar Europe/Brussels o fuso horário local padrão do sistema?

    O link /etc/localtime deve apontar para /usr/share/zoneinfo/Europe/Brussels.

  3. Os caracteres dos arquivos de texto podem não ser exibidos corretamente em um sistema com uma codificação de caracteres diferente da usada na criação do documento de texto. Como o iconv pode ser usado para converter o arquivo old.txt, codificado em WINDOWS-1252, no arquivo new.txt, que usa a codificação UTF-8?

    O comando iconv -f WINDOWS-1252 -t UTF-8 -o new.txt old.txt realizará a conversão desejada.

Respostas aos Exercícios Exploratórios

  1. Qual comando tornará Pacific/Auckland o fuso horário padrão para a sessão do shell atual?

    export TZ=Pacific/Auckland

  2. O comando uptime mostra, entre outras coisas, a carga média do sistema em números fracionários. Ele usa as configurações de localidade atuais para decidir se o separador de casas decimais deve ser um ponto ou uma vírgula. Se, por exemplo, o local atual estiver definido como de_DE.UTF-8 (o local padrão da Alemanha), o uptime usará uma vírgula como separador. Sabendo que no idioma inglês americano o ponto é usado como separador, qual comando fará com que o uptime exiba as frações usando um ponto ao invés de uma vírgula no resto da sessão atual?

    O comando export LC_NUMERIC=en_US.UTF-8 ou export LC_ALL=en_US.UTF-8.

  3. O comando iconv substitui todos os caracteres que não pertencem ao conjunto de caracteres de destino por um ponto de interrogação. Se //TRANSLIT for anexado à codificação de destino, os caracteres não representados no conjunto de caracteres de destino serão substituídos (transliterados) por um ou mais caracteres de aparência semelhante. Como esse método pode ser usado para converter um arquivo de texto UTF-8 chamado readme.txt em um arquivo ASCII simples chamado ascii.txt?

    O comando iconv -f UTF-8 -t ASCII//TRANSLIT -o ascii.txt readme.txt realizará a conversão desejada.

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

Próxima Lição

108.1 Manutenção da data e hora do sistema (108.1 Lição 1)

Ir para a próxima lição

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

A LPI é uma organização sem fins lucrativos.

© 2023 O Linux Professional Institute (LPI) é um organismo de apoio aos profissionais de Open Source e referência mundial em certificação. Com mais de 200.000 pessoas certificadas, somos o principal organismo de certificação independente para Linux e Open Source do mundo. O LPI certificou profissionais de mais de 180 países, oferece exames em diversos idiomas e tem centenas de parcerias de formação em todo o globo.

Nossa missão é proporcionar oportunidades econômicas e criativas para todos, tornando universalmente acessível a certificação de conhecimentos e competências em matéria de Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Entre em Contato
  • Política de Privacidade e Cookies

Encontrou um erro ou quer ajudar a aprimorar esta página? Escreva pra nós.

© 1999–2023 The Linux Professional Institute Inc. Todos os direitos reservados.