Onde está a unidade C na WSL? [duplicado]

36

Sempre que eu tento fazer login no bash usando o Windows Subsystem para Linux, tento cd em C:\Users\ , mas tudo que consigo é um diretório não encontrado.

Onde está a unidade C para o subsistema Windows Linux? Está isolado?

    
por Jeeter 02.08.2016 / 06:24

3 respostas

37

Extraído de este site :

The WSL has access to your PC’s file system through /mnt/<drive letter>/ directories (or mount points). For example, your C:\ and D:\ root directories in Windows would be available through /mnt/c/ and /mnt/d/ respectively in the WSL

Apenas cd na pasta /mnt e você ficará bem

    
por 02.08.2016 / 06:24
11

/mnt/c ou /mnt/<drive letter>/

you’ll find your local drives mounted under the /mnt folder.
For example, your C: drive is mounted under /mnt/c [msdn]

O sistema de arquivos Linux é uma árvore única (não há C:\ , D:\ ...).
A raiz desta árvore é / (nota / não \ ).

Todas as unidades , partições, pen drives, discos removíveis, CD, DVD ... estarão disponíveis quando montadas em um ponto desta árvore. Então você os verá como diretórios normais.

O local habitual em que as partições adicionais são montadas é o diretório /mnt .
Isso funciona sob o windows-linux-subsustem também.

Observação: no Linux, você usa essa barra ( / ) em vez da barra invertida ( \ ) para separar os diretórios em um caminho e geralmente um sistema de arquivos Linux diferencia maiúsculas de minúsculas ( mydir e Mydir são duas coisas diferentes).

    
por 02.08.2016 / 15:42
1

Desde os dias do Windows NT, tem havido outra maneira de acessar as unidades . Em vez de usar uma letra, você pode ligar uma unidade a uma pasta no sistema de arquivos. A Microsoft chama essas pastas montadas . No que diz respeito ao usuário final, eles funcionam exatamente como as pastas normais: eles residem em outra unidade, mas na maioria das vezes você não percebe. Isso pode ser útil em vários cenários, mas é crítico se você tiver tantas unidades montadas que fique sem letras de unidade, mas precise adicionar ainda mais: as pastas montadas são como você pode fazer isso.

No Linux (e no Unix, que o inspirou), todas as unidades funcionam dessa forma . Há apenas um sistema de arquivos, que começa no caminho vazio / (e normalmente é ligado a uma unidade) e, em seguida, você monta suas outras unidades (ou, às vezes, outras coisas) usando diretórios dentro de / . Estes são chamados de pontos de montagem na terminologia do Unix (que o Linux herdou). Por exemplo, os diretórios iniciais do usuário geralmente estão em /home/ nome de usuário , mas é comum tornar /home um ponto de montagem para outra unidade completamente. Dessa forma, se a unidade de inicialização falhar por algum motivo, seus diretórios pessoais não serão afetados. Os usuários simplesmente vão para /home/ nome de usuário como sempre fazem; a menos que sejam responsáveis por manter a máquina, eles não precisam saber ou se importar com o que direciona seus diretórios pessoais.

O WSL tenta imitar o Linux, então ele também faz isso. Para preencher a lacuna, ele monta suas unidades do Windows na pasta '/ mnt /', usando a letra da unidade como o nome do diretório . Sua unidade C:, por exemplo, também pode ser encontrada em /mnt/c , enquanto sua unidade D: está em /mnt/d .

    
por 02.08.2016 / 18:55