O que é Windows Subsystem for Linux (WSL)? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 09 Horas 

 19 Min 

 13 Seg 

   Tempo restante da oferta: 09 19 13 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é Windows Subsystem for Linux (WSL)?  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

# O que é Windows Subsystem for Linux (WSL)?

 Nesse artigo vamos aprender o que é o Windows Subsystem for Linux (WSL), quais as suas funcionalidades, seu público alvo e como ele pode ser instalado no Windows 10.

 [ Gabriel Machado ](https://www.treinaweb.com.br/blog/autor/gabriel-machado) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/03165949/WINDOWS-LINUX.png)  

Durante nosso dia a dia como desenvolvedores usamos diversas ferramentas pela linha de comando. Podemos utilizar git para versionar nossos projetos, instalar dependências com npm ou executar scripts para automatizar tarefas. Algumas dessas ferramentas são compatíveis com diversos sistemas operacionais, porém algumas delas são criadas levando em consideração somente o sistema Linux, não levando em conta as particularidades para serem executadas no Windows.

Como não é viável tornar todas as ferramentas compatíveis tanto com Windows como Linux, por que não tornar o Windows compatível com essas ferramentas? O Windows Subsystem for Linux (WSL) vem para resolver esse problema.

[  ![Windows - Fundamentos para desenvolvedores](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/windows-server.svg)   Curso Windows - Fundamentos para desenvolvedores Conhecer o curso ](https://www.treinaweb.com.br/curso/windows-fundamentos-para-desenvolvedores)

## Como o WSL funciona?

O WSL é um recurso opcional disponível no Windows 10 (a partir da versão 1607) que te permite executar binários e scripts em Linux diretamente no Windows, traduzindo as instruções enviadas para o sistema (as [chamadas de sistema](https://pt.wikipedia.org/wiki/Chamada_de_sistema) ou system calls) para uma instrução válida para o kernel do Windows. Com ele é possível ter um ambiente idêntico a de uma distribuição Linux que você já esteja acostumado sem precisar usar uma máquina virtual ou algo do tipo para isso.

O WSL permite que você instale múltiplas distribuições Linux na sua máquina, cada qual com uma estrutura de arquivos isolada e independente do sistema e de outras distribuições, similar com o que ocorre com uma máquina virtual.

## Instalação

É possível habilitar o WSL executando o comando abaixo a partir de uma janela do PowerShell com permissão de Administrador:

```
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

```

Após reiniciar sua máquina você pode instalar uma versão da sua distribuição preferida a partir da Microsoft Store. Digite Linux na barra de busca e você encontrará várias distribuições como Ubuntu, Debian, Suse e até o Kali Linux.

![Distribuições disponíveis na Microsoft Store](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02230932/01_store.png)

Após instalar e executar o aplicativo da distribuição desejada, é solicitado que você crie um usuário e senha para usar como o sudo da sua distribuição. Como exemplo, escolhi o Ubuntu 18.04 como a distribuição na minha máquina e criei um usuário chamado treinaweb:

![Configuração do Ubuntu 18.04](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231036/06_treina.png)

Você pode encontrar no menu iniciar a distribuição instalada para usá-la posteriormente, digitando na barra de busca o nome da distribuição. Você pode fixar esse atalho na barra de tarefas, no iniciar ou na área de trabalho se desejar.

![Ubuntu 18.04 no menu iniciar](https://dkrn4sk0rn31v.cloudfront.net/2019/07/03163750/whereis.png)

## Funcionalidades

Ao contrário de uma máquina virtual, o WSL é integrado com o sistema, permitindo o acesso dos arquivos tanto do sistema como os arquivos da distribuição. Dentro da distribuição os discos da sua máquina estão mapeados dentro do diretório `/mnt/` e no Windows os arquivos da distribuição estão no caminho de rede `\\\\wsl$`

![Arquivos do Windows dentro do WSL](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231121/filesystem.png)

![Arquivos da distribuição como caminho de rede](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231121/fileshare.png)

Com o utilitário `wslpath` é possível converter os caminhos de diretório entre o WSL e Windows e vice-versa.

![Exemplo wslpath](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231122/path.png)

É possível também utilizar executáveis do Linux dentro do PowerShell ou Prompt de comando diretamente com `wsl` e até mesmo rodar executáveis do Windows dentro do WSL.

![Executáveis do Windows junto com binários Linux](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231120/exe.png)

Outro uso comum é utilizar o WSL como ambiente de desenvolvimento web. Tanto o sistema como o WSL compartilham o mesmo IP de rede, logo para acessar o servidor web do seu ambiente basta utilizar `localhost` e informar a porta que você deseja acessar.

![Servidor interno do PHP rodando no WSL](https://dkrn4sk0rn31v.cloudfront.net/2019/07/02231120/08.png)

Vale lembrar que o WSL não substitui completamente uma máquina virtual. O público alvo do WSL são desenvolvedores que precisam executar ferramentas em linha de comando. Aplicações que usam a interface gráfica não são compatíveis com o WSL.

Aplicativos que invocam funções nativas do kernel do Linux também não são compatíveis com o WSL, como por exemplo, o Docker. Nesses casos uma máquina virtual ou o Docker for Desktop podem ser melhores soluções.

## O que vem por aí

O WSL se mostrou até agora uma alternativa interessante para quem precisa executar ferramentas e aplicações Linux dentro do Windows de forma leve e integrada. Entretanto, na sua versão atual o WSL não tem compatibilidade total com as funções do kernel do Linux e com aplicações que fazem uso intenso de disco existe um gargalo no desempenho de leitura de disco se comparado com outras soluções.

Tendo isso em vista a Microsoft anunciou o WSL 2, uma nova versão que promete compatibilidade total com o kernel do Linux e performance de disco mais rápida. Para que isso seja possível o WSL 2 contará com o próprio kernel do Linux distribuído dentro do Windows ao invés de uma camada de tradução de system calls! O código do kernel utilizado é baseado na versão 4.19 e pode ser [encontrado aqui](https://github.com/microsoft/WSL2-Linux-Kernel).

O WSL 2 ainda está [em desenvolvimento](https://devblogs.microsoft.com/commandline/wsl-2-is-now-available-in-windows-insiders/), disponível somente a partir do build 18917 do Windows Insider.

- [ #windows ](https://www.treinaweb.com.br/blog/tag/windows)
- [ #WSL ](https://www.treinaweb.com.br/blog/tag/wsl)
- [ #linux ](https://www.treinaweb.com.br/blog/tag/linux)

Autor

 ![Gabriel Machado](//secure.gravatar.com/avatar/411cd028754ca7f6e6dd7a06d87b883c?d=mm)

## Gabriel Machado

 Autor dos cursos de cloud computing da TreinaWeb. Graduado em Gestão de TI pela FATEC e quase bacharel em Sistemas de Informação pela UFSCar. Tem experiência em desenvolvimento backend com PHP, mas se encontrou trabalhando com DevOps. [Microsoft Certified: DevOps Engineer Expert](https://www.youracclaim.com/badges/8e06b17f-b5bb-42f5-9bda-e9b542050f1a/public_url), [Azure Solutions Architect Expert](https://www.youracclaim.com/badges/18364536-29fe-49ad-9afd-f4b5193b2e5b/public_url) e [Azure Data Engineer Associate](https://www.youracclaim.com/badges/c3e135d4-5f2f-4360-8739-c3002e713e77/public_url), [AWS Certified Solutions Architect - Associate](https://www.youracclaim.com/badges/5f9675e2-6662-4ce6-824b-5694955d3f5d/public_url), e [Zend Certified Engineer (ZCE)](https://www.zend.com/en/yellow-pages/ZEND026022). [@gmsantos](https://about.me/gmsantos) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/gabriel-machado)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/04160146/WSL-2-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ O que esperar do Windows Subsystem for Linux (WSL) 2 ](https://www.treinaweb.com.br/blog/o-que-esperar-do-windows-subsystem-for-linux-wsl-2) 

     O Windows Subsystem for Linux (WSL) 2 permite você executar qualquer binário compilado para Linux diretamente no Windows. Eles traz melhorias significativas se comparado ao WSL como uma melhor performance de leitura e escrita em disco e acompanha até um kernel Linux! Vamos conhecer o WSL 2, como ele funciona e o que podemos esperar dele.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/02163749/WSL-DOCKER-1-400x280.png)  [ DevOps ](https://www.treinaweb.com.br/blog/categoria/devops) 

     7 anos atrás

    ##  [ Docker Desktop no Windows rodando com WSL 2 ](https://www.treinaweb.com.br/blog/docker-desktop-no-windows-rodando-com-wsl-2) 

     Com o lançamento do WSL 2, agora é possível executar o Docker sem precisar de uma máquina virtual tradicional. Com isso foi lançado em preview um novo backend para o Docker Desktop integrado com o WSL 2, que promete um grande salto em performance. Será que esse salto de performance é realmente significativo? Vamos descobrir nesse artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/03181535/WINDOWS-PHP-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Criando um ambiente de desenvolvimento PHP com WSL ](https://www.treinaweb.com.br/blog/criando-um-ambiente-de-desenvolvimento-php-com-wsl) 

     Nesse artigo vamos criar um ambiente de desenvolvimento PHP completo, com MySQL e Nginx dentro do WSL.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/02163514/vscode-remote-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ Desenvolvendo seus projetos com o VS Code Remote Development ](https://www.treinaweb.com.br/blog/desenvolvendo-seus-projetos-com-o-vs-code-remote-development) 

     Preparar nosso ambiente local de desenvolvimento pode ser uma tarefa bastante demorada. Pode levar horas, ou até dias para configurar todo o ambiente. Uma alternativa é utilizar um ambiente remoto para o desenvolvimento, porém sua experiência pode não ser a mesma que ao trabalhar em ambiente local. Isso tudo pode mudar com o VS Code Remote Development. Vamos entender nesse artigo como ele funciona.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/18161333/WINDOWS-TERMINAL-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ O Windows Terminal ](https://www.treinaweb.com.br/blog/o-windows-terminal) 

     O Windows Terminal é um novo terminal open source que promete melhorar a experiência com a interface de linha de comandos no Windows 10. Já disponível como preview no Microsoft Store, vamos conhecer as suas principais funcionalidades.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/06/27155958/nvm-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     8 anos atrás

    ##  [ Instalando e gerenciando várias versões do Node.js com NVM ](https://www.treinaweb.com.br/blog/instalando-e-gerenciando-varias-versoes-do-node-js-com-nvm) 

     Aprenda a instalar e gerenciar várias versões do Node.js em sua máquina.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/instalacao-do-node-js-windows-mac-e-linux-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     6 anos atrás

    ##  [ Instalação do Node.js - Windows, Mac e Linux ](https://www.treinaweb.com.br/blog/instalacao-do-node-js-windows-mac-e-linux) 

     Veja como é simples baixar e instalar o Node.js em sistemas Windows, Mac e Linux via instaladores e gerenciadores de pacote.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/configurando-ambiente-de-desenvolvimento-python-no-windows-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     6 anos atrás

    ##  [ Configurando ambiente de desenvolvimento Django no Windows ](https://www.treinaweb.com.br/blog/configurando-ambiente-de-desenvolvimento-django-no-windows) 

     Veja neste artigo como configurar seu ambiente de desenvolvimento Windows para desenvolvimento rest com Django.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/02/15130938/KIVY-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     8 anos atrás

    ##  [ O que é Kivy? ](https://www.treinaweb.com.br/blog/o-que-e-kivy) 

     Neste artigo veremos o que é Kivy e quais suas características.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/08/NEST-JS-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     5 anos atrás

    ##  [ O que é NestJS? ](https://www.treinaweb.com.br/blog/o-que-e-nestjs) 

     Vamos ver neste artigo uma breve descrição sobre o que é o NestJS e como criar uma aplicação base em minutos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/instalacao-do-vs-code-no-windows-linux-e-macos-400x280.png)  [ Ferramentas ](https://www.treinaweb.com.br/blog/categoria/ferramentas) 

     6 anos atrás

    ##  [ VS Code - O que é e por que você deve usar? ](https://www.treinaweb.com.br/blog/vs-code-o-que-e-e-por-que-voce-deve-usar) 

     O VS Code é um dos editores de código mais utilizados no mundo. Conheça melhor essa ferramenta e entenda o motivo de sua popularidade.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/o_que_e_o_django_rest_framework-400x280.png)  [ Django ](https://www.treinaweb.com.br/blog/categoria/django) 

     6 anos atrás

    ##  [ O que é o Django REST Framework? ](https://www.treinaweb.com.br/blog/o-que-e-o-django-rest-framework) 

     Veja neste artigo o que é o Django REST Framework.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **09h 19min 13s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
