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
3.1 Lição 1
Tópico 1: A comunidade Linux e a carreira Open Source
1.1 A evolução do Linux e sistemas operacionais populares
  • 1.1 Lição 1
1.2 Principais Aplicações Open Source
  • 1.2 Lição 1
1.3 Entendendo o Software Open Source e suas Licenças
  • 1.3 Lição 1
1.4 Habilidades ICT e trabalhando no Linux
  • 1.4 Lição 1
Tópico 2: Encontrando seu caminho em um Sistema Linux
2.1 O básico sobre a linha de comando
  • 2.1 Lição 1
  • 2.1 Lição 2
2.2 Usando a linha de comando para conseguir ajuda
  • 2.2 Lição 1
2.3 Usando diretórios e listando arquivos
  • 2.3 Lição 1
  • 2.3 Lição 2
2.4 Criando, Movendo e Deletando Arquivos
  • 2.4 Lição 1
Tópico 3: O Poder da Linha de Comando
3.1 Empacotando arquivos na linha de comando
  • 3.1 Lição 1
3.2 Pesquisando e extraindo dados de arquivos
  • 3.2 Lição 1
  • 3.2 Lição 2
3.3 Transformando comandos em Scripts
  • 3.3 Lição 1
  • 3.3 Lição 2
Tópico 4: O Sistema Operacional Linux
4.1 Escolhendo um Sistema Operacional
  • 4.1 Lição 1
4.2 Entendendo o Hardware do Computador
  • 4.2 Lição 1
4.3 Onde os dados são armazenados
  • 4.3 Lição 1
  • 4.3 Lição 2
4.4 Seu Computador na Rede
  • 4.4 Lição 1
Tópico 5: Segurança e Permissões de Arquivos
5.1 Segurança Básica e Identificação de Tipos de Usuários
  • 5.1 Lição 1
5.2 Criando Usuários e Grupos
  • 5.2 Lição 1
5.3 Gerenciando permissões e donos de arquivos
  • 5.3 Lição 1
5.4 Diretórios e arquivos especiais
  • 5.4 Lição 1
How to get certified
  1. Tópico 3: O Poder da Linha de Comando
  2. 3.1 Empacotando arquivos na linha de comando
  3. 3.1 Lição 1

3.1 Lição 1

Certificate:

Linux Essentials

Version:

1.6

Topic:

3 O poder da linha de comando

Objective:

3.1 Como comprimir arquivos com a linha de comando

Lesson:

1 of 1

Introdução

A compressão é usada para reduzir a quantidade de espaço que um conjunto específico de dados consome. Em geral, recorremos a ela para reduzir a quantidade de espaço necessária para armazenar um arquivo. Outro uso comum é reduzir a quantidade de dados enviados através de uma conexão de rede.

A compressão substitui os padrões repetitivos presentes nos dados. Imagine um romance. Algumas palavras são extremamente comuns, mas têm mais de um caractere, como a palavra “mas”. É possível reduzir bastante o tamanho do romance substituindo essas palavras comuns com vários caracteres por outras formadas por um único caractere - por exemplo, substituindo “mas” por uma letra grega que não é usada em nenhuma outra parte do texto. Os algoritmos de compressão de dados funcionam de maneira semelhante, mas mais complexa.

Há duas variedades de compressão: sem perda e com perda. Os arquivos comprimidos com um algoritmo sem perda podem ser descomprimidos em sua forma original. Já os dados comprimidos com um algoritmo com perda não podem ser recuperados. Os algoritmos com perda são frequentemente usados para imagens, vídeos e áudios em que a perda de qualidade é imperceptível para os seres humanos, irrelevante para o contexto, ou em que a economia de espaço e de taxa de transferência de rede compensam a perda.

Usamos ferramentas de empacotamento para agrupar arquivos e diretórios em um único arquivo. Alguns usos comuns são backups, empacotamento de código-fonte de software e retenção de dados.

O empacotamento e a compressão são comumente usados juntos. Algumas ferramentas de empacotamento também comprimem seu conteúdo por padrão. Outras trazem a opção de comprimir o conteúdo. Algumas ferramentas de empacotamento devem ser usadas em conjunto com ferramentas de compressão independentes, caso se deseje comprimir o conteúdo.

A ferramenta mais comum para empacotar arquivos em sistemas Linux é o tar. A maioria das distribuições Linux é fornecida com a versão GNU do tar, e por isso a usaremos nesta lição. O tar, por si só, gerencia o empacotamento de arquivos, mas não os comprime.

Existem muitas ferramentas de compressão disponíveis no Linux. Dentre as sem perdas, encontramos comumente bzip2, gzip e xz. As três estão presentes na maioria dos sistemas. Em sistemas antigos ou muito minimalistas, o xz ou o bzip talvez não estejam instalados. Se você se tornar um usuário regular do Linux, provavelmente vai encontrar arquivos comprimidos com todas as três. Elas usam algoritmos diferentes; portanto, um arquivo comprimido com uma ferramenta não pode ser descomprimido por outra. As ferramentas de compressão exigem uma escolha: se você deseja uma alta taxa de compressão, levará mais tempo para comprimir e descomprimir o arquivo. Isso ocorre porque uma compressão mais alta demanda mais trabalho para encontrar padrões mais complexos. Todas essas ferramentas comprimem dados, mas não podem criar pacotes contendo vários arquivos.

Ferramentas exclusivas para compressão não costumam estar disponíveis nos sistemas Windows. As ferramentas de empacotamento e compressão do Windows geralmente são agrupadas. Lembre-se disso caso possua sistemas Linux e Windows que precisam compartilhar arquivos.

Os sistemas Linux também trazem ferramentas para lidar com os arquivos .zip, comumente usados no sistema Windows. Elas se chamam zip e unzip. Essas ferramentas não vêm instaladas por padrão em todos os sistemas; se você precisar delas, poderá ser necessário instalá-las. Felizmente, elas costumam estar presentes nos repositórios de pacotes das distribuições.

Ferramentas de compressão

A quantidade de espaço em disco economizada pela compressão de arquivos depende de alguns fatores: a natureza dos dados que estão sendo comprimidos, o algoritmo usado para comprimir os dados e o nível de compressão. Nem todos os algoritmos suportam níveis de compressão diferentes.

Vamos começar preparando alguns arquivos de teste para comprimir:

$ mkdir ~/linux_essentials-3.1
$ cd ~/linux_essentials-3.1
$ mkdir compression archiving
$ cd compression
$ cat /etc/* > bigfile 2> /dev/null

Agora, criamos três cópias desse arquivo:

$ cp bigfile bigfile2
$ cp bigfile bigfile3
$ cp bigfile bigfile4
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile3
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile4

Em seguida vamos comprimir os arquivos com cada uma das ferramentas de compressão mencionadas:

$ bzip2 bigfile2
$ gzip bigfile3
$ xz bigfile4
$ ls -lh
total 1.2M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 170K Jun 23 08:08 bigfile2.bz2
-rw-r--r-- 1 emma emma 179K Jun 23 08:08 bigfile3.gz
-rw-r--r-- 1 emma emma 144K Jun 23 08:08 bigfile4.xz

Compare o tamanho dos arquivos comprimidos com o arquivo descomprimido chamado bigfile. Observe também como as ferramentas de compressão adicionaram extensões aos nomes dos arquivos e removeram os arquivos não comprimidos.

Use bunzip2, gunzip ou unxz para descomprimir os arquivos:

$ bunzip2 bigfile2.bz2
$ gunzip bigfile3.gz
$ unxz bigfile4.xz
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile3
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile4

Observe que, desta vez, o arquivo comprimido foi excluído depois de descomprimido.

Certas ferramentas permitem diferentes níveis de compressão. Um nível de compressão mais alto geralmente requer mais memória e ciclos de CPU, mas resulta em um arquivo comprimido menor. O oposto é verdadeiro para um nível mais baixo. Veja abaixo uma demonstração com xz e gzip:

$ cp bigfile bigfile-gz1
$ cp bigfile bigfile-gz9
$ gzip -1 bigfile-gz1
$ gzip -9 bigfile-gz9
$ cp bigfile bigfile-xz1
$ cp bigfile bigfile-xz9
$ xz -1 bigfile bigfile-xz1
$ xz -9 bigfile bigfile-xz9
$ ls -lh bigfile bigfile-* *
total 3.5M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 205K Jun 23 13:14 bigfile-gz1.gz
-rw-r--r-- 1 emma emma 178K Jun 23 13:14 bigfile-gz9.gz
-rw-r--r-- 1 emma emma 156K Jun 23 08:08 bigfile-xz1.xz
-rw-r--r-- 1 emma emma 143K Jun 23 08:08 bigfile-xz9.xz

Não é necessário descomprimir um arquivo toda vez que ele for usado. As ferramentas de compressão geralmente vêm com versões especiais de ferramentas comuns usadas para ler arquivos de texto. Por exemplo, o gzip tem uma versão de cat, grep, diff, less, more e algumas outras. No gzip, as ferramentas são prefixadas com um z, enquanto o prefixo bz existe para o bzip2 e xz para o xz. Veja abaixo um exemplo do uso de zcat para ler um arquivo compactado com gzip:

$ cp /etc/hosts ./
$ gzip hosts
$ zcat hosts.gz
127.0.0.1	localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Ferramentas de empacotamento

O programa tar é provavelmente a ferramenta de empacotamento mais usada nos sistemas Linux. Caso você esteja se perguntando por que ela tem esse nome, trata-se de uma abreviação de “tape archive” (arquivo de fita). Os arquivos criados com o tar são apelidados de tar balls. É muito comum que aplicativos distribuídos na forma de código-fonte estejam em tar balls.

A versão GNU do tar incluída nas distribuições Linux tem muitas opções. Esta lição abordará o subconjunto mais usado.

Vamos começar criando um pacote com os arquivos usados para a compressão:

$ cd ~/linux_essentials-3.1
$ tar cf archiving/3.1.tar compression

A opção c instrui o tar a criar um novo arquivo e a opção f é o nome do arquivo a ser criado. O argumento imediatamente após as opções sempre será o nome do arquivo no qual trabalhar. O restante dos argumentos são os caminhos para quaisquer arquivos ou diretórios que você deseje adicionar, listar ou extrair do arquivo. No exemplo, adicionamos o diretório compression e todo o seu conteúdo ao pacote.

Para visualizar o conteúdo de um tar ball, use a opção t do tar:

$ tar -tf 3.1.tar
compression/
compression/bigfile-xz1.xz
compression/bigfile-gz9.gz
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile-gz1.gz
compression/bigfile-xz9.xz
compression/bigfile3
compression/bigfile4

Note que as opções são precedidas por -. Ao contrário da maioria dos programas, com o tar o - não é necessário ao especificar opções, embora não cause nenhum dano se for usado.

Note

Use a opção -v para permitir que o tar exiba o nome dos arquivos nos quais opera ao criar ou extrair um pacote.

Agora vamos extrair o arquivo:

$ cd ~/linux_essentials-3.1/archiving
$ ls
3.1.tar
$ tar xf 3.1.tar
$ ls
3.1.tar  compression

Suponha que você precise apenas de um arquivo que esteja no pacote. Se for esse o caso, você pode especificá-lo após o nome de arquivo do pacote. É possível especificar vários arquivos, se necessário:

$ cd ~/linux_essentials-3.1/archiving
$ rm -rf compression
$ ls
3.1.tar
$ tar xvf 3.1.tar compression/hosts.gz
compression/
compression/bigfile-xz1.xz
compression/bigfile-gz9.gz
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile-gz1.gz
compression/bigfile-xz9.xz
compression/bigfile3
compression/bigfile4
$ ls
3.1.tar  compression
$ ls compression
hosts.gz

Com exceção dos caminhos absolutos (caminhos começando com /), os arquivos tar preservam todo o caminho dos arquivos quando eles são criados. Como o arquivo 3.1.tar foi criado com um único diretório, esse diretório será criado em relação ao seu diretório de trabalho atual quando for extraído. Para que isso fique mais claro, eis outro exemplo:

$ cd ~/linux_essentials-3.1/archiving
$ rm -rf compression
$ cd ../compression
$ tar cf ../tar/3.1-nodir.tar *
$ cd ../archiving
$ mkdir untar
$ cd untar
$ tar -xf ../3.1-nodir.tar
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz
Tip

Caso queira usar o caminho absoluto em um arquivo tar, é necessário empregar a opção P. Esteja ciente de que isso pode sobrescrever arquivos importantes e causar erros no sistema.

O programa tar também pode gerenciar a compressão e descompressão de arquivos em tempo real. Para isso, o tar chama uma das ferramentas de compressão discutidas anteriormente nesta seção. Basta adicionar a opção apropriada ao algoritmo de compressão. As mais usadas são j, J e z para bzip2, xz e gzip, respectivamente. Eis alguns exemplos usando os algoritmos mencionados acima:

$ cd ~/linux_essentials-3.1/compression
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz
$ tar -czf gzip.tar.gz bigfile bigfile2 bigfile3
$ tar -cjf bzip2.tar.bz2 bigfile bigfile2 bigfile3
$ tar -cJf xz.tar.xz bigfile bigfile2 bigfile3
$ ls -l | grep tar
-rw-r--r-- 1 emma emma  450202 Jun 27 05:56 bzip2.tar.bz2
-rw-r--r-- 1 emma emma  548656 Jun 27 05:55 gzip.tar.gz
-rw-r--r-- 1 emma emma  147068 Jun 27 05:56 xz.tar.xz

Observe como, no exemplo, os arquivos .tar têm tamanhos diferentes. Isso mostra que foram compactados com sucesso. Ao criar arquivos compactados .tar, sempre se deve adicionar uma segunda extensão de arquivo indicando o algoritmo usado. Elas são .xz, .bz e .gz para xz, bzip2 e gzip, respectivamente. Às vezes, usam-se extensões encurtadas, como .tgz.

É possível adicionar arquivos a pacotes tar não comprimidos já existentes. Para isso, usamos a opção u. Se você tentar adicionar arquivos a um arquivo comprimido, aparecerá uma mensagem de erro.

$ cd ~/linux_essentials-3.1/compression
$ ls
bigfile   bigfile3  bigfile-gz1.gz  bigfile-xz1.xz  bzip2.tar.bz2  hosts.gz
bigfile2  bigfile4  bigfile-gz9.gz  bigfile-xz9.xz  gzip.tar.gz    xz.tar.xz
$ tar cf plain.tar bigfile bigfile2 bigfile3
$ tar tf plain.tar
bigfile
bigfile2
bigfile3
$ tar uf plain.tar bigfile4
$ tar tf plain.tar
bigfile
bigfile2
bigfile3
bigfile4
$ tar uzf gzip.tar.gz bigfile4
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.

Gerenciando arquivos ZIP

As máquinas Windows geralmente não têm aplicativos para lidar com tar balls ou muitas das ferramentas de compressão comumente encontradas nos sistemas Linux. Se você precisar interagir com sistemas Windows, é aconselhável usar arquivos ZIP. Um arquivo ZIP é um pacote semelhante a um arquivo tar compactado.

Os programas zip e unzip servem para trabalhar com arquivos ZIP em sistemas Linux. O exemplo abaixo mostra todo o necessário para você começar a usá-los. Primeiro, criamos um conjunto de arquivos:

$ cd ~/linux_essentials-3.1
$ mkdir zip
$ cd zip/
$ mkdir dir
$ touch dir/file1 dir/file2

Em seguida, usamos zip para comprimir esses arquivos em um arquivo ZIP:

$ zip -r zipfile.zip dir
  adding: dir/ (stored 0%)
  adding: dir/file1 (stored 0%)
  adding: dir/file2 (stored 0%)
$ rm -rf dir

Por fim, descompactamos o arquivo ZIP novamente:

$ ls
zipfile.zip
$ unzip zipfile.zip
Archive:  zipfile.zip
   creating: dir/
 extracting: dir/file1
 extracting: dir/file2
$ find
.
./zipfile.zip
./dir
./dir/file1
./dir/file2

Ao adicionar diretórios aos arquivos ZIP, a opção -r faz com que o zip inclua o conteúdo desses diretórios. Sem ele, teríamos um diretório vazio no arquivo ZIP.

Exercícios Guiados

  1. Com base nas extensões, quais das seguintes ferramentas foram usadas para criar estes arquivos?

    Nome do Arquivo tar gzip bzip2 xz

    archive.tar

    archive.tgz

    archive.tar.xz

  2. Com base nas extensões, quais destes arquivos estão empacotados e quais estão comprimidos?

    Nome do Arquivo Empacotado Comprimido

    file.tar

    file.tar.bz2

    file.zip

    file.xz

  3. Como se adiciona um arquivo a um arquivo tar comprimido com gzip?

  4. Qual opção de tar instrui o tar a incluir o caractere inicial / nos caminhos absolutos?

  5. O zip suporta diferentes níveis de compressão?

Exercícios Exploratórios

  1. Ao extrair arquivos, o tar suporta globs na lista de arquivos?

  2. Como garantir que um arquivo descomprimido fique igual ao arquivo antes da compressão?

  3. O que acontece quando tentamos extrair de um pacote tar um arquivo que já existe em seu sistema de arquivos?

  4. Como extrair o arquivo archive.tgz sem usar a opção tar z?

Resumo

Os sistemas Linux oferecem diversas ferramentas de compressão e empacotamento. Esta lição abordou as mais comuns. A ferramenta de empacotamento mais comum é o tar. Se for necessário interagir com sistemas Windows, zip e unzip ajudam a criar e extrair arquivos ZIP.

O comando tar tem algumas opções que vale a pena memorizar. Elas são: x para extrair, c para criar, t para visualizar o conteúdo e u para adicionar ou substituir arquivos. A opção v lista os arquivos que são processados pelo tar ao criar ou extrair um arquivo.

O repositório típico de uma distribuição Linux inclui muitas ferramentas de compressão. As mais comuns são gzip, bzip2 e xz. Os algoritmos de compressão geralmente oferecem suporte a diferentes níveis de compressão para otimizar a velocidade ou o tamanho do arquivo. Os arquivos podem ser descomprimidos com gunzip, bunzip2 e unxz.

As ferramentas de compressão geralmente têm programas que se comportam como ferramentas comuns para arquivos de texto, com a diferença de que funcionam em arquivos comprimidos. Dentre eles temos o zcat, bzcat e xzcat. As ferramentas de compressão costumam vir com programas com as funcionalidades grep, more, less, diff e cmp.

Comandos usados nos exercícios:

bunzip2

Descomprime um arquivo comprimido bzip2.

bzcat

Exibe o conteúdo de um arquivo comprimido bzip.

bzip2

Comprime arquivos usando o algoritmo e o formato bzip2.

gunzip

Descomprime um arquivo comprimido gzip.

gzip

Comprime arquivos usando o algoritmo e o formato gzip.

tar

Cria, atualiza, lista e extrai pacotes tar.

unxz

Descomprime um arquivo comprimido xz.

unzip

Descomprime e extrai conteúdo de um arquivo ZIP.

xz Comprime arquivos usando o algoritmo e o formato xz.

zcat

Exibe o conteúdo de um arquivo comprimido gzip.

zip

Cria e comprime pacotes ZIP.

Respostas aos Exercícios Guiados

  1. Com base nas extensões, quais das seguintes ferramentas foram usadas para criar estes arquivos?

    Nome do Arquivo tar gzip bzip2 xz

    archive.tar

    X

    archive.tgz

    X

    X

    archive.tar.xz

    X

    X

  2. Com base nas extensões, quais destes arquivos estão empacotados e quais estão comprimidos?

    Nome do Arquivo Empacotado Comprimido

    file.tar

    X

    file.tar.bz2

    X

    X

    file.zip

    X

    X

    file.xz

    X

  3. Como se adiciona um arquivo a um arquivo tar comprimido com gzip?

    Descomprimimos o arquivo com gunzip, adicionamos o arquivo com tar uf e em seguida o comprimimos com gzip

  4. Qual opção de tar instrui o tar a incluir o caractere inicial / nos caminhos absolutos?

    A opção -P. Segundo a página man:

    -P, --absolute-names
            Don't strip leading slashes from file names when creating  archives
  5. O zip suporta diferentes níveis de compressão?

    Sim. Usaríamos -#, substituindo # por um número de 0-9. Segundo a página man:

    -#
    (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9)
           Regula a velocidade da compressão usando o dígito especificado #, onde -0 indica sem compressão (armazena todos os arquivos), -1 indica a velocidade de compressão mais rápida (menos compressão) e -9 indica a velocidade de compressão mais lenta (compressão ideal, ignora a lista de sufixos). O nível de compressão padrão é -6.
    
           Embora ainda esteja sendo trabalhada, a intenção é que essa configuração controle a velocidade de compressão para todos os métodos de compressão. Atualmente, apenas a deflação é controlada.

Respostas aos Exercícios Exploratórios

  1. Ao extrair arquivos, o tar suporta globs na lista de arquivos?

    Sim, com a opção --wildcards. --wildcards deve ser colocado logo após o arquivo tar ao se usar o estilo de opções sem hífen. Por exemplo:

    $ tar xf tarfile.tar --wildcards dir/file*
    $ tar --wildcards -xf tarfile.tar dir/file*
  2. Como garantir que um arquivo descomprimido fique igual ao arquivo antes da compressão?

    Não é preciso fazer nada com as ferramentas mostradas nesta lição. As três incluem somas de controle no formato de arquivo, que são verificadas quando eles são descomprimidos.

  3. O que acontece quando tentamos extrair de um pacote tar um arquivo que já existe em seu sistema de arquivos?

    O arquivo no sistema de arquivos é sobrescrito com a versão que está no arquivo tar.

  4. Como extrair o arquivo archive.tgz sem usar a opção tar z?

    Seria preciso descomprimi-lo antes com o gunzip.

    $ gunzip archive.tgz
    $ tar xf archive.tar

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

3.2 Pesquisando e extraindo dados de arquivos (3.2 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.