web-dev-qa-db-fra.com

Comment accéder aux fichiers linux/Ubuntu à partir de Windows 10 WSL?

Cette question répond comment accéder aux fichiers Windows depuis Ubuntu Bash, mais comment puis-je faire le contraire?

Plus précisément, je dois accéder à ma clé SSH à partir de Windows, situé à /home/mark/.ssh/id_rsa sous Bash.

56
mpen

La ligne de commande PM pour Windows ici:

Jusqu'à présent, l'accès aux fichiers Linux à partir de Windows était non pris en charge et vivement recommandé. Pour comprendre pourquoi, veuillez lire cet article: https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

Cependant, dans la version Windows 10 Insider de la semaine dernière, nous (enfin!) Avons exposé à Windows les systèmes de fichiers pour vos distributions Linux! Pour en savoir plus, veuillez lire cet article: https://blogs.msdn.Microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/

 enter image description here

Nous avons hâte de savoir comment vous allez avec cette fonctionnalité. Si vous rencontrez des problèmes, veuillez signaler les problèmes sur le référentiel WSL GitHub ici: https://github.com/Microsoft/wsl .

10
Richard Turner

L'emplacement a été déplacé dans la dernière version vers:

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

Voir ce numéro de GitHub dans Microsoft/WSL # 2578

Comme mentionné dans le numéro ci-dessus et dans les commentaires ci-dessous, ne jouez pas avec ces fichiers sous Windows.

https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

48
drew7721

Oui, mais il n'est pas recommandé de manipuler ce dossier à partir de l'explorateur Windows. Si vous voulez copier, déplacer, éditer ou effacer des fichiers du dossier lxss, vous devez le faire dans bash avec des outils en ligne de commande. Seuls les fichiers qui se trouvent sur/mnt/* sont vraiment manipulables à partir de l’explorateur Windows.

9
onoma

Je l'ai trouvé en cherchant dans tout mon lecteur C. Les fichiers sont ici:

C:\Users\<username>\AppData\Local\lxss

par exemple, ma clé SSH est ici:

C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa
8
mpen

Comme il a été mentionné ci-dessus par [onoma], les fichiers des répertoires WSL ont des attributs qui seraient supprimés s'ils étaient manipulés à l'aide de l'explorateur ou d'un éditeur de texte exécuté sous Windows. La solution pourrait être de démarrer ssh-server dans WSL (une réinstallation peut être nécessaire) en écoutant localhost, puis en montant le système de fichiers WSL en tant que lecteur utilisant, par exemple, win-sshfs, ou simplement utiliser le client Bitvise SSH pour se connecter via ssh. et manipuler des fichiers par la fenêtre de sftp. Le sujet a été partiellement discuté ici: Comment puis-je SSH en «Bash sur Ubuntu sur Windows 10»?

4
Shamar

subst L: $env:LOCALAPPDATA\lxss (pour Powershell)

ou subst L: %LocalAppData%\lxss (de cmd)

Ceci place votre _/système_fichiers_sous-système_système Linux sur votre lecteur L: .

Vous pouvez également mapper uniquement votre répertoire personnel ou simplement insérer %LocalAppData%\lxss dans une fenêtre de l'Explorateur. N'essayez pas de naviguer sur L:\mnt\c, sinon votre cerveau pourrait exploser.

3
Cheezmeister

Dans powershell, utilisez

cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs

puis

ls

renvoie la même liste de dossiers que

ls / 

dans bash sur WSL.

2
masterxilo

J'ai enfin créé un moyen d'ouvrir Explorer (et vscode) avec le contexte de dossier correct dans le WSL: https://github.com/andymule/wslwin

Par exemple, après avoir installé ceci, sous linux (WSL), il vous suffirait de cd /home/mark/.ssh/ et de taper Explorer pour ouvrir Windows Explorer à cet emplacement, quel qu’il soit.

EDIT: cette fonctionnalité est officiellement prise en charge dans WSL et vous ne devriez plus utiliser mes scripts.

2
andymule

Im sur la mise à jour de créateurs Windows 10. J'utilise SFTP NetDrive pour monter le système de fichiers WSL dans Windows en tant que lecteur réseau.

Certains ports Windows sshFS permettent d'atteindre le même objectif.

Vous aurez besoin de démarrer le démon ssh via "Sudo service ssh start"

2
mliang2