kledgeb UbuntuやLinuxの最新情報を紹介

WSL その70 - シンボリックリンクでBashからWindowsのファイルに簡単アクセス

シンボリックリンクでBashからWindowsのファイルに簡単アクセス

公式サイトにて、シンボリックリンクを利用しBashからWindowsのファイルに簡単アクセスする方法が紹介されています。


  • Frequently Asked Questions - How do I use a Windows file with a Linux app?

Windows環境とUbuntu環境の相互運用

以前紹介したように、Windows環境とWSL上に構築されたUbuntu環境の相互運用性が改善され、Bashから直接Windowsアプリを起動したり、BashからWindows上のファイルを編集できるようになっています。



しかしファイルの相互運用において重大な注意事項があります。
WindowsアプリからUbuntu環境内のファイルを直接いじってはなりません。

  • WindowsアプリからUbuntu環境内のファイルを決していじってはならない

WindowsアプリからUbuntu環境内(VolFS)のファイルを編集すると、そのファイルは壊れます。
従ってUbuntu及びWindows双方のアプリから共通して編集したいファイルは、Windows環境上(DrvFS)に配置することになります。

パスが深い、そして遠い

Bashから見るとWindowsのドライブ(c:など)は、「/mnt」にマウントされます。
例えばBashから「c:」ドライブにアクセスするには、「/mnt/c」にアクセスすることになります。


そして「c:」ドライブ上の「C:\Program Files」にアクセスするには「/mnt/c/Program Files」にアクセスすることになります。


しかしWindows環境内のファイルのパスは長く、入力が面倒です。
しかもパスにスペースが含まれていると、エスケープするか「"」や「'」でパスをくくる必要が出てきます。

Bashで作業しているなら、できればUbuntu環境のユーザーのホームフォルダー「~/」の近くから、Windows環境内のファイルにアクセスしたくなるでしょう。

一部のソフトウェアは/mnt以下のファイルにアクセスできない

ソフトウェアによっては、「/mnt」以下のファイルにアクセスできない、あるいは都合が悪いケースもあります。

そこでシンボリックリンクの出番

Windows環境内のフォルダーを指すシンボリックリンクを作成すれば、Bashからユーザーが指定したパスを経由してWindows環境内のファイルにアクセスすることができます。

シンボリックリンクの作成作業は、Bashから行います。
従ってこのシンボリックリンクは、Ubuntu固有のシンボリックリンクになります。

シンボリックリンクを作成するには

ここでは例として「C:¥temp(/mnt/c/temp)」フォルダーを指すシンボリックリンクを、Ubuntu環境内のユーザーのホームフォルダー「~/」内に作成します。
「~/temp」パスで「C:¥temp(/mnt/c/temp)」にアクセスできるようになります。

1.シンボリックリンクの作成

以下のコマンドを実行し、シンボリックリンクを作成します。

ln -s /mnt/c/temp ~/temp


以上で完了です。
簡単ですね。

注意

シンボリックリンク作成前にシンボリックリンクの作成先に同名のファイルやフォルダーが存在していないことを確認してください。
上記の例では、「~/temp」が存在していないことを確認してからシンボリックリンクを作成してください。

2.シンボリックリンクの確認

作成されたシンボリックリンクを確認します。
以下のように「~/temp」は「/mnt/c/temp」を指していることが分かります。


3.カレントディレクトリーの移動

「cd temp」でカレントディレクトリーを移動し、「~/temp」フォルダー内のファイル一覧を表示すると以下のようになります。


「/mnt/c/temp」フォルダー内のファイル構成と同じです。

4.ファイルの編集

もちろん「sample.txt」ファイルを「nano」や「vim」で編集しても良いですし、以下のようにBashからWindowsアプリを起動して編集しても良いです。



WSL
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu CPUfreq その1 - CPUfreqについて・ CPUfreqドライバーについて・ CPUfreqガバナーについて
    CPUfreq   CPUfreqは、CPUのクロック数を動的に変更する機能です。   CPUfreqを利用することで、OSの負荷に応じて動的にCPUのクロック数を調整することができます。  これにより、省電力効果を得ることができます。   CPUfreqを利用する場合...
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 24.04 その93 - Linux kernel 7.0 が利用可能に・Linux kernel 7.0 にアップグレードするには
    Linux kernel 7.0 が利用可能に 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Linux kernel 7.0 へアップグレードできるようになりました。
  • Ubuntu 26.04 その59 - amdgpu ドライバーでパフォーマンス低下のお知らせ
    amdgpu ドライバーでパフォーマンス低下のお知らせ 次期 Linux kernel のアップデートで、amdgpu ドライバーのパフォーマンスが低下するお知らせが出ています。
  • Linux その407 - COSMIC DE 開発7ヶ月の歩み・COSMIC DE に搭載された新機能のまとめ
    COSMIC DE 開発7ヶ月の歩み COSMIC デスクトップ環境の開発者が、ここ7ヶ月の開発の歩みと、今までに COSMIC デスクトップ環境に搭載された新機能を紹介しています。
  • Linux その404 - COSMIC Epoch 1.3.0 リリース・ウィンドウのすりガラス効果に対応
    COSMIC Epoch 1.3.0 リリース 2026年7月15日、COSMIC Epoch 1.3.0 がリリースされました。
  • Ubuntu 26.04 その64 - AMD 環境で PC をシャットダウンできない現象
    AMD 環境で PC をシャットダウンできない現象 AMD 環境で PC をシャットダウンできない現象が報告されています。
  • Ubuntu 26.10 その18 - GRUB の機能削減とセキュリティー強化
    GRUB の機能削減とセキュリティー強化 GRUB の機能削減とセキュリティー強化が予定されています。
  • Ubuntu 24.04 その94 - Linux kernel 7.0 で nvidia-535 NVIDIA GPU ドライバーが非サポートに
    nvidia-535 NVIDIA GPU ドライバーが非サポートに Linux kernel 7.0 で nvidia-535 NVIDIA GPU ドライバーが非サポートになりました。
  • Ubuntu 26.04 その65 - ソフトウェアのアップデート通知が表示されない現象
    ソフトウェアのアップデート通知が表示されない現象 ソフトウェアのアップデート通知が表示されなくなる現象が報告されています。
記事のピックアップ
オプション