Com o lançamento da Atualização de Aniversário do Windows 10, a Microsoft anunciou o Subsistema Windows para Linux (WSL) - uma maneira de executar o Bash nativo real no Windows 10, que oferece suporte à execução de binários nativos do Linux. Ele faz isso executando uma imagem do Ubuntu Linux em modo de usuário no topo do Windows.
Isso significa que você pode executar ferramentas de linha de comando do Linux, como ls
, grep
, principal
e chmod
. Uma vez que você está executando o Ubuntu genuíno por baixo, executando lsb-release -a
fornecerá a seguinte saída:
Você pode usar apt-get
e amigos para instalar utilitários como vim
, idiota
, tela
, tmux
, ou até mesmo jogar um jogo de nethack:
Lembre-se, no entanto, de que este sistema está em beta e não destinado a cargas de trabalho de servidor. É apenas uma ferramenta para desenvolvedores (e entusiastas) testarem seus aplicativos centrados em Linux no Windows sem modificações. Esta também não é uma ferramenta destinada a executar aplicativos ou ambientes Linux GUI como Gnome ou KDE, embora isso também seja possível com certos hacks. Depois de limpar isso, vamos dar uma olhada em como o shell do Linux funciona no Windows 10.
Subsistema Windows para Linux (WSL)
De acordo com a documentação oficial, “WSL é uma coleção de componentes que permite que binários ELF64 nativos do Linux sejam executados no Windows”. Ele faz isso implementando uma interface de kernel Linux virtualizada sobre o kernel do Windows NT. Ou seja, ele não usa nenhum código do kernel real do Linux - sempre que um aplicativo faz uma chamada de sistema específica do Linux (syscall), WSL a traduz para o syscall do Windows equivalente, que então faz todo o trabalho pesado.
Diferenças de máquinas virtuais e Cygwin
Agora vamos dar uma olhada em como o Linux Bash Shell no Windows 10 é diferente em comparação com máquinas virtuais como o Cygwin.
Máquinas virtuais
Você pode estar pensando: “Bem, por que usar isso? Por que não apenas usar uma VM Linux no Windows? ”
Comparado a uma máquina virtual, WSL usa menos recursos. Ele também permite que você trabalhe com seus arquivos como faria no Linux, enquanto fornece acesso completo ao sistema de arquivos Windows subjacente sem ter que depender de pastas compartilhadas ou compartilhamentos de rede.
Cygwin
Outro método popular de execução de ferramentas populares do tipo Linux / Unix no Windows é o Cygwin. A maior diferença entre as duas abordagens é que Cygwin não é uma maneira de executar binários nativos do Linux no Windows. Ele fornece apenas um conjunto de ferramentas GNU e Open Source que fornecem funcionalidade semelhante para uma distribuição Linux no Windows.
Por outro lado, As ferramentas WSL são nativas do Linux Binários compilados ELF-64 em execução no Windows. Por exemplo, executando um apt-get install emacs
comando no WSL irá baixar e instalar os mesmos arquivos de uma instalação do Ubuntu 14.04, a partir dos repositórios oficiais do Ubuntu.
Usuários, permissões e sistemas de arquivos em WSL
Hierarquia do sistema de arquivos
WSL é instalado sob o usuário atual % LocalAppData% \ lxss \ rootfs
diretório. Isso é conhecido como Ambiente WSL e atua como o Linux “/
”(Raiz) diretório. Por exemplo, se o seu nome de usuário no Windows for beebom
, O diretório raiz do Linux estará localizado em C: \ Users \ beebom \ AppData \ Local \ lxss \ rootfs.
Isso significa que cada usuário do Windows pode ter seu próprio ambiente WSL e pode fazer alterações como apt-get install
pacotes de software, sem afetar outros usuários do Windows.
É possível acessar o sistema de arquivos do Windows subjacente no WSL. Todas as unidades são montadas sob / mnt.
Por exemplo, C: \
é montado sob / mnt / c
, D: \
é montado sob / mnt / d
, etc.
Usuários e permissões
Ao instalar o WSL pela primeira vez, ele solicitará que você crie um novo usuário Linux padrão. Esse usuário não precisa ter o mesmo nome do usuário atual do Windows e, em geral, é tratado como uma entidade separada. Você pode até criar vários usuários Linux, controlados por um único usuário do Windows.
É possível obter raiz
privilégios usando o sudo
comando. Tenha em mente que ser raiz
no WSL impacta apenas os direitos do usuário no ambiente Linux e no sistema de arquivos - eles não têm impacto nos privilégios do Windows concedidos. Por exemplo, uma sessão WSL com privilégios de administrador do Windows pode cd / mnt / c / Usuários / Administrador
enquanto uma sessão Bash sem privilégios de administrador veria Permissão negada. Digitando sudo cd / mnt / c / Usuários / Administrador
não concederá acesso ao diretório do Administrador, pois as permissões são restritas pelo Windows.
Recursos específicos do sistema de arquivos do Linux
Linux é um maiúsculas e Minúsculas sistema. Isso significa que photo.png
e Photo.png
são tratados como dois arquivos diferentes. Embora o Windows não seja o caso confidencial por padrão, ainda é o caso consciente. O que significa que enquanto photo.png
e Photo.png
não são tratados como dois arquivos distintos, certamente é consciente da diferença no caso.
O WSL trata a diferenciação de maiúsculas e minúsculas exatamente como no Linux. É ainda possível criar dois arquivos cujo nome difere apenas pelo caso fora do ambiente WSL. Lembre-se, no entanto, de que muitos aplicativos do Windows não podem lidar com tais situações e podem não ser capazes de abrir um ou ambos os arquivos.
de forma similar, links simbólicos são suportados, desde que você esteja executando um sistema de arquivos NTFS. No entanto, os links simbólicos funcionarão apenas dentro do WSL e não podem ser resolvidos por outros aplicativos do Windows.
Linux também suporta quase todos caracteres especiais dentro dos nomes dos arquivos, enquanto o Windows é mais restritivo. WSL, no entanto, permite o uso de tais caracteres especiais, desde que sejam restritos ao ambiente do sistema Linux.
CONSULTE TAMBÉM: Como sincronizar sua conta do OneDrive em um computador Linux
Pronto para executar a linha de comando do Linux no Windows?
Então, é assim que Ubuntu Bash ou Linux Bash Shell, também conhecido como Windows Subsystem for Linux funciona no Windows 10 (com a atualização Anniversary). Junto com seu funcionamento, também aprendemos como ele é diferente e melhor do que os métodos tradicionais de execução de comandos específicos do Linux no Windows. Portanto, se você sempre quis usar comandos do Linux, comece e se tiver dúvidas, comentários ou dicas, avise-nos na seção de comentários.