WSLからダウンロードしたファイルにアクセスする

WSLからダウンロードしたファイルにアクセスする

問題

最近ダウンロードしたファイルにアクセスするには、次の手順が必要です。

  • Windowsのダウンロード場所に移動します
  • mvファイルをWSLのホームロケーションに戻す

私が試したこと

  • Chrome でダウンロード場所を変更する: Windows スタイルのファイル パスが表示されるため、直感的ではありませんC:\。Linux ベースのファイル パスを指定する方法が不明です。home/geoff

質問

最近ダウンロードしたファイルにもっと簡単にアクセスする方法はありますか?

答え1

今日、再び質問された古い質問なので、別の新しい回答を追加します。

他の回答にはそれぞれ、質問に対して最適ではないいくつかの問題があります。

最近ダウンロードしたファイル(WSL から)にアクセスするより簡単な方法はありますか?

私見ですが、これを行う最も簡単な方法は、WSL で Windows ダウンロード フォルダーへのシンボリック リンクを作成することです。

ln -s /mnt/c/Users/<windows_username>/Downloads ~/downloads

すべての Windows ダウンロードは、~/downloadsWSL のフォルダーから直接アクセスできるようになります。

注: 他の (現在の) 回答の使用を推奨しない理由:

  • ファイルの移動事後的に実行するのは悪い選択肢ではありませんが、手順が 1 つ増えるだけです。また、記述されているとおり、これは最後にダウンロードしたファイルにのみ機能します。複数のファイルをダウンロードする場合は、ダウンロードごとに手動で実行する必要があります。

  • 先日のアップヴォートについてお詫び申し上げます。@harrymc の回答。私は間違いなく十分に読んでいませんでした。このパスは(a)WSL1でのみ利用可能ですが、(b)おそらく使用しないでください。ファイルシステムの破損を引き起こす

  • デフォルトのダウンロード場所を変更するブラウザでVivaldiを使うのは確かに機能するし、Vivaldiを使うことのセンスの良さは称賛するが、ほとんどのユーザーはおそらくダウンロードしたくないだろう。全てWSL にファイルをアップロードできるのは、ごく一部だけです。

    また、Vivaldi からフォルダーに直接ダウンロードすると (個人的な経験から) 興味深い副作用があることにも注意してください。Vivaldi (およびおそらく他のブラウザーも、確信はありません) が起動すると、最近ダウンロードしたファイルの一覧がスキャンされ、実際にそれらに対して何らかの「読み取り」操作が実行されるようです。パスに直接ダウンロードされたファイルがある場合\\wsl.localhost\<distro>、そのファイルにアクセスすると、WSL ディストリビューション自体が起動します。

    私がこれに気づいた唯一の理由は、(現在は非推奨の)debugShell=trueWS​​L オプションを に設定していたことです.wslconfig。これにより、WSL が起動するたびにデバッグ ウィンドウが開きます。コンピューターを再起動した直後に WSL が起動する理由を突き止めるのに数日かかりました ;-)。

答え2

最近ダウンロードしたファイルにもっと簡単にアクセスする方法はありますか?

解決

  • WSL翻訳されたWindowsのダウンロードパスを見つけることができます
  • 最近のダウンロードを現在の場所に移動する

この関数を.zshrcまたは.bashrcに追加します

getRecentDownload() {
    windowsDownloadsLocation="/mnt/c/Users/<your_username>/Downloads"
    fileNameRecentDownload=$(ls -Art $windowsDownloadsLocation | tail -1)
    mv "$windowsDownloadsLocation/$fileNameRecentDownload" .
}

使い方

  • source初回使用時のみ必要
geoff@DESKTOP-DSQFUUU:~$ source ~/.bashrc
geoff@DESKTOP-DSQFUUU:~$ getRecentDownload

答え3

上記のようにシェル関数を作成するというアイデアは気に入っていますが、デフォルトのダウンロード フォルダーを次のように設定することもできます。

\\wsl.localhost\DISTRIBUTION\home\USERNAME\Downloads

少なくとも、Vivaldi(Chrome のようなブラウザ)ではそれが機能します。

答え4

警告: Windows ユーティリティは WSL フォルダーにファイルを簡単にダウンロードできますが、 の下にあるこれらのフォルダーに直接ダウンロードしないでください%LOCALAPPDATA%\Packages

マイクロソフトの記事 Windowsアプリやツールを使用してLinuxファイルを変更しないでください WSL Linux は、ファイルに関する Windows の情報ではなく、独自のメタデータを使用することを説明しています。つまり、Windows で作成されたファイルは、Linux では空で権限がゼロとして表示される可能性が高くなります。

MicrosoftはWindowsとWSL Linuxの相互互換性に取り組んできましたが、2023年になっても完全な互換性が実現するまでの道のりはまだ遠いようです。

関連情報