Recomendado, 2024

Escolha Do Editor

Como o Linux Bash Shell funciona no Windows 10

Com o lançamento da Atualização de Aniversário para o Windows 10, a Microsoft anunciou o Windows subsistema para Linux (WSL) - uma maneira de executar o Bash nativo no Windows 10, que suporta a 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, top e chmod . Já que você está rodando o Ubuntu genuíno, rodando lsb-release -a, você terá a seguinte saída:

Você pode usar o apt-get e os amigos para instalar utilitários como o vim, git, screen, tmux ou até mesmo jogar um jogo de nethack:

Tenha em mente, no entanto, que este sistema está em versão beta e não se destina a cargas de trabalho do servidor. É apenas uma ferramenta para desenvolvedores (e entusiastas) testarem seus aplicativos centrados em Linux no Windows sem modificações. Essa também não é uma ferramenta destinada a executar aplicativos ou ambientes GUI do Linux, como o Gnome ou o KDE, embora isso também seja possível com determinados hacks. Tendo esclarecido 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, “o WSL é uma coleção de componentes que permite que os binários ELF64 nativos do Linux sejam executados no Windows”. Ele faz isso implementando uma interface de kernel do Linux virtualizada na parte superior do kernel do Windows NT. Ou seja, ele não usa nenhum código do kernel atual do Linux - sempre que um aplicativo faz uma chamada de sistema específica do Linux (syscall), o WSL o traduz para o syscall equivalente do Windows, que 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 os gostos das máquinas virtuais e do 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, o WSL usa menos recursos . Ele também permite que você trabalhe com seus arquivos como faria no Linux, ao mesmo tempo em que oferece acesso completo ao sistema de arquivos subjacente do Windows sem depender de pastas compartilhadas ou compartilhamentos de rede.

Cygwin

Outro método popular de executar ferramentas populares do Linux / Unix no Windows é o Cygwin. A maior diferença entre as duas abordagens é que o 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 a uma distribuição Linux no Windows.

Por outro lado, as ferramentas WSL são binários compilados Linux ELF-64 nativos em execução no Windows. Por exemplo, a execução de um comando apt-get install emacs no WSL baixará e instalará os mesmos arquivos que em uma instalação do Ubuntu 14.04, a partir dos repositórios oficiais do Ubuntu.

Usuários, permissões e sistemas de arquivos no WSL

Hierarquia do sistema de arquivos

O WSL é instalado no %LocalAppData%\lxss\rootfs do usuário atual. Isso é conhecido como o Ambiente WSL e atua como o diretório “ / ” (raiz) do Linux. Por exemplo, se seu nome de usuário no Windows não 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 o 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 em /mnt. Por exemplo, C:\ é montado em /mnt/c, D:\ é montado em /mnt/d, etc.

Usuários e Permissões

Quando você 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 é tratado como uma entidade separada em geral. Você pode até criar vários usuários do Linux, controlados por um único usuário do Windows.

É possível obter privilégios de root usando o comando sudo . Tenha em mente que ser root no WSL afeta apenas os direitos do usuário dentro do ambiente Linux e do sistema de arquivos - eles não afetam os privilégios do Windows concedidos. Por exemplo, uma sessão WSL com privilégios de administrador do Windows pode cd /mnt/c/Users/Administrator enquanto uma sessão Bash sem privilégios de administrador veria Permission Denied. Digitar o sudo cd /mnt/c/Users/Administrator não concederá acesso ao diretório do Administrador, pois as permissões são restritas pelo Windows.

Recursos do sistema de arquivos específicos do Linux

O Linux é um sistema que diferencia maiúsculas de minúsculas . Isso significa que photo.png e Photo.png são tratados como dois arquivos diferentes. Embora o Windows não seja sensível a maiúsculas e minúsculas por padrão, ele ainda reconhece maiúsculas e minúsculas. O que significa que enquanto photo.png e Photo.png não são tratados como dois arquivos distintos, certamente está ciente da diferença no caso.

O WSL manipula a diferenciação de maiúsculas e minúsculas como no Linux. É até possível criar dois arquivos cujo nome difere apenas por maiúsculas e minúsculas fora do ambiente WSL. Tenha em mente, no entanto, 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.

Da mesma forma, os 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 poderão ser resolvidos por outros aplicativos do Windows.

O Linux também suporta quase todos os caracteres especiais dentro de nomes de arquivos, enquanto o Windows é mais restritivo. A WSL, no entanto, permite usar esses caracteres especiais, desde que eles estejam restritos ao ambiente do sistema Linux.

Pronto para executar a linha de comando do Linux no Windows?

Então, é assim que o Ubuntu Bash ou o Linux Bash Shell, também conhecido como Windows Subsystem para Linux, funciona no Windows 10 (com a atualização Anniversary). Junto com o seu trabalho, também aprendemos como é diferente e melhor do que os métodos tradicionais de executar comandos específicos do Linux no Windows. Então, se você sempre quis usar os comandos do Linux, comece e se tiver dúvidas, comentários ou dicas, avise-nos na seção de comentários.

Top