Windows10のUbuntuにbashをインストールしました-インサイダープレビュー版。ただし、Windowsターミナルは、Ubuntuのターミナルに慣れている場合、使用するのが面倒です。他のエディターで開発を行い、Ubuntu-bashからコードを実行できるように、WindowsからUbuntuファイルシステムにアクセスする方法があるかどうか疑問に思っていました。
Windowsコマンドプロンプトを開くことができるターミナルプログラムはすべてbashを実行できるはずです(bash.exeはWindows Linuxサブシステムを起動します)ので、command.exeで立ち往生する必要はありません。
Conemu(@anotherfredが言及)またはCmderはファンのお気に入りの一部です。必要に応じて、Powershellを使用することもできます。
WindowsファイルにはWSLの/ mnt/c(および、d:ドライブなどがある場合は/ mnt/d)からアクセスできます。これは、コマンドラインを実行しながら、お気に入りのWindowsエディターを使用してファイルにアクセスする場合に比較的うまく機能します。
あなたはあなたの WSLファイルシステム をWindowsから見ることができます:
%LocalAppData%\lxss\rootfs
私はWindows内からそれを台無しにしないだろうが。
/ rootは
%LocalAppData%\lxss\rootfs\root
そして
/ homeは
%LocalAppData%\lxss\rootfs\home
これら2つは別々にマウントされているため、WSLを削除しても削除されません。
2017年末以降にリリースされたWindows10バージョン(Fall CreatorsUpdateおよびWindowsInsider Builds 17063+を含む)は、同じマシン上で実行される複数のLinuxディストリビューションをサポートします。その結果、WSLは各ディストリビューションのルートファイルシステムを異なる場所に保存する必要があります。
ルートファイルシステムは見つかりません
%LocalAppData%\lxss\rootfs
Windowsストアからインストールされた各Linuxディストリビューションは、ルートファイルシステムを次の異なるフォルダーに格納します。
%LocalAppData%\Packages\<distro folder>\LocalState
<distro folder>
は、ディストリビューションごとに異なります。たとえば、テストコンピュータの<distro folder>
は次のとおりです。
CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc
CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
TheDebianProject.DebianGNULinux_76v4gfsz19hv4
KaliLinux.54290C8133FEE_ey8k8hqnwqnmg
rootまたはhomeファイルシステムにアクセスする場合は、適切なフォルダ。たとえば、KaliLinuxのフォルダーに移動するには、次の場所に移動する必要があります。
%LocalAppData%\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\rootfs # root
%LocalAppData%\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\home # home
LxRunOffline は、WSLLinuxディストリビューションを管理するためのツールです。これを使用して、WSLディストリビューションをコンピューターの任意のフォルダーにインストールまたは移動できます。
lxRunOffline get-dir
を使用して、インストールフォルダーのパスを取得できます。 rootはrootfs
サブフォルダーにあります。
C:\> lxrunoffline list
Ubuntu-18.04
ubuntu-copy
C:\> lxrunoffline get-dir -n Ubuntu-18.04
C:\Users\nnn\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
C:\> lxrunoffline get-dir -n ubuntu-copy
d:\wsl\installed\ubuntu-copy
興味があれば、プログラムを使ってパスを取得できます。インストールされているディストリビューションとその構成に関する情報は、Windowsレジストリに保存されています。
regedit
と次のパスを使用して、情報を確認できます。
HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss
インストールしたさまざまなディストリビューションのすべての構成があります。たとえば、Powershellを使用して、既定の配布のベースパスの情報を取得できます。
$WSLREGKEY="HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss"
$WSLDEFID=(Get-ItemProperty "$WSLREGKEY").DefaultDistribution
$DISTROPATH=(Get-ItemProperty "$WSLREGKEY\$WSLDEFID").BasePath
echo "the filesystems are located at $DISTROPATH"
インストールされているすべてのディストリビューションのファイルシステムを確認するには、Powershellを使用することもできます。
(Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName,BasePath
逆です。bashは/mnt/c
にあるWindowsファイルシステムにアクセスしています。ファイルはWindowsファイルシステムにあり(あるはずです)、通常どおり編集できます。
単にターミナルインターフェイスが気に入らない場合は、conemu( https://conemu.github.io/ )のようなものを試してください。これは、コマンドシェル、PowerShell、または任意のシェルに便利で美しいインターフェイスです。